Get Superforms Responses
get_responsesFetch persisted raw responses for a Superforms ask. This is the MCP equivalent of the HTTP bridge answers endpoint.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| askId | Yes | ||
| since | No | ||
| agentToken | Yes |
get_responsesFetch persisted raw responses for a Superforms ask. This is the MCP equivalent of the HTTP bridge answers endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| askId | Yes | ||
| since | No | ||
| agentToken | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds minimal context: 'persisted raw responses' clarifies data freshness, but no additional behavioral details like pagination or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are appropriately sized and front-loaded with the core action. However, underspecification reduces effectiveness; a bit more detail would improve value without being overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three parameters (one optional) and no output schema or parameter descriptions, the description should provide richer context about usage, return format, and parameter roles. It lacks these essentials, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (no comments on parameters), and the description does not explain any of the three parameters (askId, since, agentToken). The description must compensate for missing schema info but fails entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches persistent raw responses for a Superforms ask, and provides an analogy to the HTTP bridge endpoint. It distinguishes from siblings like 'get_my_form_responses' enough to hint at different resources (ask vs form).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'get_my_form_responses' or 'list_asks'. No exclusions or context provided for the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
There is clear overlap between several tools: create_ask is explicitly a backward-compatible alias for create_form, making them nearly indistinguishable. get_my_form_responses vs get_responses and watch_my_form_responses vs watch_ask also serve similar purposes with only subtle differences (form ownership vs generic ask). The creation session tools (join_creation_session, update_creation_session) and creation tools (create_form, create_feedback_form) have moderately clear boundaries but could confuse agents about when to use session tools vs direct creation.
The naming mostly follows a verb_noun pattern (create_form, list_asks, watch_ask) and many share a consistent 'my_' prefix for owned resources. However, the aliasing (create_ask), the distinction between 'ask' and 'form' terminology, and create_feedback_form vs create_form introduce inconsistency in domain vocabulary. Watch_ask vs watch_my_form_responses and get_responses vs get_my_form_responses use parallel but not fully consistent naming.
11 tools is a reasonable count for a form lifecycle server. However, three tools are essentially redundant aliases or near-duplicates (create_ask, get_responses, and possibly watch_ask given HTTP bridge equivalents), which could be consolidated. The count is not excessive or too thin, but the effective surface is smaller than 11 distinct tools.
The server covers creation (create_form, create_feedback_form), listing (list_asks, list_my_forms), reading responses (get_responses, get_my_form_responses), and real-time watching (watch_ask, watch_my_form_responses). However, there is no tool for updating or deleting existing forms, and no tool for closing/archiving a form. The creation-session tools are present but lack a corresponding read/view for drafts. The domain is form lifecycle, and update/delete operations for published forms are notable gaps.