Skip to main content
Glama

Create Survey Response

create_survey_response

Records a response collected outside the survey link — e.g. a paper questionnaire, a phone or in-person interview, or an import from another system. Such responses are stored with source 'external' and can be told apart from responses submitted through the share link. Creates a new response (result case) in a survey. The survey's publication must be started. Answers go into Items: each item addresses a question by its variable name (Q1, Q2.3, Q — get them via get_survey) and carries the answer in Value. PersonalizedID is optional; if supplied and a response with it already exists, the call fails — use update_survey_response to modify. Technical data (host, user agent, device, dates) is set server-side and is not part of the input. Verified by readback: the response is re-read from the survey's stored data afterwards and the reply reports what is actually stored, not merely that the write was acknowledged. That read costs one heavy-class request, and it needs a PersonalizedID to address the response by.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesSurvey publication code — the 8-character code from the survey's public link (e.g. 1a2b3c4d). Returned by list_surveys.
resultCaseYesThe response to create: personalizedID (optional), isCompleted (optional) and items — the answers by question variable.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
messageNoWhat the call did, verified, refused or previewed — the complete human-readable outcome.
previewNotrue when the call was a preview (confirm not passed): nothing was changed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Far exceeds the annotations, which only declare it is a non-idempotent, non-destructive write. The description adds externally-visible behavior: responses are stored with source 'external', technical data is set server-side and excluded from input, duplicate PersonalizedID causes failure, and the call performs a readback that costs one heavy-class request and requires a PersonalizedID to address the response.

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?

Well front-loaded — the external-source framing leads, followed by prerequisites, item structure, and failure/readback behavior. It is on the long side and partially re-states the nested items/personalizedID semantics already documented in the schema, but every sentence still carries information.

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?

With an output schema present, return values need not be explained, and the description goes further by stating that the reply reports stored data rather than mere acknowledgement. Prerequisites and failure modes are covered; the only minor gap is that no auth/permission requirements are mentioned, though annotations cover the safety profile.

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 description coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: question variables must come from get_survey, PersonalizedID is optional on create yet required for readback (and required on update), and isCompleted semantics are restated with server-set completion date. It does not add syntax detail for code/value beyond the schema.

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 (creates a new response/result case in a survey) and immediately scopes it to responses collected outside the survey link, explicitly contrasting them with link-submitted responses. An agent can distinguish this from get/list/update_survey_response 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 concrete when-to-use cases (paper questionnaire, phone/in-person interview, import from another system) plus the precondition that publication must be started. It also routes the agent to the alternative explicitly: if a PersonalizedID already exists the call fails, and update_survey_response should be used to modify.

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