Skip to main content
Glama

Validate Template

validate_template
Idempotent

Test-compile a resume template against a built-in sample to confirm it renders PDFs, returns compile errors, and reports missing text or unsupported custom sections before use.

Instructions

Test-compile a template against a built-in sample resume. On success it becomes 'ready' (usable via render_pdf template_id) and a preview is available via get_rendered_pdf('template', id). On failure returns {ok: false, error} with the engine's compile error (Typst errors carry file:line:col). Returns {ok, error, parse_certified} — parse_certified is true when the template's compiled PDF round-trips through a strict text extractor with word boundaries intact, false when it drops text, null when not assessed. Also returns parse_report: {missing, headers_missing, extra_sections_supported, extra_sections_missing} — missing lists the exact sample phrases the PDF dropped; extra_sections_missing non-empty means the template will hard-fail rendering any resume that has custom sections.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
template_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.11.1

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the state transition to 'ready', the exact failure shape ({ok:false, error} with Typst file:line:col), and the semantics of parse_certified (true/false/null) and parse_report. The idempotentHint is reinforced by the deterministic test-compile behavior.

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?

Front-loads the purpose and outcome, then layers the return-value contract. Dense but each sentence carries information; the parse_certified/parse_report details are justified since there is no output schema. Slightly long, but 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?

With no output schema, the description carries the full burden of explaining return values, and it does so thoroughly for both success and failure paths, including the hard-fail warning for extra_sections_missing. An agent has everything needed to call and interpret this tool.

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?

Schema coverage is 0% and the sole parameter (template_id) has no schema description. The description references template_id only indirectly through render_pdf/get_rendered_pdf usage, and never says where template_id comes from (e.g., list_templates). It adds marginal meaning but leaves the parameter under-documented.

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?

States a specific verb+resource ('Test-compile a template') and explains the concrete outcome: on success the template becomes 'ready' and is usable via render_pdf. An agent can immediately distinguish this from create_template_draft or render_pdf.

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?

Clearly frames the use case as a pre-flight validation step ('On success it becomes ready... usable via render_pdf template_id'), implying it should be run before rendering. It does not name an explicit when-not-to-use or a competing alternative, but the context is unambiguous.

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

Deploy Server

Other Tools