Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI โ†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE โ†— (opens in a new tab)
  • llms.txt โ†— (opens in a new tab)
  • Catalog JSON โ†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub โ†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
ยฉ 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ๐Ÿ“‚ File Systems
  3. Oxidize Python
Oxidize Python logo
Health: ActiveRecent health check succeeded.Last checked 9/11/2026, 8:33:03 PM

Oxidize Python

User RatingsBe the first to rate and review this MCP server!
View Repository5 GitHub StarsTotal stargazers on GitHub for the source repository (5 stars).Visit Website
pdffile-systemsrustpythonmcp

Rust-based Python MCP server for PDF creation, reading, manipulation, extraction, and encryption with local workspace sandboxing.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
We couldnโ€™t automatically confirm this listing starts correctly

The install command below didn't complete successfully in our automated test.

uvx --from

error: a value is required for '--from <FROM>' but none was supplied For more information, try '--help'.

This is an experimental automated check and can have false negatives โ€” missing environment variables, a slow cold install, etc. It doesnโ€™t necessarily mean somethingโ€™s wrong. Last checked 1mo ago.

Manual Client & Custom JSON ConfigExpand JSON โ–พ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "bzsanti-oxidize-python": {
      "command": "uvx",
      "args": [
        "--from"
      ]
    }
  }
}

๐Ÿ’ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Tool Schemas (12) Directory Badge Claim listing Alternatives๐Ÿ“‚ More in File Systems

Overview

This MCP server provides AI agents with comprehensive PDF handling capabilities including reading metadata, extracting text and entities, converting to markdown, and manipulating pages. It supports creating, annotating, encrypting, and validating PDFs with native Rust performance and no external dependencies. The server runs locally over stdio and operates on PDFs within a configurable workspace directory, making it suitable for secure, performant PDF workflows integrated with AI agents.

Use cases

โ€ขExtract text and structured entities from PDF documents
โ€ขSplit, merge, rotate, and reorder PDF pages
โ€ขCreate and annotate PDFs with text, graphics, and form fields
โ€ขEncrypt PDFs and verify digital signatures
โ€ขConvert PDFs to markdown or RAG-optimized formats

Key features

โ€ขRead PDF metadata including page count and encryption status
โ€ขExtract text from all or specific pages
โ€ขCreate, save, and manipulate PDF sessions with encryption support
โ€ขAdd annotations, highlights, and form fields
โ€ขValidate PDF structure and compliance (e.g., PDF/A)
โ€ขConfigurable workspace sandbox with file size and session limits

Capabilities & Tool Schemas (12) ~177 tokensApproximate context cost of this serverโ€™s tool schemas (~4 chars/token), before any tool is called. Actual usage depends on your client and model.Self-reported Self-reportedParsed from the repository README, not verified against a live server โ€” may be incomplete or out of date.

Inspect callable tools, capabilities, and parameters exposed to AI agents by Oxidize Python.

read_pdf

Read metadata โ€” page count, version, encryption status, title, author

extract_text

Extract text from all pages or a specific page

convert_pdf

Convert to markdown, chunks, or RAG-optimized format

create_pdf

Create a new PDF with optional metadata

save_pdf

Save a session to disk, with optional encryption

add_content

Add pages, text, and graphics to a session

Documentation Overview

oxidize-pdf

PyPI version CI License: MIT Python Typed MCP

oxidize-python MCP server

Rust-powered PDF library for Python. Generate, parse, split, merge, and manipulate PDFs with native performance. Ships with a built-in MCP server so AI agents can work with PDFs out of the box.

No C dependencies. No Java. No subprocess calls.

Installation

Terminal
pip install oxidize-pdf            # Core library
pip install "oxidize-pdf[mcp]"     # + MCP server for AI agents

Platforms: Linux (x86_64, aarch64) | macOS (x86_64, Apple Silicon) | Windows (x86_64) Requires: Python 3.10+

