Skip to content
Agentmart
Submit a tool

oxidize-pdf MCP Server

MCP server for PDF generation, parsing, splitting, merging, and manipulation via oxidize-pdf

Connector by bzsanti · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 6
Write a review

Chalk Labs

Need help deploying oxidize-pdf MCP Server?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/bzsanti-oxidize-pdf-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for PDF generation, parsing, splitting, merging, and manipulation via oxidize-pdf

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
5 read · 4 write · 0 delete · 3 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 12

Read from the source code; the running server may list different tools.

Read 5 · Look things up without changing anything.

  • analyze_pdf
  • convert_pdf
  • extract_entities
  • extract_text
  • read_pdf

Write 4 · Create, change, send or run things.

  • add_pdf_content
  • create_pdf
  • manage_forms
  • save_pdf

Not yet classified 3 · We could not tell from the name and description.

  • annotate_pdf
  • manipulate_pdf
  • secure_pdf

Network hosts it talks to 3

  • github.com · found in code
  • glama.ai · found in code
  • rustwasm.github.io · found in code

Files it touches

  • /tmp/oxidize-python-627-dist/oxidize_pdf-0.20.1-cp310-abi3-manylinux_2_34_x86_64.whl
  • /tmp/oxidize-python-627-dist/oxidize_pdf-0.20.1.tar.gz
  • /tmp/oxidize-python-627-sdist-wheel/oxidize_pdf-0.20.1-cp310-abi3-manylinux_2_34_x86_64.whl
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (12)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_pdf_contentAdd content to a PDF session

    Append text or a new page to an open create_pdf session (step 2 of 3). Mutates the in-memory session; nothing is written to disk until save_pdf. Returns JSON {status, session_id, page_count} on success, or {error, code} if the session is missing/inactive or required text fields are absent. Coordinates use PDF points with the origin at the bottom-left of the page. Call repeatedly to build up pages, then call save_pdf. This only works on a session from create_pdf — to add notes/highlights to an existing PDF file use annotate_pdf instead.

  • analyze_pdfAnalyze / validate a PDF

    Inspect a PDF's structural health or conformance (does not read content). Returns JSON keyed by the chosen check: validate → {valid, error_count, warning_count}; corruption → {corrupted, corruption_type, severity, found_pages, file_size, errors}; compliance → {level, is_valid, error_count, warning_count, compliance_percentage}; compare → {structurally_equivalent, content_equivalent, similarity_score, difference_count}. Read-only. Use this to verify a file is well-formed, archival-grade, or identical to another. To read titles/author/page counts use read_pdf; for the text use extract_text.

  • annotate_pdfAnnotate a PDF

    Stamp a sticky note or highlight onto a page of an existing PDF. Writes the annotated copy to output_path (overwriting any existing file) and returns JSON {status, annotation_type}; out-of-range pages or coordinates outside the page bounds return {error, code}. Coordinates are in PDF points with the origin at the bottom-left. Use this to mark up a document. To reorder/rotate/overlay whole pages use manipulate_pdf; to author a new PDF use create_pdf.

  • convert_pdfConvert PDF to text representation

    Convert a whole PDF into a text representation for downstream LLM use. Returns JSON: {content, format} for 'markdown', or {chunks, format} for 'chunks'/'rag' (each chunk carries its index and page_numbers; rag chunks add token_estimate and heading_context). Read-only. Use this when you need structure or chunking. If you just want the raw reading text use extract_text; for per-run coordinates use extract_entities.

  • create_pdfStart a PDF creation session

    Open an in-memory PDF building session; the first step of authoring a PDF. Returns JSON {session_id, status, page_size}. No file is written here — this only allocates a session (with one blank starting page) held in server memory and subject to a TTL. Not idempotent: each call creates a new session. Workflow: create_pdf → add_pdf_content (text / new pages, repeatable) → save_pdf (writes the file and closes the session). To annotate or fill an existing PDF instead of authoring one, use annotate_pdf or manage_forms.

  • extract_entitiesExtract positioned text runs

    Extract every text run of a PDF together with its layout geometry. Returns JSON {path, entities, entity_count, page_count} where each entity is {text, page (0-based), x, y, font_size, font_name}. Coordinates are in PDF points with the origin at the bottom-left of the page. Read-only. Use this for layout-aware tasks (table reconstruction, positional lookup, locating a label on the page). If you only need the reading text without coordinates, use extract_text; for Markdown or RAG chunks use convert_pdf.

  • extract_textExtract plain text

    Extract the raw, unformatted text of a PDF as a single string. Returns JSON {text, page_count} (plus `page` when a specific page was requested). Read-only. Use this when you want the plain reading text. If you need Markdown structure or chunking for LLM/RAG pipelines use convert_pdf; if you need each text run with its on-page coordinates and font use extract_entities.

  • manage_formsManage PDF form fields

    Create, fill, read or validate PDF form fields. Returns JSON per operation: create→{status, fields_created}; fill→{status, fields_filled}; read→{path, fields, page_count}; validate→{valid, fields}. 'create'/'fill' write output_path (overwriting); 'read'/'validate' are read-only computations. Honest limitations: 'fill' lays the values into a new overlay at computed positions rather than mapping them onto the original AcroForm widgets; 'read' returns the page's text runs (not declared AcroForm field objects); 'validate' currently enforces only a non-empty (required) rule per value. For page-st…

  • manipulate_pdfRestructure PDF pages

    Restructure the pages of existing PDF file(s) and write a new PDF. Each operation writes to output_path (overwriting any existing file) and returns JSON {status, operation}; on a missing required argument it returns {error, code}. Per-operation requirements: merge→input_paths; rotate→degrees; extract_pages→page_indices; overlay→overlay_path; split→output_path is a directory. Page indices are 0-based. Use this for page-level structure. To stamp notes/highlights use annotate_pdf; to fill form fields use manage_forms; to encrypt use secure_pdf.

  • read_pdfRead PDF metadata

    Read a single PDF's document-level metadata without parsing its content. Returns a JSON object with: page_count, is_encrypted, version, title, author, subject, keywords, and (when include_page_details=true) a `pages` array of {index, width, height, rotation}. Read-only: never modifies the file. Use this to inspect what a PDF is before deciding how to process it. For structural validation, corruption/PDF-A checks, or comparing two files use analyze_pdf instead; for the actual text use extract_text. Encrypted files without a password return {is_encrypted, locked, message} rather than metadata.

  • save_pdfSave and close a PDF session

    Render an open create_pdf session to a PDF file (step 3 of 3, terminal). Builds a Document from the session's accumulated pages, writes it to output_path (overwriting any existing file), then deletes the session — so the session_id is no longer usable afterwards. Returns JSON {status, path, page_count}, or {error, code} if the session is missing. Only finalizes sessions created via create_pdf/add_pdf_content. To encrypt an already-saved PDF use secure_pdf; to add annotations use annotate_pdf.

  • secure_pdfEncrypt / inspect PDF security

    Encrypt a PDF, report its encryption status, or verify its signatures. Returns JSON per operation: encrypt→{status, operation, page_count, note}; permissions→{path, is_encrypted, unlocked, permissions}; verify_signatures→ {path, signatures, signature_count}. 'permissions' and 'verify_signatures' are read-only; 'encrypt' writes output_path (overwriting). Caveat: 'encrypt' rebuilds the document from its text, preserving content and layout but possibly dropping images, embedded fonts and vector graphics (the current API has no in-place encryption). To encrypt a PDF you are authoring, pass the p…

Signals

Stars
6
Forks
1
Open issues
4
Weekly downloads
552
Last commit
Oct 11, 2026 (19 days ago)
Last release
Oct 25, 2026 (5 days ago)
Last package publish
Oct 11, 2026 (19 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.bzsanti/oxidize-pdf-mcp
Version
0.23.0
Auth
No auth
Packages
pypi oxidize-pdf
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 26, 2026

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get oxidize-pdf MCP Server running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying oxidize-pdf MCP Server?

CallGet help
Cite this page

oxidize-pdf MCP Server. Agent Mart. https://agentmart.dev/connectors/bzsanti-oxidize-pdf-mcp (last updated 2026-10-26)