{"name":"io.github.HelgDemidov/refigure","slug":"helgdemidov-refigure","title":null,"description":"Convert DOCX/XLSX to Markdown — native chart-data extraction, optional VLM for figures","url":"https://mcp.market/server/helgdemidov-refigure","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":24,"stars":0,"forks":0,"downloads_week":58,"last_push_at":"2026-10-28T04:25:51.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/HelgDemidov/refigure","website":null,"version":"0.3.5","remotes":[],"packages":[{"registryType":"pypi","identifier":"refigure","version":"0.3.5","transport":{"type":"stdio"}},{"registryType":"pypi","identifier":"refigure","version":"0.3.5","transport":{"type":"streamable-http","url":"http://{--mcp-http-host}:{--mcp-http-port}/mcp"},"packageArguments":[{"description":"Use Streamable HTTP transport instead of the stdio default","value":"http","type":"named","name":"--transport"},{"description":"Bearer-token file (one 'token = caller_id' pair per line) — refigure-mcp refuses to start over HTTP without one","isRequired":true,"format":"filepath","type":"named","name":"--mcp-auth-token-file"},{"description":"Bind host — loopback by default; a non-loopback value is accepted but logs a startup warning","default":"127.0.0.1","type":"named","name":"--mcp-http-host"},{"description":"Bind port","format":"number","default":"8000","type":"named","name":"--mcp-http-port"}]}],"tools":[{"name":"_register_convert_docx","description":"Registers convert_docx and returns True, or returns False without registering anything if [docx] isn't installed — build_server() needs to know which tools actually registered to make _register_prompts (below) capability-aware, not just silently skip a tool.","write_action":false,"price_micros":0,"input_schema":null},{"name":"convert_batch","description":"Convert multiple DOCX/XLSX files in one call. Each item needs exactly one of path/content_base64 (path is rejected outright over HTTP, same as convert_docx/convert_xlsx). use_vlm/vlm_verify/ vlm_judge_mode/vlm_model apply as ONE shared policy across every item, not per item. One item failing never aborts the batch — its entry reports status=\"error\" with a stable \"ClassName: message\" while every ot","write_action":false,"price_micros":0,"input_schema":null},{"name":"convert_docx","description":"Convert a DOCX file to Markdown — native OOXML chart data becomes mermaid diagrams, composite figures/groups become positioned zero-loss markers. Exactly one of path/content_base64 is required. use_vlm additionally interprets composite figures via a cloud VLM call (prose + mermaid), off by default. A result too large to inline returns resource_uri instead of markdown — read it via the refigure://c","write_action":false,"price_micros":0,"input_schema":null},{"name":"convert_xlsx","description":"Convert an XLSX file to Markdown — native chart data becomes mermaid diagrams. Exactly one of path/content_base64 is required. use_vlm has no effect on XLSX (no VLM path exists for it) — a warning is returned instead of a silent no-op. A result too large to inline returns resource_uri instead of markdown — read it via the refigure://conversion/{id} resource.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-11-01T13:28:30.484Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-01T13:28:30.343Z","components":{"code":{"score":25,"max":25,"notes":["25 source files scanned","25 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"refigure","version":"0.3.5","found":true,"weeklyDownloads":29,"license":"Apache-2.0","dependencyCount":16,"publishedAt":"2026-08-22T19:08:09.538232Z","repositoryUrl":"https://github.com/HelgDemidov/refigure"},{"registryType":"pypi","identifier":"refigure","version":"0.3.5","found":true,"weeklyDownloads":29,"license":"Apache-2.0","dependencyCount":16,"publishedAt":"2026-08-22T19:08:09.538232Z","repositoryUrl":"https://github.com/HelgDemidov/refigure"}],"repo":{"found":true,"owner":"HelgDemidov","repo":"refigure","archived":false,"pushedAt":"2026-10-28T04:25:51Z","stars":0,"forks":0,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/40667677?v=4","ownerCreatedAt":"2018-06-28T14:31:37Z","license":"Apache-2.0"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":58,"license":"Apache-2.0","lastPushAt":"2026-10-28T04:25:51.000Z","score":24}}}},"grade_history":[],"reviews":[]}