oxidize-pdf MCP Server — Claude Code MCP server for PDF work
Hands your agent 12 PDF tools: read metadata, pull text, build files, split, merge and fill forms. Runs locally over stdio.
claude mcp add oxidize-pdf-mcp -- uvx oxidize-pdfWhat oxidize-pdf MCP Server does
Start it with oxidize-mcp and the agent talks to it over stdio. Twelve tools sit inside. read_pdf reports page count, version, encryption status, title and author. extract_text pulls text from every page or just one. convert_pdf turns a document into markdown, chunks or a RAG-friendly format. create_pdf and save_pdf write new files, with optional encryption on save. manipulate_pdf splits, merges, rotates, extracts, reverses and overlays pages. manage_forms creates, fills, reads and validates form fields, while secure_pdf handles encryption, permissions and signature checks. Two more tools, extract_entities and analyze_pdf, pull structured entities and validate structure, corruption and PDF/A compliance. The server also serves resources with session data and prompts for guided workflows.
Every path has to resolve inside a sandbox. OXIDIZE_WORKSPACE sets that root, and it defaults to ~/Documents/oxidize-mcp. Point it somewhere else at launch if your PDFs live elsewhere — otherwise the first file outside the folder gets rejected.
You need Python 3.10+ and the extras install: pip install "oxidize-pdf[mcp]". The base library ships without MCP, so skipping the brackets leaves you without a server. On Windows, install and start the server from the same Python environment or tool registration breaks.
What it helps with
- read PDF metadata and page count
- extract text from one page or all of them
- merge several PDFs into one file
- split a document and pull out chosen pages
- fill in form fields and validate them
Example prompts for the agent
- How many pages does
report.pdfhave? - Extract the text from page 2 of
contract.pdf - Merge
part1.pdfandpart2.pdfinto one file
How to install oxidize-pdf MCP Server
Platform CLI
claude mcp add oxidize-pdf-mcp -- uvx oxidize-pdfuvx runs the command named after the package; if the README names another one, use uvx --from oxidize-pdf <command>
Platform CLI
codex mcp add oxidize-pdf-mcp-server -- uvx oxidize-pdfuvx runs the command named after the package; if the README names another one, use uvx --from oxidize-pdf <command>
Config file
{
"mcpServers": {
"oxidize-pdf-mcp-server": {
"command": "uvx",
"args": [
"oxidize-pdf"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from oxidize-pdf <command>
Config file
{
"servers": {
"oxidize-pdf-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"oxidize-pdf"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from oxidize-pdf <command>
Platform CLI
gemini mcp add oxidize-pdf-mcp-server uvx oxidize-pdfuvx runs the command named after the package; if the README names another one, use uvx --from oxidize-pdf <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about oxidize-pdf MCP Server
How do I install oxidize-pdf MCP Server in Claude Code?
Run claude mcp add oxidize-pdf-mcp -- uvx oxidize-pdf. That registers the server in Claude and starts it through uvx.
What does oxidize-pdf MCP Server do?
It exposes 12 PDF tools to your agent: reading, text extraction, conversion, creation, splitting, merging, forms and encryption. Everything runs locally over stdio.
Why does tools/list come back empty?
Older installs had a tool registration bug when server.py was started directly. Upgrade to 0.20.0 or newer.