furlen-mcp
An MCP server for making charts. Give Claude, Cursor, or any Model Context Protocol client atable of numbers and it returns an animated chart video — and it recomputes every figure in thenarration against your rows before it will export anything.
Published to the official MCP registry as io.github.amitsha86/furlen-mcp. Backed byFurlen.
Why this one is different
Most chart tooling will draw whatever number you hand it, and an AI-assisted one will happilygenerate a number to draw. This server won't: the story it writes is checked claim-by-claim againstthe source rows server-side, and a claim that doesn't reconcile blocks the export rather thanshipping. You can watch that gate run at furlen.pro/proof.
That matters more through an agent than through a UI. Nobody is watching the intermediate output,so the check has to be the thing that refuses — not a human noticing.
Setup
- Create a Furlen API key at furlen.pro → Settings → API keys.
- Add the server to your MCP client config. Nothing to install first;
npxfetches it.
{
"mcpServers": {
"furlen": {
"command": "npx",
"args": ["-y", "furlen-mcp"],
"env": { "FURLEN_API_KEY": "sg_live_..." }
}
}
}
- Claude Desktop: add the block above to
claude_desktop_config.jsonand restart. - Cursor: add it to
.cursor/mcp.json. - Any other MCP client: run
npx -y furlen-mcpwithFURLEN_API_KEYset.
Tools
furlen_public_data
Fetch a real public dataset by describing it — no spreadsheet needed.
"India GDP over the last 10 years" · "compare US and China population" · "Apple revenue over 6years" · "US healthy life expectancy" · "India exports to the US"
Resolves through Furlen's adapters for the World Bank, IMF WEO, FRED, Eurostat, UN Comtrade,WHO and company filings (SEC EDGAR, ESEF, DART, EDINET). Returns the rows, a ready-to-usecsv string you can pass straight to furlen_render, and provenance naming the exact indicator.
If no connected source covers the subject it says so: a 422 with code: "subject_unsupported"means the data doesn't exist here, not that the request was malformed — don't retry itreworded. Exchange rates are the canonical example.
furlen_render
Turns CSV text into an animated, claim-verified chart video. One call runs the whole pipeline —profile the data, find the insights, write the story, verify every claim, render — and returns arenderId.
| Arg | Values | Default |
|---|---|---|
csv (required) |
Raw CSV text, header row first | — |
audience |
investor · executive · linkedin · youtube · internal_team · client_report · student |
linkedin |
outputFormat |
video_16_9 · video_9_16 · video_1_1 |
video_16_9 |
format |
mp4 · gif |
mp4 |
resolution |
720p · 1080p · 4k |
1080p |
furlen_render_status
Polls a renderId. Returns status (queued → running → completed | failed), progress, and adownloadUrl when finished. Renders usually take 30–90 seconds, so poll every few secondsrather than blocking.
Example
"Here's my quarterly revenue CSV — make a LinkedIn chart video from it with Furlen."
The agent calls furlen_render, polls furlen_render_status, and hands back the download link oncethe video is ready.
Example: chart public data end to end
"Chart India's GDP over the last 10 years and make me a LinkedIn video."
The agent calls furlen_public_data with that request, gets back rows plus a csv string, passesthe csv to furlen_render, polls furlen_render_status, and returns the download link. No fileever touches the agent's filesystem.
What it can't do yet
Worth knowing before you wire it up:
- No file uploads. Data arrives as CSV text or by naming a public dataset — not as an attachedspreadsheet.
- Rendering is asynchronous. There is no synchronous "give me a chart back now" call.
- The sources are the sources. If no connected provider publishes the figure, you get a refusalrather than an estimate. That is the design, not a gap.
- It needs an API key with the
data:readandrenders:writescopes, and your plan's limits onresolution, watermarking and render minutes apply exactly as in the app.
Environment
FURLEN_API_KEY(required) — your workspace API key.FURLEN_BASE_URL(optional) — defaults tohttps://furlen.pro.
Links
- Product: https://furlen.pro
- API + MCP docs: https://furlen.pro/developers#mcp
- How claim verification works: https://furlen.pro/proof
MIT © Furlen