Skip to main content
Glama

Vorlage mit Werten füllen

template_apply_with_merge_fields
Read-only

Füllt die Platzhalter einer gespeicherten Vorlage mit deinen Werten und gibt Betreff und Inhalt oder ein vollständiges Anschreiben-Formular-Paket zurück. Bei einer Blockvorlage kommen statt content die fertigen blocks zurück. Briefkopf und Marke werden getrennt bei Vorschau oder Versand gewählt. Eine eigenständige Formularvorlage mit sendable:false und releaseBlocker:null braucht coverTemplateId aus einer direkt adressierbaren Briefvorlage; eine gespeicherte Verknüpfung bleibt nur der optionale Standard. Übergib danach templateId, templateVersionId, coverTemplateId, coverTemplateVersionId und die ursprünglichen templateMergeValues unverändert an order_send. Gib Paketabschnitte so weiter, wie sie zurückkommen. Fehlt eine Pflichtangabe, antwortet das Tool mit MERGE_FIELDS_MISSING und nennt die fehlenden oder ungültigen Felder. EN: Fills a saved template and returns subject and content or a complete cover-form package. For a block template the finished blocks are returned instead of content. Letterhead and brand are selected separately at preview or send time. A standalone form template with sendable:false and releaseBlocker:null needs coverTemplateId from a directly addressable letter template; a saved link is only the optional default. Then pass templateId, templateVersionId, coverTemplateId, coverTemplateVersionId and the original templateMergeValues unchanged to order_send. Pass package sections on exactly as they come back. If a required value is missing, the tool returns MERGE_FIELDS_MISSING and lists the missing or invalid fields.

Input Schema

NameRequiredDescriptionDefault
languageNoSprache für die Formatierung von Betrag und Datum. Standard de. EN: Language for money and date formatting. Defaults to de.
reasoningNo
templateIdYesId der Vorlage aus template_list / template_get. EN: The template ID from template_list / template_get.
mergeValuesNoZuordnung von Platzhalter-Namen zu Werten, z. B. { "provider": "Telekom" }. Der Typ des Merge-Feldes gilt: date erwartet ISO JJJJ-MM-TT, currency ganzzahlige Cent, number eine Zahl, rows eine Liste von Zeilenobjekten mit den Spaltenschlüsseln der gebundenen Tabelle. EN: Mapping of placeholder names to values, e.g. { "provider": "Telekom" }. The merge field's type applies: date expects ISO YYYY-MM-DD, currency integer cents, number a number, rows a list of row objects keyed by the bound table's column keys.
coverTemplateIdNoOptionales Anschreiben für eine eigenständige Formularvorlage. Ohne gespeicherte Verknüpfung ist es zum Anwenden erforderlich. EN: Optional cover letter for a standalone form template. Required when applying a form that has no saved link.
mandantennummerNoOptionaler Mandantenbezug (nur Kontext). EN: Optional client reference (context only).
templateVersionIdNoExakte freigegebene oder ersetzte Vorlagenversion. Ohne Angabe wird die aktuell freigegebene Version verwendet. EN: Exact released or superseded template version. If omitted, the currently released version is used.
coverTemplateVersionIdNoOptional: exakte freigegebene Version des gewählten Anschreibens. EN: Optional exact released version of the selected cover letter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / language / description
      Previous value: -"Sprache fuer die Formatierung von Betrag und Datum. Standard de. EN: Language for money and date formatting. Defaults to de."New value: +"Sprache für die Formatierung von Betrag und Datum. Standard de. EN: Language for money and date formatting. Defaults to de."
    • changedInput schema / properties / mergeValues / description
      Previous value: -"Zuordnung von Platzhalter-Namen zu Werten, z. B. { \"provider\": \"Telekom\" }. Der Typ des Merge-Feldes gilt: date erwartet ISO JJJJ-MM-TT, currency ganzzahlige Cent, number eine Zahl, rows eine Liste von Zeilenobjekten mit den Spaltenschluesseln der gebundenen Tabelle. EN: Mapping of placeholder names to values, e.g. { \"provider\": \"Telekom\" }. The merge field's type applies: date expects ISO YYYY-MM-DD, currency integer cents, number a number, rows a list of row objects keyed by the bound table's column keys."New value: +"Zuordnung von Platzhalter-Namen zu Werten, z. B. { \"provider\": \"Telekom\" }. Der Typ des Merge-Feldes gilt: date erwartet ISO JJJJ-MM-TT, currency ganzzahlige Cent, number eine Zahl, rows eine Liste von Zeilenobjekten mit den Spaltenschlüsseln der gebundenen Tabelle. EN: Mapping of placeholder names to values, e.g. { \"provider\": \"Telekom\" }. The merge field's type applies: date expects ISO YYYY-MM-DD, currency integer cents, number a number, rows a list of row objects keyed by the bound table's column keys."
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the safe read-only profile (readOnlyHint=true, destructive=false, openWorld=false), so the bar is lower, yet the description still adds substantive behavior: the content-vs-blocks return shape, the separate letterhead/brand selection step, and the MERGE_FIELDS_MISSING error that lists missing/invalid fields. It stops short of disclosing permissions or pagination/size limits, so 4 rather than 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every clause is actionable, but the entire description is duplicated verbatim in German and English, roughly doubling length without adding information. The bilingual repetition is the main drag on structure.

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?

There is no output schema, so the description carries the return-value burden and does so: it explains content vs blocks, the package structure, and the specific error code with its payload. Combined with the pass-through instructions to order_send, an agent has enough to call and handle the result correctly; only edge behaviors like partial failures are unaddressed.

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 description coverage is already 88%, so the baseline is 3, but the description adds a cross-parameter relationship the schema does not encode: a standalone form template with sendable:false/releaseBlocker:null requires coverTemplateId from a directly addressable letter template. Minor confusion arises because the description calls this input 'templateMergeValues' while the schema names it 'mergeValues'.

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 and resource: it fills the placeholders of a saved template with supplied values and returns subject/content or a complete cover-form package. It goes further by distinguishing the block-template case (returns finished blocks instead of content) and the standalone form case, which an agent can use to tell it apart from template_preview and template_get without opening schemas.

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?

Gives real workflow context: it names the downstream call (order_send) and specifies which values must be passed through unchanged, and it explains the coverTemplateId requirement for standalone form templates. It does not explicitly contrast with sibling tools such as template_preview or state when not to apply, which keeps it below a 5.

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.