Skip to main content
Glama

pdf_split

Idempotent

Split a PDF into one file per page range or per page, and verify each output's page count and page identity against the source.

Instructions

Split a PDF into one file per page range ('1-3', '5', '7-' to the end) or one file per page (each_page=true). Files are named _p-.pdf. The report checks each output's page count and that every page is identical to its source page. [docbridge schema 0.2.4]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailNosummary: report_summary + report_id (get_report has the rest). full: the whole report inline.summary
rangesNo1-based ranges; exactly one of ranges/each_page.
each_pageNo
overwriteNo
input_pathYesAbsolute file path.
output_dirNo
raster_dpiNoRender resolution for the page-identity check.
report_pathNo
max_differencesNoDifferences kept in the full report; the rest are counted.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolYes
errorNo
reportNoThe full report. Over MCP only with detail='full'.
outputsNo
report_idNoPass to get_report for the full report (held for this server session).
disclaimerNodocbridge never alters, summarizes or silently truncates source evidence. docbridge reports what it compared. PASS on an axis covers only that axis's stated scope; NOT_CHECKED and UNSUPPORTED are never passes. PDF text is the text layer as PyMuPDF decodes it, not the rendered glyphs. Nothing here interprets meaning: numbers are compared as characters, not as values.
report_pathNo
report_summaryNo
schema_versionYes
conversion_notesNo
operation_completedYesThe operation ran and wrote its outputs. Says NOTHING about fidelity: read the report status.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.4

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond the annotations (which only cover safety: non-destructive, idempotent) by disclosing the output naming convention and the per-page identity/page-count verification the report performs. It does not explain overwrite-collision behavior, which matters for a write tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with the core behavior and mode switch. The trailing '[docbridge schema 0.2.4]' tag is noise that earns no place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, and the description covers modes, naming, and verification. For a 9-parameter mutation tool, however, it leaves overwrite semantics and several optional parameters unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 56%; the description usefully adds range format examples ('1-3', '5', '7-') that the schema lacks. But overwrite, output_dir, report_path, detail, and max_differences get no mention in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Split a PDF') with both operating modes named inline and concrete range syntax examples. An agent can immediately distinguish it from the sibling pdf_merge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The two modes (ranges vs each_page) are explained, which implies how to invoke it, but there is no explicit when-to-use-this-vs-alternatives guidance and no exclusions. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.