Skip to main content
Glama

Read PDF

read_pdf

PDF to Markdown, pages e.g. 1-3 (default first 30). Sponsor pages are omitted and listed in adPages. Use only if you cannot run pdftotext: output is about pdftotext size, no token saving.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic http or https PDF, up to 20 MB. At most 30 pages are read.
pagesNoPages to read, such as 1-3 or 4. At most 30 pages. Default is the first 30. When the response includes next_page, pass pages starting there.
max_satsNoMost this call may charge. Minimum 1. A higher total charges nothing.
max_charsNoOptional cap on the Markdown length. The maximum is 200000 characters. (minimum 500).
include_textNoOff by default. Set true to also include the plain text.

Output Schema

NameRequiredDescriptionDefault
codeNoapproval_required, limit_exceeded, or insufficient_balance when the call stopped.
whichNoWhich limit: per_call, per_day, per_session, per_hour_buys, per_minute_calls, or per_minute_sats.
contentNoDelivered text. Empty when the call did not deliver.
messageNo
order_idNoOrder id after a charge. Null when nothing was charged.
truncatedNoTrue when the source was longer than content, or the page itself was cut.
total_costNoAll-in price string.
approval_urlNoPage where the person approves this exact price.
balance_satsNoCredit balance after the call, or null when it was not read.
sats_chargedNoSats charged for this call. 0 when nothing was charged.
total_lengthNoCharacters before truncation. Larger than content_length when truncated is true.
content_lengthNoCharacters in content.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

The description does disclose a real behavioral trait beyond annotations: sponsor pages are silently dropped and surfaced in adPages, and pagination is signaled via next_page. However, the annotations set readOnlyHint=false, which is unusual for a read operation and is almost certainly because the call is paid (max_sats), yet the description never mentions that the call costs sats — a notable omission that would surprise an agent.

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 short sentences, front-loaded with the resource and output format, then defaults, then the usage caveat. Slight redundancy with the schema on "default first 30" and the mildly vague "about pdftotext size" keep it out of 5 territory.

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

Completeness4/5

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

With an output schema present, return-value explanation is unnecessary, and the description covers the transformation, page defaults, sponsor omission, and the pdftotext fallback rationale. The one gap is that the paid nature of the call is not stated, leaving the non-readOnly annotation unexplained in prose.

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 100%, so url, pages, max_sats, max_chars, and include_text are all already documented, including the 1-3 format and default 30 pages. The description repeats the page-range example but adds no syntax, format, or semantics beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

The description states a concrete transformation ("PDF to Markdown") plus supporting detail on page selection and sponsor-page handling, so the agent knows exactly what the tool produces. It does not explicitly contrast itself with the sibling read_webpage/read_feed tools, which is the only thing keeping it from a 5.

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

Usage Guidelines4/5

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

"Use only if you cannot run pdftotext" is an explicit when-not condition, and the warning that output is not token-saving gives the agent a reason to prefer local tooling. It stops short of naming sibling alternatives (e.g. read_webpage) for other content types.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources