Skip to main content
Glama

Read an existing compiled PDF

read_pdf
Read-only

Get the latest successful compiled PDF for an explicit entry .tex path, with a signed download link valid for at most 10 minutes, size, generation time, and freshness information. This never compiles, waits, or polls. A newer running or failed compile may coexist with an older successful PDF. Freshness is unknown unless later source changes are detected; never assume the PDF matches current or unsaved source. Download and open the PDF using a PDF-capable tool before discussing its contents or layout; a link alone is not a PDF inspection. If no result exists or it has expired, ask the user to compile in the web app. Use read_file for uploaded PDF assets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative entry .tex path, such as main.tex. Not a PDF path or URL.
projectIdYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
messageYes
mainPathYes
mimeTypeYes
freshnessYes
sizeBytesYes
compiledAtYes
downloadUrlYes
downloadExpiryYes
isLatestCompileYes
latestCompileStatusYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=true, destructiveHint=false), the description discloses the 10-minute signed-link expiry, freshness uncertainty, possible coexistence with newer failing compiles, and the requirement to actually open the PDF with a PDF-capable tool. This significantly enriches the agent's mental model without contradicting any annotation.

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?

Although the description is longer than average, every sentence carries distinct operational value: scoping, link expiry, freshness, tool selection, and failure handling. It is front-loaded with the core purpose and contains no filler.

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?

The tool has an output schema, so return-value details are already provided structurally. The description covers the remaining essential context: behavior, freshness caveats, expiration handling, and explicit fallback actions, making it complete for safe and correct invocation.

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

Parameters4/5

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

Schema coverage is only 50%, with projectId lacking a description. The description compensates strongly for the path parameter by clarifying it is project-relative, an entry .tex file, and not a PDF path or URL. However, it does not add semantic guidance for projectId beyond what the schema's uuid format already implies.

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 opens with a clear verb and resource: 'Get the latest successful compiled PDF for an explicit entry .tex path.' It also distinguishes itself from the sibling read_file by explicitly stating that read_file is for uploaded PDF assets, so an agent can disambiguate.

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 explicit usage guidance: it never compiles, waits, or polls; if no result exists or it has expired, the agent should ask the user to compile in the web app; and it names the alternative tool read_file for uploaded PDFs. This is strong when-to-use and when-not-to-use guidance.

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