AI Assistant (MCP)

Connect Claude, ChatGPT, Gemini, or any MCP-compatible AI assistant to PDFen. Describe what you want in chat β€” your AI handles the conversion.

PDFen Γ— AI (MCP)

The PDFen MCP server connects your AI assistant directly to your PDFen account. Works with Claude, ChatGPT (Business/Enterprise/Edu), and Gemini CLI. Just describe what you want β€” "convert this document to PDF" β€” and your AI handles the rest.

Which variant should I choose?

Scenario Recommended variant
Files are online (URLs) or small (<5 MB) HTTP variant β€” no installation needed
You use Claude Desktop and convert large local files (>5 MB) Stdio variant β€” install once, use forever
Not sure Start with the HTTP variant

HTTP Variant (Recommended)

No installation. Works in Claude.ai web, Claude Desktop, and Claude mobile.

No PDFen account? No problem β€” you can register during the connection. When you add the MCP server, a browser window opens where you can create a new account. After email confirmation, the connection continues automatically.

Step 1 β€” Create an API token

Go to Profile β†’ API Tokens and create a new token. Copy it β€” you'll only see it once.

Step 2 β€” Add to your AI assistant

Select your AI assistant below for the exact setup steps:

  1. 1

    Open the Claude Desktop config file

    Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

    Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. 2

    Add PDFengine to the config

    {
      "mcpServers": {
        "pdfen": {
          "url": "https://pdfen.com/mcp/sse",
          "headers": {
            "Authorization": "Bearer YOUR_TOKEN_HERE"
          }
        }
      }
    }

    Replace <code class="bg-gray-100 px-1 rounded">YOUR_TOKEN_HERE</code> with the token you just created.

  3. Restart Claude Desktop. PDFengine will appear in the MCP servers list.

  1. 1

    In Claude.ai, open settings

    Settings β†’ Integrations β†’ Add MCP Server
  2. 2

    Enter the server details

    URL: https://pdfen.com/mcp/sse
    Auth header: Authorization: Bearer YOUR_TOKEN_HERE
  3. Click "Connect". PDFengine opens an authorization page to request permission.

ChatGPT MCP support is available for Business, Enterprise, and Edu accounts in Developer Mode.
  1. 1

    In ChatGPT, go to connections

    Settings β†’ Connections β†’ Add MCP Server
  2. 2

    Enter the server URL

    URL: https://pdfen.com/mcp/sse

    ChatGPT automatically detects the OAuth configuration and guides you through authorization.

  3. Click "Allow". The connection is active.

  1. 1

    Open the Gemini CLI config file

    ~/.gemini/settings.json
  2. 2

    Add PDFengine

    {
      "mcpServers": {
        "pdfen": {
          "url": "https://pdfen.com/mcp/sse"
        }
      }
    }
  3. Run <code class="bg-gray-100 px-1 rounded">gemini</code>. Gemini CLI automatically detects the OAuth server and prompts for authorization.

File size limits (HTTP variant)

Mode Max size When to use
file_url Up to your license limit (25–200 MB) File has a public HTTPS URL
file_base64 5 MB Small file attached inline
file_path Not available Use stdio variant instead

Stdio Variant (Local, for large files) Coming soon

The stdio variant adds support for large local files directly from disk β€” no upload size limit.

Not yet publicly available

The @pdfen/mcp npm package is currently in development. The HTTP variant is live now and handles most use cases. For early access to local file support, contact us:

hello@pdfen.com

Future setup (preview)

Once published, the stdio variant will be configured as follows:

Step 1 β€” Check Node.js

node --version  # Must be 18 or higher

No Node? Download from nodejs.org.

Step 2 β€” Add to Claude Desktop config

{
  "mcpServers": {
    "pdfen-local": {
      "command": "npx",
      "args": ["-y", "@pdfen/mcp"],
      "env": {
        "PDFEN_API_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

The npx -y command will fetch the latest version automatically β€” no manual install needed.

File size limits (stdio variant)

Mode Max size When to use
file_urlUp to your license limitFile has a public HTTPS URL
file_base645 MBSmall file inline
file_pathUp to your license limitLocal file on disk

Available tools

Once connected, Claude can use these tools automatically. You don't need to call them by name β€” just describe what you want in plain language.

Tool What it does
list_workflowsList all available PDF conversion workflows
get_workflow_optionsSee configurable options for a workflow (OCR, compression, page range…)
start_conversionStart a PDF conversion (async). Returns an execution_id immediately.
get_execution_statusPoll status: pending, processing, done, or error
get_download_urlGet a signed download link (valid 1 hour) when status is done
get_userShow your account info and subscription tier
get_creditsShow your credit balance (personal + organization)
get_upload_capabilitiesCheck which file input modes are available in this variant

Conversion flow

Every conversion follows this sequence β€” Claude handles this automatically when you describe what you need:

  1. 1.list_workflows β€” discover available workflows and find the workflow_id (an integer) for the conversion type you need.
  2. 2.get_workflow_options (optional) β€” inspect configurable options such as OCR language, PDF/A type, or compression level.
  3. 3.start_conversion β€” pass the workflow_id, your files, and any options. Returns an execution_id immediately; processing runs in the background.
  4. 4.get_execution_status β€” poll every few seconds until status is done or error. Typical conversions complete in 5–30 seconds.
  5. 5.get_download_url β€” retrieve a signed download link valid for 1 hour. Download your file before the link expires.

Example prompts

Copy and paste these directly into Claude:

Convert this Word document to PDF: [attach file or paste URL]
What PDF workflows do I have available?
Convert https://example.com/report.docx to PDF and give me the download link.
Check my credit balance before converting these 5 files.
Compress this PDF and send me the result.
Merge these 3 PDFs into one document.

Troubleshooting

"Invalid token" error

Your token may have expired or been revoked. Create a new one at Profile β†’ API Tokens.

Make sure you copied the full token with no trailing spaces.

"File too large for base64"

The HTTP variant has a 5 MB limit for inline files. Options:

  • Use file_url if the file has a public URL
  • Install the stdio variant (@pdfen/mcp) to use local file paths without size limits
"file_path not available on remote"

You're using the HTTP variant which doesn't have access to your local filesystem. Install the stdio variant:

npx -y @pdfen/mcp
Node not found (stdio variant)

Install Node.js from nodejs.org (LTS version). On Mac: brew install node.

After installing, restart your terminal and Claude Desktop.

Claude Desktop config file location
  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

FAQ

Do MCP conversions use my credits?

Yes β€” same rate as the API. 1 credit per document by default. New accounts receive 15 free credits. Purchase more at pdfen.com/pricing.

What error codes can I get?

Errors are returned as {"isError": true, "code": "...", "message": "...", "user_instructions": "..."}. Common codes:

CodeMeaning
insufficient_creditsNot enough credits β€” buy more at pdfen.com/pricing
workflow_not_foundInvalid workflow_id β€” run list_workflows to get a valid ID
workflow_access_deniedThat workflow belongs to another user
file_too_large_for_licenseFile exceeds your plan's per-file size limit
not_completedCalled get_download_url before conversion finished β€” poll first
access_deniedExecution belongs to another user
not_foundExecution ID does not exist
server_errorUnexpected server-side error β€” try again or contact support

Is my data secure?

Files are processed on PDFen servers and deleted after conversion. Same as the web app.

Can I use both HTTP and stdio variants at the same time?

Yes β€” give them different names in the config (pdfen and pdfen-local).

What's the difference in cost between HTTP and stdio?

No difference β€” credits are based on conversions, not the transport.

Which file formats are supported?

Use list_workflows in Claude to see all available conversions for your account.