Why oxidize-pdf?

oxidize-pdfPure-Python libsC/Java wrappers
PerformanceNative (compiled Rust)InterpretedNative but heavy
DependenciesZeroVariesPoppler, Java, Ghostscript
Memory safetyRust ownership modelGC-dependentManual / GC
Type stubsFull (mypy/pyright)PartialRare
AI-ready (MCP)Built-inNoNo

MCP Server

Give your AI agent full PDF capabilities in one line:

bash
oxidize-mcp

The built-in Model Context Protocol server exposes 12 tools, 6 resources, and 5 prompts โ€” compatible with Claude, GPT, and any MCP client.

Claude Desktop integration

Add to your claude_desktop_config.json:

config.json
{
  "mcpServers": {
    "oxidize-pdf": {
      "command": "oxidize-mcp",
      "env": {
        "OXIDIZE_WORKSPACE": "/path/to/your/pdfs"
      }
    }
  }
}

GitHub Copilot (VS Code) integration

Copilot's agent mode speaks MCP. Add .vscode/mcp.json to your workspace:

config.json
{
  "servers": {
    "oxidize-pdf": {
      "command": "oxidize-mcp",
      "env": {
        "OXIDIZE_WORKSPACE": "/path/to/your/pdfs"
      }
    }
  }
}

Open the Chat view, switch to Agent mode, and the 12 PDF tools appear in the tool picker. (The same block also works under the mcp.servers key in your user settings.json if you prefer a global install.)

OpenAI Agents SDK integration

The OpenAI Agents SDK spawns the server over stdio and exposes its tools to an agent:

server.ts
from agents import Agent, Runner
from agents.mcp import MCPServerStdio

async with MCPServerStdio(
    params={"command": "oxidize-mcp", "env": {"OXIDIZE_WORKSPACE": "/path/to/your/pdfs"}},
    cache_tools_list=True,
) as server:
    agent = Agent(
        name="PDF assistant",
        instructions="Use the oxidize-pdf tools to inspect and manipulate PDFs.",
        mcp_servers=[server],
    )
    result = await Runner.run(agent, "How many pages does report.pdf have?")
    print(result.final_output)

A runnable version is in examples/openai_agents_quickstart.py.

Both integrations run the server locally over stdio, so its tools operate on PDFs in the configured workspace directory. Remote/hosted use (e.g. the OpenAI Responses API hosted MCP tool) needs an HTTP transport and is not yet exposed.

Available tools

ToolWhat it does
read_pdfRead metadata โ€” page count, version, encryption status, title, author
extract_textExtract text from all pages or a specific page
convert_pdfConvert to markdown, chunks, or RAG-optimized format
create_pdfCreate a new PDF with optional metadata
save_pdfSave a session to disk, with optional encryption
add_contentAdd pages, text, and graphics to a session
annotate_pdfAdd text annotations and highlights
manipulate_pdfSplit, merge, rotate, extract pages, reverse, overlay
manage_formsCreate, fill, read, and validate form fields
secure_pdfEncrypt, check permissions, verify signatures
extract_entitiesExtract structured entities from pages
analyze_pdfValidate structure, detect corruption, check PDF/A compliance

The server also exposes resources (session data, capabilities, version info) and prompts (guided workflows for summarization, data extraction, form filling, and more).

Configuration

bash
OXIDIZE_WORKSPACE=/path/to/pdfs oxidize-mcp

The server is configured entirely through environment variables:

VariableDefaultPurpose
OXIDIZE_WORKSPACE~/Documents/oxidize-mcpSandbox root; all paths must resolve inside it.
OXIDIZE_ALLOWED_PATHS(none)Comma-separated extra directories allowed outside the workspace.
OXIDIZE_MAX_FILE_SIZE_MB100Reject input PDFs larger than this on disk.
OXIDIZE_MAX_PAGES10000Reject documents with more pages than this before any extraction work.
OXIDIZE_MAX_OUTPUT_BYTES10485760Cap the serialized size of a tool's JSON response (10 MB).
OXIDIZE_MAX_SESSIONS10Maximum concurrent stateful PDF-creation sessions.
OXIDIZE_MAX_SESSION_BYTES10485760Cap the content a single session may accumulate (10 MB).
OXIDIZE_SESSION_TIMEOUT3600Session expiry, in seconds.

