Setup guide · Assistant
Formfeed in Claude Code
Claude Code is the agent that works best with templates as code: it reads the data schema over MCP, edits template.html in your repository, and checks its work with formfeed validate before anything is rendered.
Create a test key
Sign in to the app, open API keys and create a key in the test environment. Test renders are not metered, which is what you want while an agent is still learning your templates. Switch to a live key when it goes to production.
Add the Formfeed server
Add the server with
claude mcp add. Its name comes before--env, which takes several values and would otherwise take the name for one of them. Everything after--is the command Claude Code starts. To share the setup with your team, commit a.mcp.json; each developer keeps the key in their own environment.claude mcp add --transport stdio formfeed \ --env FORMFEED_API_KEY=ff_test_... \ -- npx -y @formfeed/mcpAdd
--scope userto have it in every project.{ "mcpServers": { "formfeed": { "command": "npx", "args": ["-y", "@formfeed/mcp"], "env": { "FORMFEED_API_KEY": "${FORMFEED_API_KEY}" } } } }Claude Code expands
${FORMFEED_API_KEY}from the environment, so the file holds no secret.claude mcp add --transport http formfeed https://mcp.formfeed.dev/mcp \ --header "Authorization: Bearer ff_test_..."Signed-in use instead of a key: connect to
https://mcp.formfeed.dev/mcpwithout a header, and the client opens the Formfeed sign-in, where you choose the workspace the agent works in. A signed-in agent always renders live and counts units; free test renders need a test key. A self-hosted endpoint (npx -y @formfeed/mcp --http) takes API keys only.Check the connection
Run
/mcpinside Claude Code.formfeedshows as connected with eight tools. Then ask for a document.
Try it
- Invoice
“Render invoice 2026-0042 for Olvarest GmbH: 8 hours of consulting at €120 and 20 hours of implementation at €110. Use the German invoice template.”
- Validation
“Check whether orders/2026-0042.json fits the invoice-de template before you render anything.”
- Ad-hoc HTML
“Turn these meeting notes into a one-page PDF. No template, plain HTML is fine.”
Tips
- Claude Code can also run the CLI:
formfeed validate --jsonandformfeed testgive it machine-readable feedback while it edits templates. See the AGENTS.md snippet on the agents page. - Pre-approve the six free, read-only tools in
/permissions(mcp__formfeed__list_templates,mcp__formfeed__get_template_schema,mcp__formfeed__validate_template,mcp__formfeed__check_invoice,mcp__formfeed__get_render,mcp__formfeed__get_workspace) and keeprenderandconvert_to_pdf, which count units, behind a prompt. - Or install Formfeed as a plugin:
claude plugin marketplace add formfeed-dev/skills, thenclaude plugin install formfeed@formfeed-dev. It adds the hosted server without a key;/mcpopens the Formfeed sign-in, and the agent renders live.
The eight tools
- list_templates
- Templates of the workspace with slug, kind (PDF, image, Word or PowerPoint), engine and published version; filter by kind, engine, tag or search text.
- free
- get_template_schema
- The JSON Schema of the data a template expects, with the sample data it was designed with. A template without a stored schema gets one inferred from its sample data: a guide, not a contract.
- free
- validate_template
- Checks a template with the data without rendering: syntax, variables missing from the data, errors that only happen with this data, and the data against the template’s stored schema. Ad-hoc HTML is checked offline.
- free
- check_invoice
- Checks the
_invoiceblock of an e-invoice offline, as the API does before it renders one: the fields EN 16931 asks for, the totals to the cent, VAT categories and code lists, and the rules of France. Names every field and rule it breaks. - free
- render
- Renders a template or raw HTML to PDF, PNG, JPG or WebP (Word and PowerPoint templates also to DOCX or PPTX) and returns the download URL, page count and units. With
einvoice, the PDF becomes a ZUGFeRD / Factur-X e-invoice with the validator’s report, for one unit more (live from the Starter plan). - 1 unit, PDFs per 5 pages
- convert_to_pdf
- Converts a Word, Excel, PowerPoint, OpenDocument, RTF or HTML document of up to 20 MB, or the render of a Word or PowerPoint template, to PDF and returns the download URL; the document is not kept. The local server also reads a file by its path. Starter plan and above.
- like a PDF
- get_render
- Status, download URL and error of a render: for renders the agent queued with
wait: false, and for a fresh link once the old one has expired. - free
- get_workspace
- The workspace and organisation the server works in, the plan, the environment and the units of the period: how many renders are left.
- free
Configuration reference: Anthropic — Claude Code (checked 17 October 2026)