Formfeed

Render PDFs and images from templates, validate data and convert Office files to PDF.

OtherTypeScriptv0.3.14

Formfeed packages

Client libraries, command line tools and integrations for Formfeed, the API for generating PDFs and images from templates. Documentation lives at docs.formfeed.dev.

PackageRegistryWhat it is
@formfeed/sdknpmTypeScript client: renders, batches, templates, webhooks. No dependencies, Web APIs only
formfeedPyPIPython client, sync and async
formfeednpmCLI: templates as files, offline preview and validation, renders through the API
@formfeed/enginenpmThe template engine (Jinja2, Liquid, Handlebars) the API and the editor use
@formfeed/devkitnpmTemplate folders, project config and local rendering
@formfeed/testingnpmVitest and Jest matchers for templates
@formfeed/mcpnpmModel Context Protocol server for AI agents formfeed MCP server – quality and maintenance score on Glama
n8n-nodes-formfeednpmn8n community node

Every npm package is built and published from this repository by GitHub Actions with provenance, and the Python package with trusted publishing, so each release can be traced to the commit and workflow run it came from.

Development

Node 22 or newer and pnpm (the version in package.json, corepack enable picks it up):

pnpm install
pnpm nx run-many -t lint test --exclude sdk-python   # TypeScript packages
pnpm nx run-many -t bundle smoke                     # build, pack and try every npm package
cd packages/sdk-python && pip install pytest httpx pydantic && python -m pytest -q

This repository is generated from Formfeed's main repository, where the packages are developed together with the API they talk to. See CONTRIBUTING.md for how issues and pull requests are handled.

Licence

MIT, see LICENSE. Bundled third-party code keeps its own licence; the CLI and MCP packages list it in THIRD_PARTY_LICENSES.md.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @formfeed/mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-formfeed-dev-formfeed": {
      "command": "npx",
      "args": [
        "-y",
        "@formfeed/mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@formfeed/mcpnpm

Compatible MCP Clients

Formfeed works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More