Skip to main content
Glama

check_pdf_layout

Analyze PDF typography and layout: per-character font metrics, spacing, margins, collisions, and font substitution flags. Identifies formatting anomalies in generated documents.

Instructions

Per-character font/size/coordinates, computed baseline spacing, margin/indent consistency, font inventory, declared-vs-embedded font substitution detection, and intra-line horizontal collision flags (tab-stop-overflow signature). Facts and anomaly flags only — never a verdict on correctness (see the server's global instructions).

Accepts the document either as a filesystem path OR as inline content_base64 (with filename required alongside it) — for a .pdf that only exists in the conversation rather than saved to disk. Exactly one of the two input forms must be given.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
filenameNo
content_base64No

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
flagsYes
formatYes
marginsYes
line_countYes
page_countYes
font_inventoryYes
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 explicitly states that the tool returns 'facts and anomaly flags only — never a verdict on correctness', which is a key behavioral trait. It also discloses the input-modality constraint (exactly one form). While it doesn't state side effects (e.g., file modification), the tool is clearly read-only by nature, and the description covers the main behavioral nuance an agent needs.

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 dense but not wasteful. It front-loads the tool's analysis features, then clarifies the output nature, then details input requirements. Every sentence contributes value. It's slightly longer than necessary but the information is tightly packed. A score of 4 reflects that it is efficient without being minimal.

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 and the existence of an output schema (which covers return values), the description provides all necessary context: what the tool analyzes, its non-verdict nature, and the exact input forms. It even includes domain-specific details like 'tab-stop-overflow signature'. Nothing an agent needs to invoke it correctly is missing.

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?

With schema description coverage at 0%, the description fully compensates by explaining the relationship between parameters: path vs. content_base64, the requirement that filename accompanies content_base64, and the rationale for inline content. This adds meaning far beyond the bare schema, which only lists names. The agent can correctly choose and combine parameters based on this 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?

The description names a specific verb context ('Per-character font/size/coordinates, computed baseline spacing...') and a specific resource (PDF layout analysis), listing concrete features that distinguish it from siblings like check_docx_structure or check_language. It unambiguously states what the tool does and clearly separates it from the other document-analysis tools.

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 gives clear input conditions: exactly one of 'path' or 'content_base64' must be provided, and 'filename' is required with inline content. This is explicit usage guidance for the parameters. It does not name alternatives or state when not to use this tool, but the purpose is specific enough that an agent can infer it's for PDF layout checks. Context on when to use inline content (file only in conversation) is provided, which is useful.

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/Nasser9892/vellum-mcp'

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