Skip to main content
Glama

Formspree MCP by usefulapi

Get form fields

formspree_get_form_fields
Read-onlyIdempotent

The field names (columns) of the form's submissions, taken from the latest 100 submissions. Returns names only, no submission data. Use it to pick the columns for formspree_list_submissions. GET /forms/{hashid}/submissions?limit=100.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered; the description adds genuinely new behavioral context — that results come from a 100-submission sample and that no submission values are returned. It also discloses the underlying request shape. It does not mention what happens with an empty or brand-new form, which is the main remaining behavioral unknown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the return content, then the usage hint, then the endpoint. Every sentence carries distinct information — what, when, and how — with no restatement of the title or annotations.

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?

For a zero-parameter, read-only lookup with no output schema, the description supplies exactly the missing pieces: output shape (names only, not values), sampling scope (latest 100 submissions), and purpose in a larger workflow. An agent can call this correctly and interpret the result without further documentation.

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?

The tool takes zero parameters, so the parameter_semantics baseline is 4. The closing GET path is informative context rather than a parameter contract, and it notably references a {hashid} that has no corresponding schema property — but that ambiguity exists in the schema, not in the description's handling of parameters.

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?

The description names a specific resource (the field names/columns of a form's submissions) and a specific derivation method (latest 100 submissions), then explicitly states what is not returned ("Returns names only, no submission data"). This separates it cleanly from formspree_list_submissions and formspree_list_spam_submissions, which return actual submission rows.

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

Usage Guidelines4/5

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

"Use it to pick the columns for formspree_list_submissions" gives an explicit, actionable when-to-use condition and names the downstream sibling it pairs with. It stops short of stating exclusions or prerequisites (e.g. that the form must already have submissions, or when the other sibling should be preferred), so it is not a full when/when-not treatment.

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.