Skip to main content
Glama

List responses

list_responses
Read-onlyIdempotent

Read the individual answers people submitted to a form. Use this when the question is about what someone actually wrote — quotes, open text, or the full row for a particular person. For counts, averages or "which option is winning", call get_response_stats instead: it answers in one call, where paging through answers takes many.

Ask for only the fields you need. Answers are the bulk of the payload.

Example — the email and rating of everyone who chose Tahoe, newest first: { form_id: "…", fields: ["email", "rating"], filter: { field: "location", op: "eq", value: "tahoe" }, limit: 20 }

Returns newest first. If next_cursor is not null, pass it back as "cursor" for the following page.

Input Schema

NameRequiredDescriptionDefault
limitNoCapped at 50.
sinceNo
untilNo
cursorNo
fieldsNoField keys to return. Omit for every answer on each response.
filterNo
form_idYesThe form id from create_form or list_forms, or the slug from its share link (the part after /f/).

Output Schema

NameRequiredDescriptionDefault
hintNo
totalYes
responsesYes
next_cursorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond them: results come back newest first, answers dominate the payload, and next_cursor/cursor drives paging. It does not mention any rate limiting or permission requirements, keeping it short of a 5.

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 purpose then routing, followed by a compact payload warning, a single illustrative call and one pagination sentence. Every element earns its place; it is slightly longer than strictly necessary but no sentence is filler.

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?

An output schema exists, so return shape needn't be described, and the description still covers ordering, pagination and payload bulk. The remaining hole is the since/until time-window parameters, which are neither in the schema text nor the description.

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 coverage is only 43%, and the description compensates partially with a worked example that clarifies filter/fields/limit syntax and the cursor round-trip. However, since/until and the max-limit cap are not explained in the description at all, leaving documented gaps that no structured field fills.

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?

Opens with a concrete verb+resource ('Read the individual answers people submitted to a form') and immediately distinguishes the scope from the aggregate sibling get_response_stats. An agent can tell what this returns without opening the 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?

Explicitly routes the agent: use this for quotes/open text/full rows, use get_response_stats for counts, averages or 'which option is winning', with the reason (one call vs. many pages). That is a textbook when-to-use/when-not with a named alternative.

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