# formfeed-dev/formfeed [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/formfeed-dev/formfeed/tree/main/packages/mcp  
**GitHub Stars:** 1  
**npm Downloads (last month):** 2363  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/formfeed-dev-formfeed

## Description
Render PDFs and images from HTML templates (Jinja2, Liquid, Handlebars) or Word and PowerPoint files, check data against a template's schema before rendering, and convert Office documents to PDF through the Formfeed API. npx -y @formfeed/mcp, or the hosted endpoint https://mcp.formfeed.dev/mcp.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "formfeed": {
    "command": "npx",
    "args": ["-y","@formfeed/mcp"],
    "env": {
      "FORMFEED_API_KEY": "",
      "FORMFEED_REGION": "",
      "FORMFEED_BASE_URL": ""
    }
  }
}
```

**Requires environment variables:** `FORMFEED_API_KEY`, `FORMFEED_REGION`, `FORMFEED_BASE_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What formfeed-dev/formfeed MCP server does

formfeed-dev/formfeed exposes Formfeed document operations through the Model Context Protocol. It can render PDFs and images from templates written in HTML with Jinja2, Liquid, or Handlebars, as well as from Word and PowerPoint files. The `render` tool can also produce a ZUGFeRD or Factur-X e-invoice when used with the `einvoice` option; rendered images are returned as pictures that an agent can inspect.

The server also supports document checks before rendering. `validate_template` compares supplied data with a template schema, and can run free and offline for ad-hoc HTML when both `html` and `engine` are supplied. `check_invoice` performs a free, offline check of the `_invoice` block in a ZUGFeRD or Factur-X invoice against EN 16931.

## How it works

A local stdio setup starts the package with `npx -y @formfeed/mcp`. The agent communicates with the process using MCP, while operations that require Formfeed use the configured API key and workspace. A test key can render on the Free plan with a test mark; a live key consumes Formfeed units.

The hosted service is available at `https://mcp.formfeed.dev/mcp` using Streamable HTTP. Clients can authenticate with a Bearer token, or sign in through OAuth when no key is supplied. A workspace-specific URL can pin a signed-in client to another workspace. The same server can be self-hosted in HTTP mode, with an external issuer supplied for OAuth sign-in.

## Setup and configuration

For stdio clients, configure the command as `npx` with `-y @formfeed/mcp` and set `FORMFEED_API_KEY` in the server environment. The server can start without that variable, but only the offline checks are available. Set `FORMFEED_REGION` to select another API region, or use `FORMFEED_BASE_URL` to select a different API host.

The hosted endpoint accepts `Authorization: Bearer ff_…`. Self-hosting uses `formfeed-mcp --http --port 8790`; add `--auth-server <issuer>` when OAuth sign-in should use a Supabase Auth issuer. Claude Code can install the hosted server with two template-writing and template-checking skills from Formfeed's skills repository.

## Tools and capabilities

The ten exposed tools are:

- `list_templates` lists available templates.
- `get_template_schema` retrieves a template's schema.
- `validate_template` checks data against a schema and supports offline ad-hoc HTML validation.
- `check_invoice` checks the `_invoice` block of a ZUGFeRD or Factur-X invoice against EN 16931.
- `render` creates a PDF or image and can produce an e-invoice with `einvoice`.
- `convert_to_pdf` converts Word, Excel, PowerPoint, and OpenDocument files to PDF.
- `get_render` retrieves render information.
- `get_workspace` reports the active workspace and remaining units.
- `get_template_source` retrieves template source.
- `save_template` saves a new template or change as a draft.

Saving templates requires `template:write` on the API key or the relevant permission for a signed-in agent. Publication is handled by a person in Formfeed; the MCP operation saves the draft rather than publishing it.

## Limitations and notes

API-backed rendering and conversion depend on authentication and available Formfeed units. Test keys render with a test mark, while live keys consume units. Without an API key, rendering, conversion, and other API-backed operations are unavailable, but the documented offline validation and invoice checks remain usable. Workspace selection matters for hosted OAuth sessions, because the signed-in user chooses the workspace unless the endpoint includes a workspace ID.

_Full upstream README: https://allmcps.com/mcp/formfeed-dev-formfeed/readme_

