Skip to main content
Glama

Fill a public template and get a PDF

render_public_template

Fill a public template with the user's data and return a PDF link. Data must match the template's schema (see get_public_template); a missing field comes back as a list of what to ask for, and costs nothing. The designs of one document take the same data (the five resume designs, as do the packing slip and the delivery note), so switching design is the same call with a different slug, and color prints a design in another of its colours. Works without an API key within the daily free limit.

Input Schema

NameRequiredDescriptionDefault
dataYesValues for the template's fields.
colorNoOptional: one of the template's colours (list_public_templates), e.g. navy. Left out, the default.
templateYesTemplate slug, e.g. modern-resume.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / color
      Added value: +{
      +  "description": "Optional: one of the template's colours (list_public_templates), e.g. navy. Left out, the default.",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false), the description discloses the return value (a PDF link), the failure mode (missing fields return a list of what to ask for at no cost), cross-design data portability, and the API-key/rate-limit situation. That is exactly the kind of behavior an agent can't infer from annotations or schema.

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 purpose is front-loaded in sentence one and every sentence carries information. The middle sentence is dense and runs together design equivalence, colour variants, and the reason switching is cheap, which makes it slower to parse than it needs to be.

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?

There is no output schema, and the description compensates by describing both the success return (PDF link) and the failure return (list of missing fields, free of charge). With three fully documented parameters and a clear rendering workflow, an agent has everything needed to call it correctly.

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 100%, so the baseline is 3; the description adds real meaning by saying `data` must satisfy the template's schema from get_public_template and is portable across designs of the same document. It also restates the `color` behavior, which the schema already covers, so the gain is modest rather than decisive.

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 first sentence names a specific verb (fill), a specific resource (public template), and the concrete outcome (a PDF link). It also implicitly separates itself from the sibling readers by pointing at get_public_template and list_public_templates for their respective jobs.

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 gives a clear prerequisite chain: fetch the schema via get_public_template before calling, and fetch colours via list_public_templates. It also explains the design-switching pattern (same call, different slug) and the no-API-key free-limit condition. It never states when to prefer the sibling `compile` instead, so it stops short of full alternatives coverage.

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.