Skip to main content
Glama

Get Template Fields

get_template_fields
Read-onlyIdempotent

Always call this immediately after get_template — before collecting signer details. Reveals whether the template has form fields the user can pre-fill. Each field has: name (key for API calls), label (display only), type (textField, checkbox, combobox, listbox, radioButton), editable (can be pre-filled via API), readOnly (signee cannot edit), options [{label, value}] for choice fields. If any fields have editable: true, ask the user whether to pre-fill them now (values locked for signer) or leave for the signer. Value format rule: ONLY textField and radioButton take a plain string. ALL other types (checkbox, combobox, listbox) MUST be an array — even for a single value like ["Beginner"]. Never pass an empty string for text fields — omit the field instead. Field names containing tink-scan-id (a scan trigger) or tink-scanned-id- (an image of part of the document) place an image of the signer's identity document in the signed document; a trigger combined with a tink-scanned-id-mrz- attribute on the same field only fills in text. Treat such fields like digital_ink_id_scan: tell the user that a copy of the ID document will be embedded in the signed document and get an explicit yes before the document is sent.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "templateId": "<templateId>"
    },
    "name": "get_template_fields"
  }
}

Input Schema

NameRequiredDescriptionDefault
templateIdYesUnique identifier of the template

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered by structured data. The description's real contribution is downstream operational rules (value format must be an array for checkbox/combobox/listbox, never pass empty strings, tink-scan-id fields embed the signer's ID image and require explicit consent) rather than behavior of this call itself. Useful, but it describes how to act on the result, not what this tool does beyond a read — and it never states error behavior if templateId is unknown or the template has no fields.

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 sequencing rule is correctly front-loaded, followed by the return shape, then the pre-fill decision, then format and consent rules — a sensible priority order. It is on the long side for a single-parameter read call, and the detailed value-format rules are arguably reference material for a field-setting tool rather than for retrieval, but no sentence is pure 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?

There is no output schema, so the description carries the full burden of describing the response — and it does, listing every returned attribute and the options array shape for choice fields. Combined with the invocation ordering and the editable/consent decision flow, an agent has enough to call this correctly and act on the result.

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?

Only one parameter, and its schema description ('Unique identifier of the template') already gives 100% coverage. The description never mentions templateId or how to obtain it, though the 'call after get_template' sequencing implies the ID comes from that prior call. Baseline 3 applies when the schema carries parameter meaning.

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 ('Reveals whether the template has form fields the user can pre-fill') and enumerates exactly what a field object contains (name, label, type, editable, readOnly, options). The instruction to call it 'immediately after get_template' positions it unambiguously against sibling tools like get_template and get_document_fields.

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

Usage Guidelines5/5

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

Gives an explicit invocation rule ('Always call this immediately after get_template — before collecting signer details') and a concrete branch after the call: if any fields have editable: true, ask the user whether to pre-fill or leave for the signer. It also names a hard exclusion gate — get explicit yes before sending when scan-trigger fields are present.

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.

Resources