Skip to main content
Glama

fillout

Server Details

Read Fillout forms and submissions, export responses, and create submissions and webhooks.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct resource+action: get_form vs list_forms vs get_submission, and count/list/export submissions are clearly separated by purpose (count only, one page, paginated bulk fetch). The webhook pair (create/remove) is unambiguous. No two tools appear to do the same thing.

Naming Consistency5/5

All nine tools use the same fillout_ prefix and a consistent verb_noun snake_case pattern (count_submissions, create_webhook, get_form, list_forms, remove_webhook). No mixed conventions or vague verbs.

Tool Count5/5

Nine tools is well-scoped for a forms API surface covering forms, submissions, and webhooks. Each tool earns its place; nothing feels padded or redundant.

Completeness4/5

Read and create paths are well covered (list/get forms, create/list/count/export/get submissions, webhook create/remove), but there is no update or delete for submissions and no way to list existing webhooks (only the id returned at creation). These are minor gaps agents can work around, but they leave some lifecycle operations unreachable.

Available Tools

9 tools
fillout_count_submissionsCount submissionsA
Read-only
Inspect

Count a form's submissions matching the same filters as fillout_list_submissions (date range, status, search) without pulling the answers — e.g. 'how many responses this week?' or 'how many partial submissions?'. Reads totalResponses from GET /forms/{formId}/submissions with limit=1.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesThe form's public id (the formId from fillout_list_forms, also the id in the form's share URL).
searchNoOnly submissions containing this text.
statusNo'finished' (default) or 'in_progress' for unfinished / partial submissions.
afterDateNoOnly submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z.
beforeDateNoOnly submissions submitted before this ISO 8601 date-time.
includePreviewNoAlso include preview (test) responses.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description adds genuinely new context: it does not fetch answers, it reads totalResponses from GET /forms/{formId}/submissions with limit=1 (i.e., a single cheap request, no pagination). That is useful beyond the safety hint, though it says nothing about auth or rate limits.

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?

A single tight sentence front-loads the purpose, then the filter equivalence, then the implementation detail. No filler, and the example questions are short and directly actionable.

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?

With no output schema, the description still tells the agent what comes back (a submission count derived from totalResponses) and how it is obtained, which is everything needed to call and interpret this tool. All six parameters are covered by the schema plus the filter-equivalence note.

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 baseline is 3, but the description adds cross-tool meaning by telling the agent the filters are identical to fillout_list_submissions and enumerates the filter families (date range, status, search). It omits includePreview, so it does not fully mirror 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 (count a form's submissions) plus the key scope qualifier: it applies the same filters as fillout_list_submissions but 'without pulling the answers'. This lets an agent distinguish it from fillout_list_submissions and fillout_export_submissions 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 Guidelines4/5

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

Names the sibling whose filter semantics it shares and gives concrete triggering questions ('how many responses this week?', 'how many partial submissions?'), which pins down when to reach for it. It stops short of an explicit 'use fillout_list_submissions instead when you need the answer data', so the exclusion is implied rather than stated.

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

fillout_create_submissionsCreate submissionsA
Destructive
Inspect

Create up to 10 new submissions on a form, as if respondents had filled it in — e.g. to import responses collected elsewhere. Each submission needs its question answers (question ids from fillout_get_form); URL parameters, scheduling, payments, login email and timestamps are optional. Creates real records that trigger the form's integrations. Fillout: POST /forms/{formId}/submissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesThe form's public id (the formId from fillout_list_forms, also the id in the form's share URL).
submissionsYes1-10 submissions to create.

TDQS

A4.4/5.0
Behavior4/5

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

The destructiveHint annotation flags mutation, and the description adds genuinely useful context beyond it: 'Creates real records that trigger the form's integrations.' It also clarifies the 10-item cap. It stops short of stating permission/auth requirements or irreversibility.

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?

Four tight sentences: action and limit first, then usage rationale, then required/optional field breakdown, then the underlying endpoint. No filler and front-loaded.

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?

For a destructive mutation with no output schema, the description covers scope, side effects (integration triggers), and required inputs well. It omits any mention of what the response contains, which is a minor gap given no output schema is provided to compensate.

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% and only two top-level params exist, so the baseline is 3. The description adds value by summarizing which fields are required (question answers) versus optional (URL parameters, scheduling, payments, login email, timestamps) and by pointing to fillout_get_form for question ids.

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?

Specific verb (Create) plus resource (submissions), with scope ('up to 10 new submissions on a form') and intent ('import responses collected elsewhere'). The agent can distinguish this from read-oriented siblings like fillout_get_submission and fillout_list_submissions without opening any schema.

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?

Gives a clear use case ('as if respondents had filled it in — e.g. to import responses collected elsewhere'), which tells the agent when this tool is appropriate. It does not name exclusions or an alternative sibling, so it falls short of the explicit when/when-not guidance required for a 5.

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

fillout_create_webhookCreate a submission webhookA
Destructive
Inspect

Subscribe a URL to a form's new submissions: Fillout will POST each submission (same shape as a fillout_list_submissions entry) to it. Returns the webhook id — keep it, it is the only handle for removing the webhook later. Fillout: POST /webhook/create.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe HTTPS endpoint that should receive submissions.
formIdYesThe form's public id (the formId from fillout_list_forms, also the id in the form's share URL).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only supply destructiveHint=true, so the description carries most of the burden and does add real value: what Fillout will send (submission payload matching a list_submissions entry) and that the webhook id is the sole removal handle. It omits auth/permission requirements and any mention of whether creation is idempotent or what happens on duplicate URLs.

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?

Two compact sentences plus the raw API mapping, front-loaded with the effect and follow-up with the id-retention warning. No 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?

For a two-parameter mutation tool with no output schema, the description explains the side effect and what is returned (the webhook id), which is exactly what an agent needs. Minor gap: no mention of permissions/auth needed to register a webhook.

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 description coverage is 100%, so both formId and url are already fully documented (including 'the formId from fillout_list_forms'). The description adds no syntax or constraint detail beyond the schema, so the baseline of 3 applies.

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?

Specific verb+resource: 'Subscribe a URL to a form's new submissions' with the exact delivery mechanism (Fillout POSTs each submission to it). It also distinguishes itself from siblings by referencing the fillout_list_submissions payload shape and the later fillout_remove_webhook lifecycle.

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?

Clear context for when to use it (wanting each new submission pushed to an endpoint) and a strong operational rule — 'keep the id, it is the only handle for removing the webhook later.' It stops short of explicitly naming alternatives or stating when not to use it (e.g., if you only need polling via fillout_list_submissions).

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

fillout_export_submissionsExport submissionsA
Read-only
Inspect

Fetch many submissions in one call by walking the offset pagination (150 per page, paced under Fillout's 5 requests/second limit), up to max_submissions. Same filters as fillout_list_submissions. Use this for analysis across a whole response set; the result says whether it was truncated. Fillout: GET /forms/{formId}/submissions (repeated).

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNo'asc' (default, oldest first) or 'desc'.
formIdYesThe form's public id (the formId from fillout_list_forms, also the id in the form's share URL).
searchNoOnly submissions containing this text.
statusNo'finished' (default) or 'in_progress' for unfinished / partial submissions.
afterDateNoOnly submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z.
beforeDateNoOnly submissions submitted before this ISO 8601 date-time.
includePreviewNoAlso include preview (test) responses.
max_submissionsNoStop after this many submissions (default 500, max 3000).

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint annotation: page size (150), rate pacing under Fillout's 5 req/s limit, the max_submissions cap, and that the result reports truncation. These are exactly the operational traits an agent needs before calling a multi-page read.

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 dense sentences, each carrying distinct information: mechanism/limits, filter equivalence, and intended use plus truncation signal. Front-loaded with the operation and its caps; no 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?

With no output schema, the description compensates by noting the truncation flag and the paginated fetch behavior, which covers the key return-side concern. It stops short of describing the response envelope (submission shape, pagination offsets) that an agent might want, so it is strong but not exhaustive.

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 description coverage is 100%, so all eight parameters are already documented, making the baseline 3. The description only adds the semantics of max_submissions and the filter-sharing note, adding little 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?

Specific verb + resource + mechanism: 'Fetch many submissions in one call by walking the offset pagination'. It clearly separates itself from fillout_list_submissions (bulk export vs. listing) and from fillout_count_submissions by naming the sibling it shares filters with.

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?

Explicitly scopes the use case ('Use this for analysis across a whole response set') and ties the filters to fillout_list_submissions. It does not state when NOT to use it (e.g., fetch a single submission via fillout_get_submission), so it falls short of full when/when-not guidance.

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

fillout_get_formGet form questions and metadataA
Read-only
Inspect

Fetch one form's metadata: every question (id, name, type), calculations, URL parameters, scheduling and payment fields, and quiz settings. Use the question ids to read answers or to create submissions. Fillout: GET /forms/{formId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesThe form's public id (the formId from fillout_list_forms, also the id in the form's share URL).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered, and the description adds real value by disclosing the shape of the returned payload (question ids, calculations, URL params, scheduling/payment, quiz settings). It does not mention auth requirements, rate limits, or error behavior, but for a read-only metadata fetch that gap is minor.

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?

Two dense sentences, with the payload contents front-loaded before the usage hint and the endpoint mapping last. Every clause carries information, though the trailing 'Fillout: GET /forms/{formId}' is largely redundant with the title and schema.

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 no output schema and a single required parameter, the description carries the burden of describing the return value and does so by enumerating the field families returned. It stops short of describing the structure or nesting of those fields, but for a straightforward read tool this is close to sufficient.

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?

There is only one parameter and schema coverage is 100% – the schema already explains that formId is the public id from fillout_list_forms and appears in the share URL. The description adds no meaning beyond restating the endpoint path 'GET /forms/{formId}', so the baseline 3 applies.

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 ('Fetch one form's metadata') and enumerates exactly what that metadata contains (questions, calculations, URL parameters, scheduling/payment fields, quiz settings). The word 'one' implicitly separates it from fillout_list_forms, so an agent can route 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 Guidelines3/5

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

It supplies a downstream usage hint ('Use the question ids to read answers or to create submissions'), which is genuinely useful workflow context. However, it never states when to pick this over fillout_list_forms or fillout_get_submission, so the when-to-use guidance remains implied rather than explicit.

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

fillout_get_submissionGet one submissionA
Read-only
Inspect

Fetch a single submission by id, with every answer. Fillout: GET /forms/{formId}/submissions/{submissionId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesThe form's public id (the formId from fillout_list_forms, also the id in the form's share URL).
submissionIdYesThe submission's id (submissionId).
includeEditLinkNoInclude an editLink for the submission.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safe read nature is covered structurally. The description adds that it returns 'every answer', clarifying the return payload's scope, plus the underlying REST route. It does not mention auth requirements, edit-link behavior, or pagination, which is acceptable for a simple single-fetch.

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?

Two compact sentences with zero filler; the core purpose is front-loaded and the REST endpoint is given as a secondary reference. Nothing is wasted.

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?

For a read-only single-record fetch with no output schema, the description covers the purpose, the lookup key, and the return scope. It lacks only explicit sibling routing and any note on auth or the editLink flag, minor gaps given the fully documented schema.

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 description coverage is 100% and all three parameters (formId, submissionId, includeEditLink) are fully documented in the schema, so baseline 3 applies. The description adds no parameter-level detail beyond 'by id' and 'every answer', so it does not exceed the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Fetch), resource (a single submission), and lookup key (by id), with 'single' implicitly distinguishing it from the batch siblings like fillout_list_submissions and fillout_export_submissions. It does not name an alternative explicitly, so it stays at 4 rather than 5.

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

Usage Guidelines3/5

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

The phrase 'by id' implies you need a known submissionId, which hints at when it applies, but there is no explicit when-to-use or when-not-to-use guidance and no naming of siblings (list/export/count) that an agent should choose between. Usage is inferable but not stated.

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

fillout_list_formsList formsA
Read-only
Inspect

List every form in the Fillout account — each form's name and formId. Start here to find the formId the other tools need. Fillout: GET /forms.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read. The description adds the returned fields (name, formId) and the workflow role, which is useful, but it says nothing about pagination, result limits, or empty-account behavior for a tool that claims to list EVERY form.

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?

Two tight sentences with the scope and returned fields front-loaded, followed by the workflow role and the raw endpoint. Every clause earns its place.

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?

For a zero-parameter read-only list tool with no output schema, the description covers what is returned and why to call it. The only missing piece is pagination/result-volume behavior, which the absence of an output schema makes slightly more relevant.

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?

Zero parameters, so there is no parameter semantics to document; the baseline for a param-less tool applies. Nothing in the description conflicts with the empty 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 with scope ('List every form in the Fillout account') and names the returned fields (name and formId). It also implicitly distinguishes itself from siblings by declaring it is the starting point for obtaining formIds.

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?

'Start here to find the formId the other tools need' gives clear when-to-use context and positions it relative to the other fillout_* tools. It lacks explicit when-not/exclusion guidance, but the workflow role is unambiguous.

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

fillout_list_submissionsList submissionsA
Read-only
Inspect

List one page of a form's submissions (answers to every question, calculations, URL parameters, scheduling, payments, quiz score, login email), filtered by date range, status or free-text search. Offset pagination: the response carries totalResponses and pageCount. Fillout: GET /forms/{formId}/submissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort by submission time: 'asc' (default) or 'desc' for newest first.
limitNoSubmissions per page, 1-150 (Fillout default 50).
formIdYesThe form's public id (the formId from fillout_list_forms, also the id in the form's share URL).
offsetNoStarting position (0-based) for this page.
searchNoOnly submissions containing this text.
statusNo'finished' (default) or 'in_progress' for unfinished / partial submissions.
afterDateNoOnly submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z.
beforeDateNoOnly submissions submitted before this ISO 8601 date-time.
includePreviewNoAlso include preview (test) responses.
includeEditLinkNoInclude an editLink for each submission.

TDQS

A4/5.0
Behavior4/5

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

readOnlyHint=true already establishes the safe-read profile, so the bar is lower. The description adds genuine behavioral context beyond annotations: offset pagination and the fact that the response carries totalResponses and pageCount. It stops short of noting rate limits or the 150-per-page ceiling behavior.

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?

Two tightly packed sentences with the core purpose front-loaded, followed by pagination/return behavior and the underlying endpoint. The parenthetical field enumeration is dense but each element earns its place by clarifying return payload.

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?

With no output schema present, the description compensates by naming the return metadata (totalResponses, pageCount) and the pagination model, and it covers the filter dimensions. For a 10-parameter read tool this is complete enough for correct invocation.

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 description coverage is 100%, so every one of the 10 parameters is already documented in the schema. The description restates the filter categories (date range, status, free-text search) without adding syntax, defaults, or edge-case meaning beyond what the schema provides. Baseline 3 is appropriate.

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 (List) and resource (a form's submissions) with explicit scope ('one page') and enumerates what each submission contains. An agent can distinguish this from fillout_count_submissions and fillout_get_submission 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 Guidelines3/5

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

The description conveys the context (paginated listing with filters by date range, status, or free-text search), which implies when to reach for it. However, it never explicitly contrasts itself with the sibling alternatives like fillout_count_submissions or fillout_export_submissions, leaving the routing to inference.

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

fillout_remove_webhookRemove a submission webhookA
Destructive
Inspect

Stop a webhook from receiving submissions. Recoverable: create it again with fillout_create_webhook (it gets a new id). Fillout: POST /webhook/delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesThe webhook id returned by fillout_create_webhook.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the removal is recoverable, recreating yields a new id, and the target endpoint is disclosed.

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 action, followed by recoverability and the API mapping. No filler.

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 one-parameter deletion tool with no output schema and annotations covering destructiveness, the description supplies everything needed: what it does, that it is reversible, and how to undo it.

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 100% and the single webhookId parameter is fully documented there, including its origin (returned by fillout_create_webhook). The description adds no additional meaning beyond the schema, so the baseline 3 applies.

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?

"Stop a webhook from receiving submissions" names a specific verb and resource, and the underlying endpoint (POST /webhook/delete) pins down the exact operation. It is clearly distinguishable from the sibling fillout_create_webhook.

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?

The description implies the use case (you no longer want submissions delivered to a webhook) and names the reverse operation, fillout_create_webhook, as the recovery path. It does not state explicit when-not conditions, but the context is clear enough for selection.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updates
    • First observedfillout_count_submissions
    • First observedfillout_create_submissions
    • First observedfillout_create_webhook
    • First observedfillout_export_submissions
    • First observedfillout_get_form
    • First observedfillout_get_submission
    • First observedfillout_list_forms
    • First observedfillout_list_submissions
    • First observedfillout_remove_webhook

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.