Skip to main content
Glama
formfeed-dev

formfeed

Official

Validate a template with data

validate_template
Read-only

Check a template against your data before rendering to catch syntax errors, missing fields, and type mismatches. Validate HTML or Word/PowerPoint templates and resolve warnings first.

Instructions

Checks a template with data without rendering; free. With a template slug the API checks the version a render uses (the published one, else the latest) as the render would: syntax, header and footer, errors that happen only with this data, and the data against the template's stored JSON Schema (a wrong type or a missing required field is an error). With html plus engine it compiles offline and reports syntax errors, unknown filters and variables missing from the data. Warnings leave ok true: treat each one as a question to settle before rendering. For Word and PowerPoint templates the findings name the document part and paragraph.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
htmlNoTemplate source when no slug is given
engineNoRequired with html
templateNoTemplate slug or tpl_ id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.7

TDQS

A4.6/5.0
Behavior5/5

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

The description goes well beyond the readOnlyHint=true annotation: it states that no rendering occurs, that slug-mode checks the same version a render would, that html-mode compiles offline, that warnings preserve ok true, and that Word/PowerPoint findings include document part and paragraph. This is rich, actionable behavioral detail.

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?

The description is dense but not bloated: five sentences, each earning its place. The first sentence front-loads the core purpose and cost/rendering behavior, followed by mode details, warning semantics, and output location details. No filler or redundancy.

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

Completeness4/5

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

For a read-only validation tool with no output schema, the description covers most critical aspects: modes, error categories, warning behavior, and output granularity. It falls slightly short by not explicitly stating the required combination of template or html+engine (the schema lists no required fields), and by leaving the overall response structure mostly implicit aside from the ok flag.

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?

The schema already documents data, html, engine, and template with 75% coverage. The description adds meaningful semantics: template can be a slug or tpl_ id, slug mode validates the published-or-latest version, html mode requires engine and compiles offline, and data is validated against the stored JSON Schema. This supplements the schema effectively.

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 'Checks a template with data without rendering; free,' naming a specific action, resource, and the key differentiator from rendering. It further clarifies two distinct invocation modes (slug vs html+engine), making the purpose unmistakable.

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?

It clearly implies usage: validate before rendering, avoid rendering costs, and choose between a template slug or html+engine mode. However, it never explicitly states that exactly one of these modes is required, nor does it discuss when not to use it relative to sibling tools like get_template_schema.

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