Convert Office files, images and e-books to PDF; merge, compress or protect local PDFs.
Official Model Context Protocol server of the conv2pdf API. Your AI assistant converts Word, Excel, PowerPoint, Pages, images and e-books to PDF, converts PDFs to Word or to images, and merges, compresses, protects, rotates or numbers the PDFs that are on your computer. Processing runs on OVHcloud servers in France: no transfer outside the EU, no US service in the chain.
Installation · Tools · How it behaves · Development
cpdf_live_, in the Developer tab of your dashboard. conv2pdf shows it only once, at creation.CONV2PDF_API_KEY environment variable. It needs Node.js 22 or later.In Claude Code:
claude mcp add --env CONV2PDF_API_KEY=cpdf_live_... --transport stdio conv2pdf -- npx -y conv2pdf-mcp
On Windows, put cmd /c before npx.
In Claude Desktop, Cursor and the other clients configured with a JSON file:
{
"mcpServers": {
"conv2pdf": {
"command": "npx",
"args": ["-y", "conv2pdf-mcp"],
"env": { "CONV2PDF_API_KEY": "cpdf_live_..." }
}
}
}
Then ask for what you need: "convert report.docx to PDF", "merge these three PDFs", "compress scan.pdf and protect it with a password".
| Tool | What it does |
|---|---|
convert_to_pdf | Word, Excel, PowerPoint, OpenDocument, Apple Pages, RTF, TXT, CSV, PNG, JPG, WebP, GIF, TIFF, HEIC or EPUB file to PDF, chosen from the extension |
convert_heic_to_jpg | iPhone HEIC or HEIF photo to JPG |
convert_pdf_to_word | PDF with real text to an editable DOCX document |
convert_pdf_to_images | One PNG or JPG per page, in a ZIP file |
merge_pdfs | Combine several PDFs into one, in the order given |
extract_pdf_pages | Keep the pages you list, such as 1-5,7,10-12, in a new PDF |
rotate_pdf | Turn every page by 90, 180 or 270 degrees |
add_page_numbers | Number the pages, as "3 / 12" or "3", bottom center, left or right |
add_watermark | Stamp a text of up to 50 characters on every page |
compress_pdf | Reduce the size, keeping images at 72, 150 or 300 DPI |
protect_pdf | Set a password, and optionally forbid printing or copying |
unlock_pdf | Remove a password you know, or the printing and copying restrictions |
get_quota | Plan, usage and limits of the API key |
report.docx gives report.pdf, and a PDF tool adds a suffix, such as report-compressed.pdf. When that name is taken, the server writes report (2).pdf. The assistant can choose the place with output_path; if a file is already there, the tool refuses before converting anything.get_quota is free. Files can weigh up to 10 MB on the Dev plan and 200 MB on paid plans.merge_pdfs, open one that asks for a password when the assistant passes it as password. The result has no password. For a merge, unlock the protected PDFs first..pages extension: only the name tells it from a Numbers spreadsheet, which conv2pdf does not convert, like Keynote presentations.CONV2PDF_API_KEY.Every request carries User-Agent: conv2pdf-mcp/<version>. Mention it when you contact support: it tells your calls apart in the API's logs.
The server has no dependency: Node.js runs the sources as they are. It talks to its client over stdio and serves both eras of the protocol from the same process: revision 2026-07-28, where each request carries its protocol version, and the earlier revisions (2025-11-25 down to 2024-11-05), which start with an initialize handshake.
npm test
runs the tests against a fake conv2pdf API on a local port: no key and no network are needed.
npm run check-tools
compares the extensions convert_to_pdf routes on with what the live API accepts (GET /v1/tools).
package.json and server.json, and date its section in CHANGELOG.md.npm test and npm run check-tools.mcp-publisher login http --domain conv2pdf.com, then mcp-publisher publish. The name com.conv2pdf/conv2pdf is proved by the public key served at https://conv2pdf.com/.well-known/mcp-registry-auth.Open an issue or write to contact@conv2pdf.com.
MIT, see LICENSE.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y conv2pdf-mcpMerge 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.
{
"mcpServers": {
"com-conv2pdf-conv2pdf": {
"command": "npx",
"args": [
"-y",
"conv2pdf-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 referenceconv2pdf-mcpnpmconv2pdf 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.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..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.