Converts Office files, images, e-books, and web pages to PDF, and provides tools to merge, split, compress, or protect PDF documents.
Also known as conv2pdf/mcp, mcp, conv2pdf-mcp
- Stars
- 0
- Tools
- 15
- Downloads, 30 days
- 773
- Latest version
- 1.2.0
- Last commit
- Nov 12, 2026
- License
- MIT
What is conv2pdf MCP?
conv2pdf converts Office files, images, e-books, and web pages to PDF, and provides tools to merge, split, compress, or protect PDF documents. It exposes 15 tools, such as convert_to_pdf, convert_url_to_pdf, convert_heic_to_jpg.
Summary generated from the project's README
About conv2pdf MCP server
Developers and AI users can transform a wide variety of file formats into PDF documents using this MCP server. It handles Office files like Word, Excel, and PowerPoint, as well as images, e-books, and even public web pages via their URL. Beyond simple conversion, the server provides tools to manage PDF files directly from your local environment, allowing you to merge multiple documents, split pages into separate files, compress file sizes, or add security features like passwords and watermarks.
To use this server, you must create an account to obtain an API key starting with cpdf_live_, which is then provided to your MCP client through the CONV2PDF_API_KEY environment variable. The server runs via Node.js and communicates with the Conv2pdf API, where processing occurs on OVHcloud servers in France to ensure data stays within the EU. The Dev plan offers 300 free conversions for 12 months, with file size limits of up to 10 MB, while paid plans support files up to 200 MB.
What you can do with it
- 1Convert documents to PDFTransform a Word document or an e-book into a PDF file.
- 2Capture web pagesTurn a public website into a PDF document as it appears in a browser.
- 3Edit and organize PDFsCombine several PDF files into a single document or extract specific page ranges.
- 4Secure and optimize filesReduce the file size of a PDF or add a password to protect its contents.
Written from the project's README. Every use case is checked against a quote from it.
How to install conv2pdf MCP
Formats verified 10 Nov 2026Install conv2pdf MCP in Claude Code
$ claude mcp add --env CONV2PDF_API_KEY=<YOUR_CONV2PDF_API_KEY> mcp -- npx -y conv2pdf-mcpInstall conv2pdf MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"conv2pdf-mcp"
],
"env": {
"CONV2PDF_API_KEY": "<YOUR_CONV2PDF_API_KEY>"
}
}
}
}Install conv2pdf MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"conv2pdf-mcp"
],
"env": {
"CONV2PDF_API_KEY": "<YOUR_CONV2PDF_API_KEY>"
}
}
}
}Install conv2pdf MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"conv2pdf-mcp"
],
"env": {
"CONV2PDF_API_KEY": "<YOUR_CONV2PDF_API_KEY>"
}
}
}
}Install conv2pdf MCP in Codex
~/.codex/config.toml
[mcp_servers.mcp] command = "npx" args = ["-y", "conv2pdf-mcp"] [mcp_servers.mcp.env] CONV2PDF_API_KEY = "<YOUR_CONV2PDF_API_KEY>"
Install conv2pdf MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"conv2pdf-mcp"
],
"env": {
"CONV2PDF_API_KEY": "<YOUR_CONV2PDF_API_KEY>"
}
}
}
}conv2pdf MCP tools 15
Detected from the READMEconvert_to_pdfconvert_url_to_pdfconvert_heic_to_jpgconvert_pdf_to_wordconvert_pdf_to_imagesmerge_pdfsextract_pdf_pagessplit_pdfrotate_pdfadd_page_numbersadd_watermarkcompress_pdf
| convert_to_pdf | — | |
| convert_url_to_pdf | — | |
| convert_heic_to_jpg | — | |
| convert_pdf_to_word | — | |
| convert_pdf_to_images | — | |
| merge_pdfs | — | |
| extract_pdf_pages | — | |
| split_pdf | — | |
| rotate_pdf | — | |
| add_page_numbers | — | |
| add_watermark | — | |
| compress_pdf | — |
Show all 15 toolsShow fewer tools
protect_pdfunlock_pdfget_quota
| protect_pdf | — | |
| unlock_pdf | — | |
| get_quota | — |
Configuration
CONV2PDF_API_KEYRequiredSecretConv2pdf API key, created in the Developer tab of the Conv2pdf dashboard
| Name | Description | |
|---|---|---|
| CONV2PDF_API_KEY | Conv2pdf API key, created in the Developer tab of the Conv2pdf dashboard | RequiredSecret |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubconv2pdf-mcp
Official Model Context Protocol server of the Conv2pdf API. Your AI assistant converts Word, Excel, PowerPoint, Pages, images, e-books, PostScript and HTML files to PDF, as well as web pages from their address, converts PDFs to Word or to images, and merges, splits, 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
Installation
- Create an account on conv2pdf.com. The Dev plan includes 300 free conversions, valid for 12 months; see pricing for the paid plans.
- Create an API key, which starts with
cpdf_live_, in the Developer tab of your dashboard. Conv2pdf shows it only once, at creation. - Add the server to your MCP client, with the key in the
CONV2PDF_API_KEYenvironment 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_..." }
}
}
}
Or, in Claude Code, install the plugin: the same server, with a skill that tells the assistant which tool to call, in which order, and what a call costs.
/plugin marketplace add conv2pdf/mcp
/plugin install conv2pdf@conv2pdf
Claude Code asks for the API key when the plugin is enabled, and keeps it in the credential store of the system, not in a settings file. To set it later, run /plugin configure conv2pdf@conv2pdf, or open /plugin, Installed tab, conv2pdf, Configure options. A server you added by hand with the npx -y conv2pdf-mcp command takes precedence over the one of the plugin.
For another agent that loads SKILL.md skills, add the server as above and take the skill alone: plugin/skills/conv2pdf/SKILL.md in this repository, also listed on Agensi.
Then ask for what you need: "convert report.docx to PDF", "merge these three PDFs", "compress scan.pdf and protect it with a password".
Tools
| Tool | What it does |
|---|---|
convert_to_pdf |
Word, Excel, PowerPoint, OpenDocument, Apple Pages, RTF, TXT, CSV, PNG, JPG, WebP, GIF, TIFF, HEIC, EPUB, PostScript (PS, EPS) or HTML file to PDF, chosen from the extension |
convert_url_to_pdf |
Public web page to PDF, from its address, printed as a browser would |
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 |
Copy the pages you list, such as 1-5,7,10-12, into a new PDF, in the order written |
split_pdf |
One PDF per page, in a ZIP file |
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 |
How it behaves
- Files stay on your computer, except for the conversion. A tool takes the path of a file, sends the file to Conv2pdf and writes the result on your disk. Conv2pdf checks the content of the file, not only its name.
- Nothing is overwritten. The result goes next to the input file:
report.docxgivesreport.pdf, and a PDF tool adds a suffix, such asreport-compressed.pdf. When that name is taken, the server writesreport (2).pdf. The assistant can choose the place withoutput_path; if a file is already there, the tool refuses before converting anything. A web page has no input file to write next to, soconvert_url_to_pdfalways takes anoutput_path. - Deleted from the server. Once the result is on your disk, the server deletes the job from Conv2pdf. Should that fail, Conv2pdf deletes the files after one hour.
- Quota. Each conversion counts as one in the quota of your plan, including one that Conv2pdf refuses after reading the file, such as an unreadable or scanned PDF, or one with too many pages. A file refused on arrival (wrong type, too large, password missing), a refused setting (a page range that does not exist, a password that is too short) and a failure on the side of Conv2pdf count for nothing, and
get_quotais free. Files can weigh up to 10 MB on the Dev plan and 200 MB on paid plans. - Rate limit. The API accepts 20 conversions per minute per API key. When it asks to slow down, or when its queue is full, the server waits for the delay the API gives and tries again, twice at most and only for delays of 30 seconds or less; otherwise the assistant gets the delay to wait.
- Protected PDFs. The tools that read a PDF, except
merge_pdfs, open one that asks for a password when the assistant passes it aspassword. The result has no password. For a merge, unlock the protected PDFs first. - Pages and Numbers. A Pages document keeps its
.pagesextension: only the name tells it from a Numbers spreadsheet, which Conv2pdf does not convert, like Keynote presentations. - Errors. A refusal comes back to the assistant as a sentence it can act on: the wrong password, the page range that does not exist, the plan limit, the key to set. A cancelled call stops the transfer and leaves no file behind.
- Without a key. The server starts and lists its tools; a call explains how to set
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.
Development
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.
The tools of the server and the extensions convert_to_pdf routes on follow what the live API publishes (GET /v1/tools): our monitoring compares them every day, and says when the API gains a tool or an extension that the server does not have.
Plugin
plugin/ holds the Claude Code plugin: its manifest, the .mcp.json that starts the published package with npx, and the skill, plugin/skills/conv2pdf/SKILL.md. .claude-plugin/marketplace.json is the catalog that lets Claude Code install the plugin from this repository. Neither is part of the npm package. npm test checks that the plugin is at the version of the package and that the skill names the tools the server has.
claude plugin validate . --strict
claude --plugin-dir ./plugin
check the manifests, then start a session with the plugin loaded from the folder, without installing it. A user gets a change of the plugin or of the skill when the version changes: it ships with a release.
Releasing
- Set the version in
package.json,server.jsonandplugin/.claude-plugin/plugin.json, and date its section inCHANGELOG.md. - Run
npm test. - Commit, then push a tag named after the version: the Publish workflow publishes the package to npm through Trusted Publishing, with a provenance statement.
- Publish the entry of the MCP Registry:
mcp-publisher login http --domain conv2pdf.com, thenmcp-publisher publish. The namecom.conv2pdf/conv2pdfis proved by the public key served athttps://conv2pdf.com/.well-known/mcp-registry-auth. - When the skill changed, upload it again to its Agensi listing, as a new version: a ZIP of a
conv2pdf/folder that holds theSKILL.md. Nothing updates the listing from this repository.
Resources
Support
Open an issue or write to contact@conv2pdf.com.
License
MIT, see LICENSE.
conv2pdf MCP questions
How do I add conv2pdf MCP to Claude Code?
Run claude mcp add --env CONV2PDF_API_KEY=<YOUR_CONV2PDF_API_KEY> mcp -- npx -y conv2pdf-mcp in your terminal. Add --scope user to make it available in every project.
How do I add conv2pdf MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does conv2pdf MCP provide?
It exposes 15 tools, including convert_to_pdf, convert_url_to_pdf, convert_heic_to_jpg, convert_pdf_to_word, convert_pdf_to_images.
What files can be converted to PDF?
You can convert Word, Excel, PowerPoint, OpenDocument, Apple Pages, RTF, TXT, CSV, PNG, JPG, WebP, GIF, TIFF, HEIC, EPUB, PostScript, or HTML files to PDF.
Where is the file processing handled?
Processing is performed on OVHcloud servers in France, ensuring no data transfer outside the EU and no US services in the chain.
How much can files weigh on the free plan?
Files can weigh up to 10 MB on the Dev plan.
Does the server overwrite my existing files?
No, the server writes the result next to the input file or adds a suffix, and it will refuse to convert if the output filename is already taken.
What is the rate limit for the API?
The API allows for 20 conversions per minute per API key.