Skip to main content
Glama
Inistate

Inistate MCP Server

Official
by Inistate

Get Activity Form

get_form
Read-onlyIdempotent

Fetch the input form schema, fields, current values, and actor rules for a named module activity so you can prepare a valid submission.

Instructions

Read-only lookup of the input form for one named activity of one module; it does not perform the activity (submit_activity does). Returns the form fields, current values, and options. Call this before the FIRST submit_activity on each (module, activity) pair — the form schema is stable within a session, so reuse it for subsequent entries (per-entry current values come from get_entry/list_entries). User values with no matching field: omit them and note the omission. Never fabricate form data — when a value is uncertain, submit with a lower ai.confidence and state the assumption instead of blocking to ask. A field may carry label: the name THIS activity's form shows for it (the designer relabelled it) — when the user names a field by that label, it means this field; key input by the field name (the label is accepted too). The response's actor says who may perform the activity: ai — submit it; hybrid — show the user what you plan to submit and get their explicit approval, then submit with confirmed: true; human — do not submit, a person performs it in Inistate. The response's ai_hint/ai_instruction are the designer's guidance for performing the activity; an ai_hint on a field or Table/List column says how to fill it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
moduleYesModule name from list_modules
entryIdNoEntry ID for edit/view/custom activities. Omit for create.
activityNoActivity name: create, edit, view, or any custom activity name from get_module_schemacreate
workspaceIdNoWorkspace ID. Omit if set via env or set_workspace; required in stateless/remote mode.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description goes well beyond them: it discloses the response's actor semantics (who may perform the activity), ai_hint/ai_instruction, field label-vs-name mapping, and the no-fabrication policy with ai.confidence fallback. This is exactly the context an agent needs before driving submit_activity.

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?

Front-loads the purpose well, but the single dense block drifts into submission policy ('submit with a lower ai.confidence') and hint-handling rules that belong to submit_activity rather than to a read-only form lookup. Useful content, but not every sentence earns its place in this tool's description.

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 must carry the return contract, and it does: form fields, current values, options, actor, and ai_hint/ai_instruction are all named. Combined with the input schema, an agent has everything needed to call it and interpret the result.

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, but the description adds real meaning: it frames module+activity as a session-stable pair, explains that `activity` can be create/edit/view/custom, and clarifies how `input` keys relate to a field's `label` versus its name. It does not, however, add much for entryId or workspaceId.

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 ('Read-only lookup of the input form for one named activity of one module') and immediately differentiates from the sibling that performs the action ('it does not perform the activity (submit_activity does)'). An agent can distinguish this from submit_activity and get_entry without opening either 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 ('Call this before the FIRST submit_activity on each (module, activity) pair'), a reuse rule ('form schema is stable within a session'), and alternative sources for later values (get_entry/list_entries). It also routes behavior based on the returned actor value (ai/hybrid/human) and tells the agent what to do with user values that have no matching field.

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