Resource caps (OXIDIZE_MAX_*) protect the server from a large or malicious PDF: oversized documents are rejected up front and tool responses are bounded rather than serialized unbounded. Exceeding a cap returns an error with code RESOURCE_LIMIT.

Or start programmatically:

server.ts
from oxidize_pdf.mcp.server import run
run()

Python API

Create a PDF

server.ts
from oxidize_pdf import Document, Page, Font, Color

doc = Document()
doc.set_title("My Document")
doc.set_author("Jane Doe")

page = Page.a4()
page.set_font(Font.HELVETICA, 24.0)
page.set_text_color(Color.black())
page.text_at(72.0, 750.0, "Hello from oxidize-pdf!")

page.set_font(Font.TIMES_ROMAN, 12.0)
page.text_at(72.0, 700.0, "Generated with Python + Rust.")

doc.add_page(page)
doc.save("output.pdf")

Parse an existing PDF

server.ts
from oxidize_pdf import PdfReader

reader = PdfReader.open("document.pdf")
print(f"Pages: {reader.page_count}, Version: {reader.version}")

for i, text in enumerate(reader.extract_text()):
    print(f"--- Page {i + 1} ---")
    print(text)

Operations

server.ts
from oxidize_pdf import split_pdf, merge_pdfs, rotate_pdf, extract_pages

split_pdf("input.pdf", "output_dir/")                       # Split into individual pages
merge_pdfs(["part1.pdf", "part2.pdf"], "merged.pdf")         # Merge multiple PDFs
rotate_pdf("input.pdf", "rotated.pdf", 90)                   # Rotate all pages
extract_pages("input.pdf", "subset.pdf", [0, 2, 4])          # Extract specific pages

Graphics

server.ts
from oxidize_pdf import Document, Page, Color

doc = Document()
page = Page.a4()

page.set_fill_color(Color.hex("#3498db"))
page.draw_rect(72.0, 700.0, 200.0, 100.0)
page.fill()

page.set_stroke_color(Color.red())
page.set_line_width(2.0)
page.draw_circle(300.0, 500.0, 50.0)
page.stroke()

doc.add_page(page)
doc.save("graphics.pdf")

Types

server.ts
from oxidize_pdf import Color, Point, Rectangle, Margins, Font

# Colors
Color.rgb(1.0, 0.0, 0.0)          # RGB
Color.hex("#ff6600")               # Hex
Color.cmyk(0.0, 1.0, 1.0, 0.0)   # CMYK

# Geometry
Point(72.0, 720.0)
Rectangle.from_xywh(72.0, 72.0, 468.0, 648.0)
Margins.uniform(72.0)

# Fonts โ€” all 14 standard PDF fonts
Font.HELVETICA    # Font.HELVETICA_BOLD
Font.TIMES_ROMAN  # Font.TIMES_BOLD
Font.COURIER      # Font.COURIER_BOLD

Error handling

server.ts
from oxidize_pdf import PdfReader, PdfError, PdfIoError, PdfParseError

try:
    reader = PdfReader.open("missing.pdf")
except PdfIoError as e:
    print(f"I/O error: {e}")
except PdfParseError as e:
    print(f"Parse error: {e}")
except PdfError as e:
    print(f"PDF error: {e}")

Exception hierarchy: PdfError > PdfIoError, PdfParseError, PdfEncryptionError, PdfPermissionError

MCP Server

oxidize-pdf includes an MCP server that exposes PDF capabilities to AI assistants like Claude. Install with the mcp extra:

