amitsha86

furlen-mcp

Community amitsha86
Updated

Turn CSV into an animated chart video with Furlen — every figure recomputed from your rows first.

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

  1. Create a Furlen API key at furlen.pro → Settings → API keys.
  2. Add the server to your MCP client config. Nothing to install first; npx fetches 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.json and restart.
  • Cursor: add it to .cursor/mcp.json.
  • Any other MCP client: run npx -y furlen-mcp with FURLEN_API_KEY set.

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 (queuedrunningcompleted | 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:read and renders:write scopes, 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 to https://furlen.pro.

Links

MIT © Furlen

MCP Server · Populars

MCP Server · New