Skip to main content
Glama
Cairnstew

paper-handler-mcp

by Cairnstew

paper_render

Render a single paper or the entire corpus to PDF, returning output path, size, and a short error tail on failure.

Instructions

Render one paper (or the whole corpus with all=true) to PDF. Returns the output path, size and, on failure, a short stderr tail — not the full Quarto log.

Input Schema

NameRequiredDescriptionDefault
allNo
nameNo
engineNo
keep_goingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the return payload (output path, size) and that failure surfaces only a short stderr tail rather than the full Quarto log — a genuinely useful expectation-setting detail. However, it never states that this is a write operation, whether existing PDFs are overwritten, or what permissions/environment it requires.

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?

Two tight sentences, front-loaded with what is rendered and how to widen scope, followed by the return-value caveat. Nothing is padded or redundant.

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

Completeness3/5

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

The description compensates for the absent output schema by describing return values, and clarifies the all/name scope. But with no annotations and 0% parameter coverage, the engine selection and keep_going semantics — which materially affect behavior — remain undocumented, leaving the definition incomplete for a 4-parameter tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must document the four parameters, but it only explains 'all' (and implicitly 'name'). The 'engine' enum (typst/latex/both) and 'keep_going' are left entirely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Render') and resource ('one paper / the whole corpus') with a concrete output format (PDF), so an agent immediately knows what the tool produces. The single-paper vs. corpus distinction is explicit, though there is no sibling render tool to differentiate against.

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

Usage Guidelines3/5

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

It states the two modes ('one paper' vs. 'whole corpus with all=true'), which implies usage, but gives no when-not guidance, no prerequisites (e.g., Quarto must be installed), and no guidance on choosing an engine or when to use keep_going.

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