Skip to main content
Glama

PDF to text or JSON

pdf_extract

Extract any PDF up to 10 MB by URL. format='text' returns one clean plain-text string; format='json' returns a per-page text array plus document metadata. Parsed in-Worker, no upstream service. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free pricing tool lists every price at once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the PDF.
formatNoFlat text, or per-page JSON with metadata.text
x_paymentNoOptional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description properly carries the burden. It discloses that parsing happens in-Worker without an upstream service (privacy/latency trait) and fully explains the two-step payment protocol: call without x_payment to receive terms, sign them, then call again to settle. This gives agents a clear model of the tool's non-trivial behavior.

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

Conciseness5/5

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

The description is two concise sentences that front-load the core purpose, then detail formats, processing location, and payment. Every sentence earns its place; there is no fluff or redundancy, making it easy for an agent to quickly extract all relevant information.

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

Completeness5/5

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

Given the tool's complexity (payment flow, multiple formats, size limit), the description covers all essential aspects: the input method and constraint, return structure, execution environment, and the payment workflow. It even points to the sibling pricing tool for cost transparency, leaving no critical gaps despite the absence of an output schema.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds meaningful semantics beyond the field descriptions: it spells out the exact output structure for each format value (clean single string vs per-page array plus metadata) and explains the x_payment handshake in detail. This is essential for correct invocation and goes well beyond what the schema states.

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?

The description clearly specifies the tool's function: extracting PDFs by URL (up to 10 MB) and returning text or JSON. It explicitly distinguishes itself from siblings by clearly stating the input method and both output formats, making it unmistakable which tool to use for PDF extraction.

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?

The description establishes clear context: when to use this tool (for PDF extraction via URL) and the payload format. It does not explicitly mention alternatives or exclusion criteria, but the context is straightforward and the sibling name 'read_url' could be confused, yet the PDF-specific scope prevents ambiguity.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool serves a clearly distinct function—data discovery, holidays, icons, OCR, news, PDF extraction, pricing, URL reading, data requests, screenshots, timezone, and weather. There is no overlap in purpose; even read_url and screenshot_url differ by output format (markdown vs PNG).

Naming Consistency4/5

All tool names use lowercase snake_case and are readable, but the pattern is not uniformly verb_noun—some are nouns (holidays, news, pricing, timezone, weather) while others are verb_noun (find_data, read_url). This is a minor inconsistency that doesn't impede predictability.

Tool Count5/5

With 12 tools, the server sits comfortably within the ideal 3–15 range. Each tool earns its place covering a distinct web utility, and the count matches the broad but well-defined scope of a general-purpose web toolbox.

Completeness4/5

The tool surface is fairly complete for a general-purpose web utility server, covering common tasks like fetching, extracting, searching, and checking time/weather/holidays, plus meta tools (pricing, request_data). Minor gaps like a generic text summarizer or video tool exist, but nothing critical for the intended purpose.

Resources