# PDF.co

The official PDF.co MCP server brings PDF conversion, merging, splitting, OCR and form filling into your agent. Handy when documents are part of the codebase.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 9
- Author: pdfdotco
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/pdfdotco/pdfco-mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/pdfco

## What it does

The server exposes PDF.co tools to an AI assistant. Conversion runs both ways: PDFs become JSON, CSV, text, XLS/XLSX, XML, HTML or images, and documents, spreadsheets, images, web pages, HTML and emails become PDFs. Merging and splitting by page or range sit alongside annotation, form reading and form filling.

Text search supports regular expressions and can return table coordinates. Invoices get parsed by an AI tool, and scanned files go through OCR to become searchable. Passwords can be added or removed, and attachments pulled out of a source file. Local files upload to PDF.co servers, while long jobs report progress by job status.

You need an API key from the PDF.co dashboard and UV installed — the server will not start without it. Configuration takes the command `uvx`, the argument `pdfco-mcp` and the `X_API_KEY` environment variable. Desktop apps sometimes miss your terminal's `PATH`, so the full path to `uvx` goes in the command instead. Five Excel converters — `excel_to_csv`, `excel_to_json`, `excel_to_html`, `excel_to_txt` and `excel_to_xml` — retire on January 5, 2027; `excel_to_pdf` stays.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `X_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add pdfco-mcp -e X_API_KEY=<X_API_KEY> -- uvx pdfco-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pdfco-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add pdfco --env X_API_KEY=<X_API_KEY> -- uvx pdfco-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pdfco-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pdfco": {
            "command": "uvx",
            "args": [
                "pdfco-mcp"
            ],
            "env": {
                "X_API_KEY": "<X_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pdfco-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "pdfco": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "pdfco-mcp"
            ],
            "env": {
                "X_API_KEY": "<X_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pdfco-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e X_API_KEY=<X_API_KEY> pdfco uvx pdfco-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pdfco-mcp <command>

## When to use it
- pull text and tables out of a scanned PDF
- combine several PDFs and images into one file
- split a long PDF by pages or ranges
- fill a PDF form with data from the project
- locate a fragment in a document with a regex

## Example prompts
- Convert `invoice.pdf` to CSV and show me the table
- Merge `part1.pdf` and `part2.pdf` into a single file
- Find every mention of “payment” in `contract.pdf` and return the coordinates

## Similar
- [Excel MCP Server](https://affpapa.org/en/nevibecode/mcp/excel-mcp-server.md) — MCP server · ★ 4259
- [kordoc](https://affpapa.org/en/nevibecode/mcp/kordoc.md) — MCP server · ★ 2726
- [Power BI Authoring MCP Server (Local)](https://affpapa.org/en/nevibecode/mcp/power-bi-authoring-mcp-server-local.md) — MCP server · ★ 1247
- [Microsoft 365 MCP Server](https://affpapa.org/en/nevibecode/mcp/microsoft-365-mcp-server.md) — MCP server · ★ 1074
- [anymd](https://affpapa.org/en/nevibecode/mcp/anymd.md) — MCP server · ★ 1051
- [Docling MCP](https://affpapa.org/en/nevibecode/mcp/docling-mcp.md) — MCP server · ★ 777

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
