Skip to main content
Glama
okra-project

okraPDF PDF MCP server

Official
by okra-project

View Document

view_document

Visualize and verify PDF extraction by rendering page images with bounding-box overlays and a clickable block list.

Instructions

Show the VISUAL extraction of a parsed okraPDF document: page images with colored bounding-box overlays over the extracted blocks that have bbox data (a bounded set per page), plus a clickable block list (click a box to highlight its text, and vice versa). Use after upload_document to let the user see and verify the extraction. Pass document_id and optional pages. For the structured text output instead (parsed nodes as plain reading HTML, no images), use inspect_html.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pagesNoPages to render, 1-indexed. Range ("1-5"), list ("1,3,7"), or single ("2"). Defaults to the first 3 pages. Capped at 8.
document_idYesokraPDF document ID to visualize (e.g. doc-abc123).
Behavior4/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It transparently describes the visual behavior: page images, bounding-box overlays limited to blocks with bbox data, and interactive highlighting. It does not explicitly state that the operation is read-only, but the 'view' nature strongly implies non-mutation, and the described behavior is detailed enough to set expectations.

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 sentences with no waste. It front-loads the core purpose, includes the interactive details, gives usage context, and adds an alternative in a compact form. Every sentence earns its place.

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 moderate complexity and lack of output schema, the description adequately explains what the user sees, the interactive behavior, and the proper sequencing after upload_document. It also names the primary alternative for structured output. No significant gaps are evident.

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?

The schema already provides 100% coverage for both parameters, including the pages format, defaults, and cap. The description only says 'Pass document_id and optional pages,' which adds no additional meaning beyond the schema. Baseline 3 is appropriate since the schema does the heavy lifting.

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 uses a specific verb 'Show' and clearly identifies the resource: the visual extraction of a parsed okraPDF document. It details the visual output (page images with bounding-box overlays and a clickable block list) and explicitly distinguishes itself from the sibling tool inspect_html, making its purpose unambiguous.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool ('Use after upload_document to let the user see and verify the extraction') and names a clear alternative ('For the structured text output instead... use inspect_html'). This provides strong contextual guidance for tool selection.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/okra-project/pdf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server