Skip to main content
Glama

form_get_form

Read-onlyIdempotent

Retrieve a form definition by its unique ID, with optional YAML or JSON format selection.

Instructions

Get form by ID Retrieve the Form definition of a form with the specified ID. GET /form-service/api/forms/{id}

Input Schema

NameRequiredDescriptionDefault
idYesForm identifier (path)
formFormatNoForm definition formatJSON

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.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=true, so the safety profile is fully covered. The description adds only the underlying endpoint path (GET /form-service/api/forms/{id}) and the fact that the 'Form definition' is returned; it does not disclose error behavior for unknown IDs or whether the response format follows the formFormat parameter.

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?

Three short lines, front-loaded with the primary verb and resource. There is mild redundancy — 'Get form by ID' restates 'Retrieve the Form definition of a form with the specified ID' — but nothing wasteful enough to hurt.

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

Completeness3/5

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

For a simple single-resource read with no output schema, the description tells the agent what the return is conceptually (the Form definition) and how to address it. It leaves the format-selection behavior of formFormat and the failure mode for nonexistent IDs unstated, which is acceptable but not complete.

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?

Schema description coverage is 100%, so both the id (uuid path param) and the formFormat enum (YAML/JSON, default JSON) are already documented. The description never mentions formFormat, which controls output shape — a meaningful omission even at high schema coverage, so it sits at baseline rather than above.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (retrieve) and resource (the Form definition for a given ID), which is clearer than the bare name. However, the crowded form_* namespace includes close siblings like form_fetch_form, form_fetch_customized_form, and form_get_action_form, and the description makes no attempt to distinguish this tool from them.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus form_fetch_form, form_fetch_customized_form, or the search/list variants. The agent must infer selection from tool names alone.

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

Deploy Server

Other Tools