Skip to main content
Glama

HR: Add form field

hr_add_form_field

Add one QUESTION to a form's draft version — the step between hr_create_form and hr_publish_form_version, without which a form created here can never be published (an empty version is refused). 'key' is the STABLE analytics handle the answers are stored under: renaming the label later never moves them, and a key is unique within its version. 'type' is a closed set; a choice field (single_select / multi_select / dropdown) must carry 'options', and 'info_block' takes no answer so it cannot be required. 'analytics_role' is what makes a question COUNT: csat / nps / rating / dropout_reason are the roles hr_feedback_report reads, so a satisfaction question without one is collected and never reported. 'order' defaults to the end of the form. Only a DRAFT accepts fields — a published version is frozen so the answers already collected keep their meaning. Requires confirmation. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

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": {
      "version_id": "<version_id>",
      "key": "<key>",
      "type": "<type>",
      "label_uk": "<label_uk>"
    },
    "name": "hr_add_form_field"
  }
}

Input Schema

NameRequiredDescriptionDefault
keyYes
typeYes
orderNo
optionsNo
label_enNo
label_ukYes
requiredNo
help_textNo
version_idYes
analytics_roleNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnly=false, destructive=false, openWorld=false; the description adds far more — the draft-only mutation constraint, the immutability rationale, and the full confirmation protocol (status='confirmation_required', action_id, plan_token, confirm_action). It stops short of describing failure modes or what the plan contains, but the behavioral picture is well beyond what annotations carry.

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-loaded with the core action and lifecycle position, then constraint-by-constraint, with the confirmation protocol last where an agent will look for it. It is dense and quote-heavy, but nearly every clause carries decision-relevant information; only the parenthetical about empty versions is arguably extra.

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?

No output schema exists, and the description compensates by describing the exact confirmation response shape and the handoff to confirm_action. Combined with the draft-only rule and cross-references to hr_feedback_report, it is nearly complete; the main remaining gap is which label fields are required versus optional and how missing 'options' failures surface.

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?

With 0% schema description coverage across 10 parameters, the description does necessary work: 'key' as the stable analytics handle with per-version uniqueness, 'type' as a closed set with the conditional 'options' requirement for choice fields, 'info_block' taking no answer, 'analytics_role' as the trigger for hr_feedback_report counting, and 'order' defaulting to the end. It leaves label_uk/label_en, help_text, required, and version_id semantics (beyond naming) undocumented.

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: 'Add one QUESTION to a form's draft version'. It also positions the tool in the lifecycle between hr_create_form and hr_publish_form_version, which lets an agent distinguish it from both siblings without opening a schema.

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 explicit when-to-use (the step between create and publish, without which nothing can be published) and when-not-to-use ('Only a DRAFT accepts fields — a published version is frozen'). It also names the alternative execution path, confirm_action, for actually committing the write.

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