Skip to main content
Glama
renvk

pdf-search-mcp

by renvk

read_page_image

Render a PDF page as a PNG image for visual inspection when text extraction fails for formulas, diagrams, or tables. Optionally crop a region to read values from tables or dense data.

Instructions

Render a PDF page (or cropped region) as a PNG for visual inspection.

Use instead of read_page() when text extraction misses formulas, diagrams, or tables.

Workflow:

  1. First call: render the full page (no region, default dpi) to orient yourself. Do NOT raise dpi — default 140 already fills the vision model's 1568 px input limit. Higher DPI just gets downscaled.

  2. ALWAYS crop before reading values. Tables, formulas, and dense data are NOT reliably readable at full-page scale. Call again with region to crop the area of interest. DPI auto-scales to fill 1568 px for the crop — do NOT set dpi manually, it is computed automatically.

Args: filename: PDF filename exactly as shown in search results. page: 1-based page number. dpi: Render resolution (default 140, range 1-600). Leave at default for full-page renders. Ignored when region is set (auto-scaled to fill 1568 px). region: Crop box [x1, y1, x2, y2], each value 0.0–1.0, top-left origin. Required for reading values from tables, formulas, or figures — full-page scale is not reliable for these. Example: [0.0, 0.5, 1.0, 0.8] = band from 50–80% down the page. subfolder: Subfolder as shown in search results. Required when duplicate filenames exist; pass "" for the root folder.

Returns: stdio transport: the PNG file path on the first line — open it with your file-reading tool to view. Full-page renders append a crop-advisory line after the path; when passing the result to a file reader, use only the first line. http transport: the rendered PNG as inline image content (no file access needed). Full-page renders include the crop advisory as an additional text item. On error: a plain-text message describing the problem.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameYes
pageYes
dpiNo
regionNo
subfolderNo
Behavior5/5

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

No annotations provided, so description fully carries transparency. It discloses return behavior for both stdio and HTTP transports, error handling, DPI auto-scaling when region is set, and the crop advisory line appended to full-page renders.

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?

The description is well-structured with sections (purpose, workflow, args, returns) and front-loaded with key info. Though lengthy, every sentence adds value; minor redundancy could be trimmed.

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?

Despite no output schema, description fully covers return types for both transports, error messages, and the crop advisory. It addresses all edge cases: DPI auto-scaling, region usage, subfolder handling, and duplicate filenames.

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?

Schema coverage is 0%, yet the description explains each parameter in detail: filename source, 1-based page, DPI range and default with behavior when region is set, region format and example, subfolder usage. Adds constraints and usage tips beyond schema.

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 states the tool renders a PDF page or cropped region as PNG for visual inspection, and explicitly distinguishes it from read_page() for cases where text extraction misses formulas, diagrams, or tables.

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 provides a detailed workflow: first render full page to orient, then crop for reading values. It warns against raising DPI, explains when cropping is mandatory, and addresses duplicate filenames with subfolder. It directly recommends using this tool instead of read_page() for specific contexts.

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/renvk/pdf-search-mcp'

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