> ## Documentation Index
> Fetch the complete documentation index at: https://developer.pdf.co/llms.txt
> Use this file to discover all available pages before exploring further.

# PDF.co MCP

> Connect an AI assistant to PDF.co tools for converting, editing, and extracting information from PDFs.

[PDF.co MCP](https://github.com/pdfdotco/pdfco-mcp) connects your AI assistant to PDF.co through the Model Context Protocol (MCP). Once connected, your assistant can call tools to convert PDFs, extract text, merge documents, fill forms, and more.

You can add PDF.co MCP to any AI assistant, AI client, or application that supports local MCP servers over STDIO. The guides below provide setup instructions for popular clients; other compatible MCP clients can use the same server command, package argument, and API key.

These guides cover **local setup on Windows**. The client starts `pdfco-mcp` as a local process and communicates with it over **STDIO**. The server sends document-processing requests to the PDF.co API, so you need an internet connection and a PDF.co API key.

## Before you start

### Get your PDF.co API key

Sign in to the [PDF.co dashboard](https://app.pdf.co/) and copy your API key. If you do not have an account, create one first.

Enter the key in your client's configuration or key prompt. The environment variable name is **`X_API_KEY`**, including the underscores. Replace `YOUR_PDFCO_API_KEY` in the examples locally; keep your actual key out of shared configuration files, screenshots, and chat messages.

### Install uv

`uvx`, included with [uv](https://docs.astral.sh/uv/), runs the published `pdfco-mcp` Python package in an isolated environment.

Run the official Windows installer in PowerShell:

```powershell theme={null}
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

Close and reopen PowerShell, then check the installation and find the executable:

```powershell theme={null}
uv --version
uvx --version
(Get-Command uvx -ErrorAction Stop).Source
```

Copy the full path printed by the last command. Use that path as the **command** in the client configuration. Desktop apps may have a different `PATH` from your terminal, particularly after installing uv while an app is running.

<Note>
  The examples use `C:\Users\YOUR_WINDOWS_USER\.local\bin\uvx.exe`. Replace it with the path returned on your computer; uv can be installed elsewhere. JSON strings require doubled backslashes.
</Note>

The package requires Python 3.10 or later. uv can download a compatible Python version if one is not available, so the first connection may take longer while Python and package dependencies are downloaded. See the [uv installation guide](https://docs.astral.sh/uv/getting-started/installation/) and [Python version management](https://docs.astral.sh/uv/concepts/python-versions/) for details.

## Choose your client

<CardGroup cols={2}>
  <Card title="Claude Desktop" href="/api/mcp/claude-desktop">
    Configure a local server through Developer settings.
  </Card>

  <Card title="ChatGPT desktop and Codex" href="/api/mcp/chatgpt-desktop">
    Add PDF.co in settings, then use local Work or Codex chats.
  </Card>

  <Card title="Codex CLI" href="/api/mcp/codex-cli">
    Add the server to your user configuration.
  </Card>

  <Card title="Claude Code" href="/api/mcp/claude-code">
    Register PDF.co from PowerShell.
  </Card>

  <Card title="Cursor" href="/api/mcp/cursor">
    Use the installation link, or edit your personal MCP configuration.
  </Card>

  <Card title="VS Code" href="/api/mcp/vs-code">
    Use the installation link, or edit your user configuration for Copilot chat.
  </Card>
</CardGroup>

## Verify your connection

First check that `pdfco` is connected and exposes tools such as `pdf_to_text`, `upload_file`, and `wait_job_completion`. The [current tool definitions](https://github.com/pdfdotco/pdfco-mcp/tree/main/pdfco/mcp/tools/apis) contain 38 tools; compare the count with the package version you are using if it differs.

Then send this prompt in your client:

```text theme={null}
Use the PDF.co MCP server (pdfco) and its pdf_to_text tool to convert this PDF:
https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-text/sample.pdf
If a job ID is returned, use wait_job_completion to wait for completion.
Give me the resulting text-file link.
```

Review the tool calls and open the resulting file. A successful connection test means that the PDF.co request completes and the output contains text from the sample PDF. A server appearing in settings, a tool list loading, or an initial response containing a job ID does not prove that document processing succeeded. Processing uses your PDF.co account's credits.

## Troubleshooting

| Symptom | What to check |
| - | - |
| `uvx` is not found | Reopen PowerShell, run `(Get-Command uvx -ErrorAction Stop).Source`, and use the returned absolute path in the client. |
| The server will not start | Check the command path, JSON or TOML syntax, and the argument `pdfco-mcp`. Inspect the client's server output for installation or connection errors. |
| The first connection takes longer | uv may be downloading Python and dependencies. Check the server output and network access before restarting. |
| The assistant does not select PDF.co | Explicitly ask it to use the PDF.co MCP server (`pdfco`) and name the required tool, as in the sample prompt. |
| ChatGPT asks to continue in Work | In the desktop app, switch to **Work** or **Codex** and run the task on your local computer. |
| Tools appear, but a request fails | Confirm that `X_API_KEY` is set for the server, contains your real key, and that your PDF.co account can process requests. Inspect the tool response for the actual error. |
| A job ID appears without a result | Ask the assistant to call `wait_job_completion` and inspect the completed job response. |
| A local file cannot be used as a URL | Ask the assistant to use `upload_file` first, then pass its returned URL to the conversion tool. Start with the public sample above when checking setup. |

## Web and mobile clients

These local STDIO configurations do not connect directly to Claude.ai web/mobile or ChatGPT web. Those clients need a remotely reachable MCP connection. A PDF.co-hosted connection is not included in these guides; hosted-server setup is a separate project.

See [Claude's remote connector guidance](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) and [ChatGPT's custom MCP connection guidance](https://developers.openai.com/api/docs/guides/custom-mcp-server) for the client requirements.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.