Connect your agent host
PDFEx speaks MCP over Streamable HTTP, stateless at https://pdfex.io/mcp. Auth is the same API key the REST API uses, so one key covers both surfaces.
Read this before you copy anything
- Most hosts accept the JSON block below verbatim. Watch the key name — VS Code uses
serversand Zed usescontext_servers. A block with the wrong key is silently ignored, which is the most common failure here. - Saving a config proves nothing about reachability. Every entry has a verify step — run it.
- Prefer reading the key from an environment variable over pasting it into a file you might commit. Set
PDFEX_API_KEYwhere your host supports that.
The canonical JSON block
{
"mcpServers": {
"pdfex": {
"type": "http",
"url": "https://pdfex.io/mcp",
"headers": { "Authorization": "Bearer pdfex_your_key_here" }
}
}
}Header: Authorization · scheme: Bearer · endpoint: https://pdfex.io/mcp
Verification honesty
Of 18 hosts, 7 have their command checked against the tool itself or the vendor's documentation, and 11 are marked not yet verified. Those are best current knowledge — confirm them against the linked docs. No entry here claims to have been run end to end unless it says tested end to end.
One command (no file editing)
These hosts can register the server with a single command. Run the command, then run the verify command — saving a config proves nothing about reachability.
Hermes Agent
command verified2026-09-30Nous Research's open-source agent framework (CLI, desktop, gateway).
Install
hermes mcp addConfig
mcp_servers:
pdfex:
url: "https://pdfex.io/mcp"
headers:
Authorization: "Bearer pdfex_your_key_here"Verify: hermes mcp list
`hermes mcp add` is a discovery-first wizard; it writes the entry for you. Hermes stores connections as YAML under `mcp_servers`, not JSON. Do not hand-edit the file — a stray indent corrupts it and breaks the running gateway.
Hermes Agent MCP documentation ↗Pi
command verified2026-09-30Coding agent CLI by Mario Zechner (@earendil-works/pi).
Install
pi mcp add pdfex --url https://pdfex.io/mcp --bearer-token-env-var PDFEX_API_KEYVerify: pi mcp list
`--bearer-token-env-var` is a documented Pi flag that sends `Authorization: Bearer <value of that env var>`, so the key never lands in the file. `pi mcp list` exits non-zero when a server fails — it is a real health check. Use `-l` to scope the server to the current project instead of globally.
Pi MCP documentation ↗Claude Code
command verified2026-09-30Anthropic's terminal coding agent.
Install
claude mcp add --transport http pdfex https://pdfex.io/mcp \
--header "Authorization: Bearer $PDFEX_API_KEY"Verify: claude mcp list
`--transport http` is required — without it Claude Code assumes a local stdio command. Add `--scope project` to write `.mcp.json` into the repo so a whole team shares it.
Claude Code MCP documentation ↗Codex CLI
command verified2026-09-30OpenAI's terminal coding agent.
Install
codex mcp addVerify: codex mcp list
`codex mcp add` exists but its flag spelling was not confirmed — run `codex mcp add --help` first. Codex reads TOML, so a JSON block will not work; the entry belongs under `[mcp_servers.pdfex]` in `~/.codex/config.toml`.
Codex CLI MCP documentation ↗Gemini CLI
command verified2026-09-30Google's open-source terminal agent.
Install
gemini mcp add pdfex https://pdfex.io/mcpVerify: gemini mcp list
`gemini mcp add <name> <commandOrUrl>` is confirmed from `--help`. The header flag spelling is not — run `gemini mcp add --help` and add the Authorization header, otherwise the server will answer 401.
Gemini CLI MCP documentation ↗OpenCode
command verified2026-09-30Open-source terminal coding agent.
Install
opencode mcp addVerify: opencode mcp list
Note the key is `mcp`, not `mcpServers` — OpenCode uses its own schema. `opencode mcp add` is interactive and will prompt for the URL and header.
OpenCode MCP documentation ↗OpenClaw
vendor-documented2026-09-30Self-hosted assistant gateway that connects chat apps to agents.
Install
openclaw mcp add pdfex --url https://pdfex.io/mcp \
--transport streamable-httpVerify: openclaw mcp doctor pdfex --probe
OpenClaw's own docs make the point this matrix is built on: saving a definition proves nothing about reachability — `doctor --probe` does. Also keep the key out of the config literal; OpenClaw asks you to store sensitive headers through its secret mechanism. You can also add it from the Control UI under Settings → MCP.
OpenClaw MCP documentation ↗GitHub Copilot CLI
not yet verifiedGitHub's Copilot agent for the terminal.
Install
copilot mcp add pdfexVerify: copilot mcp list
A `copilot mcp` subcommand exists, but the add syntax was not confirmed. Run `copilot mcp --help` before trusting this line.
GitHub Copilot CLI MCP documentation ↗Crush
not yet verifiedCharm's terminal-first coding agent.
Install
crushVerify: crush --help
Crush reads `mcp` entries from its config file. Not confirmed on this machine — check the repo before publishing a command.
Crush MCP documentation ↗A JSON `mcpServers` block
Every host below accepts a JSON config block. Watch the key name — most use `mcpServers`, but VS Code uses `servers`, and a block with the wrong key is silently ignored.
Claude Desktop
not yet verifiedAnthropic's desktop app.
Config
{
"mcpServers": {
"pdfex": {
"type": "http",
"url": "https://pdfex.io/mcp",
"headers": { "Authorization": "Bearer pdfex_your_key_here" }
}
}
}Verify: Restart the app; the pdfex tools appear in the tool picker.
Reachable from Settings → Developer → Edit Config. Restart the app after editing — it reads this file only at startup.
Claude Desktop MCP documentation ↗Cursor
not yet verifiedAI code editor.
Config
{
"mcpServers": {
"pdfex": {
"type": "http",
"url": "https://pdfex.io/mcp",
"headers": { "Authorization": "Bearer pdfex_your_key_here" }
}
}
}Verify: Settings → MCP shows pdfex connected with its tools listed.
A project-scoped `.cursor/mcp.json` is also honoured, which is the better choice for a shared repo.
Cursor MCP documentation ↗Windsurf
not yet verifiedCodeium's AI code editor.
Config
{
"mcpServers": {
"pdfex": {
"type": "http",
"url": "https://pdfex.io/mcp",
"headers": { "Authorization": "Bearer pdfex_your_key_here" }
}
}
}Verify: Cascade panel → MCP servers lists pdfex.
Windsurf also has an in-app MCP settings UI that edits this same file.
Windsurf MCP documentation ↗Cline
not yet verifiedAutonomous coding agent as a VS Code extension.
Config
{
"mcpServers": {
"pdfex": {
"type": "http",
"url": "https://pdfex.io/mcp",
"headers": { "Authorization": "Bearer pdfex_your_key_here" }
}
}
}Verify: The MCP Servers panel shows pdfex as connected.
Cline offers a remote-server form in its UI, which is less error-prone than editing the JSON.
Cline MCP documentation ↗Roo Code
not yet verifiedVS Code coding agent (Cline fork).
Config
{
"mcpServers": {
"pdfex": {
"type": "http",
"url": "https://pdfex.io/mcp",
"headers": { "Authorization": "Bearer pdfex_your_key_here" }
}
}
}Verify: MCP Servers tab in the Roo Code panel shows pdfex connected.
Same shape as Cline, different file location. Prefer the UI's remote-server form.
Roo Code MCP documentation ↗VS Code (Copilot Chat)
not yet verifiedGitHub Copilot Chat inside VS Code.
Config
{
"servers": {
"pdfex": {
"type": "http",
"url": "https://pdfex.io/mcp",
"headers": { "Authorization": "Bearer pdfex_your_key_here" }
}
}
}Verify: Command Palette → “MCP: List Servers” shows pdfex running.
THE TRAP: VS Code uses the key `servers`, not `mcpServers`. A block copied from Cursor or Claude Desktop is silently ignored here. This is the single most common copy-paste failure in this matrix.
VS Code (Copilot Chat) MCP documentation ↗The host's own config file
These hosts do not use the JSON `mcpServers` shape. Copy the block for the host you are configuring, not the canonical one.
Continue
not yet verifiedOpen-source IDE assistant (VS Code / JetBrains).
Config
mcpServers:
- name: pdfex
type: http
url: https://pdfex.io/mcp
headers:
Authorization: "Bearer pdfex_your_key_here"Verify: The Continue sidebar lists the pdfex tools.
Continue's YAML takes a LIST of servers, not a map — note the leading `-`. Its JSON form (`config.json`) uses a map like everyone else.
Continue MCP documentation ↗Goose
not yet verifiedBlock's open-source local agent.
Config
extensions:
pdfex:
type: streamable_http
uri: https://pdfex.io/mcp
headers:
Authorization: "Bearer pdfex_your_key_here"Verify: `goose` starts and lists pdfex among its extensions.
Goose calls MCP servers “extensions” and spells the transport `streamable_http` with an underscore, and the URL field `uri` not `url`. Three differences from every other host — copy from here, not from the canonical block.
Goose MCP documentation ↗Zed
not yet verifiedCollaborative code editor.
Config
{
"context_servers": {
"pdfex": {
"source": "custom",
"command": https://pdfex.io/mcp,
"args": []
}
}
}Verify: Zed's agent panel lists the pdfex tools.
Zed uses the key `context_servers`, not `mcpServers` — another silent-ignore trap. Newer Zed builds support remote HTTP servers directly; consult the docs, since this schema has been changing.
Zed MCP documentation ↗Something not listed?
Any host that supports Streamable HTTP MCP servers with custom headers will work. Use the canonical JSON block above, or point it at https://pdfex.io/mcp with a Authorization header. If your host only supports stdio servers, it cannot talk to a hosted endpoint directly — use the REST API instead, or the guide at /llms-full.txt.