Wraps the FileToPDF API so Claude and other MCP clients can convert documents, spreadsheets, presentations, images, HTML, and Markdown to PDF through natural language. Exposes four tools: check account credits, convert from public URL (DOCX, XLSX, PPTX, images), render raw HTML to PDF via Chromium, and render Markdown to PDF. Returns both metadata and the actual PDF as a base64 resource that clients can save. Supports layout options like landscape, custom page sizes, margins, and password protection on paid tiers. Available as a local stdio server via npx or as a hosted streamable HTTP endpoint at api.filetopdf.dev/mcp. Requires your own API key from filetopdf.dev, which gives you 10 free conversions to start.
FILETOPDF_API_KEY*secretYour FileToPDF API key (sk_live_...). Get one free in one click at https://filetopdf.dev.
A Model Context Protocol server for FileToPDF. It lets any MCP client — Claude Desktop, Claude Code, Cursor, Cline, VS Code, ChatGPT, n8n, Make, or your own agent — convert files, HTML, and Markdown to PDF through natural language: invoices, reports, documentation, DOCX/XLSX/PPTX, images, web pages, and more.
Bring your own API key — get one free, in one click, at https://filetopdf.dev (10 free conversions, no signup required).
| Tool | What it does |
|---|---|
get_account | Check the API key and show plan + remaining credits. Free, no credits used. |
convert_file | Convert a file from a public URL (DOCX, XLSX, PPTX, images, HTML, MD, PDF…) to PDF. |
convert_html | Render a raw HTML string (with optional CSS + layout options) to a pixel-perfect PDF via Chromium. |
convert_markdown | Render a raw Markdown string (with optional CSS + layout options) to a clean PDF. |
Each convert tool returns a metadata summary and the PDF as an embedded
application/pdf resource (base64), so capable clients can save the file. Set the
FILETOPDF_OUTPUT_DIR env var, or pass save_path, to also write the PDF to disk.
Layout options (landscape, paperWidth/Height, margins, scale, pdfa,
passwords, …) are available on Pro, Scale, and the free trial; on Starter/Basic
they return an upgrade error. Each successful conversion costs 1 credit; errors
are free.
Cursor — one-click install: Add to Cursor (then replace the placeholder with your key).
Claude Desktop / Cline / any stdio client — add to the MCP config
(claude_desktop_config.json, cline_mcp_settings.json, …):
{
"mcpServers": {
"filetopdf": {
"command": "npx",
"args": ["-y", "filetopdf-mcp"],
"env": { "FILETOPDF_API_KEY": "sk_live_YOUR_API_KEY" }
}
}
}
Claude Code:
claude mcp add filetopdf -e FILETOPDF_API_KEY=sk_live_YOUR_API_KEY -- npx -y filetopdf-mcp
VS Code (.vscode/mcp.json or via MCP: Add Server):
{
"servers": {
"filetopdf": {
"type": "stdio",
"command": "npx",
"args": ["-y", "filetopdf-mcp"],
"env": { "FILETOPDF_API_KEY": "sk_live_YOUR_API_KEY" }
}
}
}
A hosted endpoint is available at https://api.filetopdf.dev/mcp. Authenticate
with your own key via the x-api-key header, an Authorization: Bearer header, or
an ?apiKey= query parameter.
{
"mcpServers": {
"filetopdf": {
"type": "streamable-http",
"url": "https://api.filetopdf.dev/mcp",
"headers": { "x-api-key": "sk_live_YOUR_API_KEY" }
}
}
}
This is also the URL to paste into any platform with an MCP client step — n8n (MCP Client Tool), Make (MCP Client), Zapier (MCP Client beta), Relay.app (Call MCP tool), Flowise, Langflow, Dify, LibreChat, AnythingLLM, or agent frameworks (OpenAI Agents SDK, LangChain, CrewAI, Vercel AI SDK).
To self-host instead:
npm run build && npm run start:http # listens on $PORT (default 8080) at /mcp
A Dockerfile is included for container hosting (Smithery, Fly, Render, Cloud Run).
npm install
npm run build # tsc -> dist/
npm test # spawns the built stdio server, runs a live conversion
npm test reads FILETOPDF_API_KEY, or API_KEY= from a gitignored .env.
dev.filetopdf/filetopdf-mcpcsoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc
n24q02m/better-notion-mcp