Terminal
pip install oxidize-pdf[mcp]

Claude Desktop

Add this to your claude_desktop_config.json:

config.json
{
  "mcpServers": {
    "oxidize-pdf": {
      "command": "uvx",
      "args": ["--from", "oxidize-pdf[mcp]", "oxidize-mcp"]
    }
  }
}

Claude Code

Terminal
claude mcp add oxidize-pdf -- uvx --from "oxidize-pdf[mcp]" oxidize-mcp

Available tools

Read the full README โ†’View source on GitHub โ†’

Related MCP Servers

View all in File Systems View all alternatives
  • Md To Pdf MCP logoMd To Pdf MCP

    Convert Markdown files to professional PDFs with customizable themes, headers, footers, and styling

    ๐Ÿ“‚ File Systems2 views
    Compare vs Md To Pdf MCP โ†’
  • Pdf Card MCP logoPdf Card MCP

    Converts local PDFs into source-linked, card-based standalone HTML readers with notes, highlights, and static publishing.

    ๐Ÿ“‚ File Systems1 views
    Compare vs Pdf Card MCP โ†’
  • Chisel logoChisel

    Reduce context usage on file use. Send only unified diffs instead of full files (up to 20-100ร— fewer tokens), and read large files with targeted grep/sed instead of full reads (up to 500ร—). Kernel-enforced path confinement hard-locks the agent to a configured root: no accidental reads or writes outside scope. Standalone for your file access or embed in any MCP server (Rust, Node.js, Python via WASM).

    ๐Ÿ“‚ File Systems3 views
    Compare vs Chisel โ†’
  • MCP Text Editor logoMCP Text Editor

    A line-oriented text file editor. Optimized for LLM tools with efficient partial file access to minimize token usage.

    ๐Ÿ“‚ File Systems1 views
    Compare vs MCP Text Editor โ†’

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks โ€” not a rating.

GitHub stars
5
Stargazers on the source repository.
Last commit
8d ago
Most recent push to the default branch.
Install check
Inconclusive
Install command did not finish in our automated test.
Tools exposed
12
Callable tools this server registers over MCP.
Directory activity
2 views
Config copies, upvotes, and views on AllMCPs.

Reviews

No reviews yet โ€” be the first to share how this listing worked for you.

Frequently Asked Questions about Oxidize Python

Install with pip and run the command 'oxidize-mcp' after setting OXIDIZE_WORKSPACE to your PDF directory.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOxidize Python AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/bzsanti-oxidize-python?style=directory)](https://allmcps.com/mcp/bzsanti-oxidize-python)
HTML Embed
<a href="https://allmcps.com/mcp/bzsanti-oxidize-python"><img src="https://allmcps.com/api/badge/bzsanti-oxidize-python?style=directory" alt="Oxidize Python on AllMCPs" /></a>

Technical Specs & Signals

Category๐Ÿ“‚File Systems
PricingFree
More technical detailsExpand โ–พ
TransportSTDIO
RuntimePython
AuthNo auth required
LicenseMIT
ClientsClaude Desktop, Cursor, Windsurf
Last updatedSep 3, 2026
Views2
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars5
GitHub Star CountTotal stargazers on GitHub representing community popularity (5 stars).
Last commit8d ago
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Sep 3, 2026
59Quality signal: Good ยท 59/100How this signal is calculated โ–พ
Server availabilityNot measured

Not scored for repo-hosted servers โ€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership10/20
Documentation & tools29/30
Adoption & activity5/15
Community engagement0/10

A guidance signal from public completeness & health data โ€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 24d ago via OSV.dev ยท --from (PyPI)

โ˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge โ€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it โ€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ๐Ÿ“‚ File Systems โ†’Best MCP servers for File Systems โ†’Alternatives to Oxidize Python โ†’Install in Claude DesktopInstall in CursorInstall in VS Code