fillout
Server Details
Read Fillout forms and submissions, export responses, and create submissions and webhooks.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 9 tools
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.
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.
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.
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 toolsfillout_count_submissionsCount submissionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| formId | Yes | The form's public id (the formId from fillout_list_forms, also the id in the form's share URL). | |
| search | No | Only submissions containing this text. | |
| status | No | 'finished' (default) or 'in_progress' for unfinished / partial submissions. | |
| afterDate | No | Only submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z. | |
| beforeDate | No | Only submissions submitted before this ISO 8601 date-time. | |
| includePreview | No | Also include preview (test) responses. |
TDQS
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.
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.
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.
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.
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.
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 submissionsADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| formId | Yes | The form's public id (the formId from fillout_list_forms, also the id in the form's share URL). | |
| submissions | Yes | 1-10 submissions to create. |
TDQS
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.
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.
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.
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.
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.
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 webhookADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The HTTPS endpoint that should receive submissions. | |
| formId | Yes | The form's public id (the formId from fillout_list_forms, also the id in the form's share URL). |
TDQS
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.
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.
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.
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.
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.
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 submissionsARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | 'asc' (default, oldest first) or 'desc'. | |
| formId | Yes | The form's public id (the formId from fillout_list_forms, also the id in the form's share URL). | |
| search | No | Only submissions containing this text. | |
| status | No | 'finished' (default) or 'in_progress' for unfinished / partial submissions. | |
| afterDate | No | Only submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z. | |
| beforeDate | No | Only submissions submitted before this ISO 8601 date-time. | |
| includePreview | No | Also include preview (test) responses. | |
| max_submissions | No | Stop after this many submissions (default 500, max 3000). |
TDQS
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.
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.
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.
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.
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.
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 metadataARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| formId | Yes | The form's public id (the formId from fillout_list_forms, also the id in the form's share URL). |
TDQS
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.
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.
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.
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.
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.
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 submissionARead-onlyInspect
Fetch a single submission by id, with every answer. Fillout: GET /forms/{formId}/submissions/{submissionId}.
| Name | Required | Description | Default |
|---|---|---|---|
| formId | Yes | The form's public id (the formId from fillout_list_forms, also the id in the form's share URL). | |
| submissionId | Yes | The submission's id (submissionId). | |
| includeEditLink | No | Include an editLink for the submission. |
TDQS
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.
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.
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.
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.
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.
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 formsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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 submissionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort by submission time: 'asc' (default) or 'desc' for newest first. | |
| limit | No | Submissions per page, 1-150 (Fillout default 50). | |
| formId | Yes | The form's public id (the formId from fillout_list_forms, also the id in the form's share URL). | |
| offset | No | Starting position (0-based) for this page. | |
| search | No | Only submissions containing this text. | |
| status | No | 'finished' (default) or 'in_progress' for unfinished / partial submissions. | |
| afterDate | No | Only submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z. | |
| beforeDate | No | Only submissions submitted before this ISO 8601 date-time. | |
| includePreview | No | Also include preview (test) responses. | |
| includeEditLink | No | Include an editLink for each submission. |
TDQS
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.
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.
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.
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.
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.
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 webhookADestructiveInspect
Stop a webhook from receiving submissions. Recoverable: create it again with fillout_create_webhook (it gets a new id). Fillout: POST /webhook/delete.
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | The webhook id returned by fillout_create_webhook. |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
- First observed
fillout_count_submissions - First observed
fillout_create_submissions - First observed
fillout_create_webhook - First observed
fillout_export_submissions - First observed
fillout_get_form - First observed
fillout_get_submission - First observed
fillout_list_forms - First observed
fillout_list_submissions - First observed
fillout_remove_webhook
Related MCP Connectors
Create form drafts, publish on request, read responses and create authorized response webhooks.
AI-native survey & form builder. Manage surveys, responses, analytics, and webhooks.
Form backend for static sites: create forms, manage submissions, webhooks and exports.
- mcpOAuthcom.formester
Give AI agents access to form submissions — read, search, update, and process file attachments.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables form management, response handling, and analytics through the Fillout.io API for enhanced form interactions and insights.-
- FlicenseNot gradedqualityDmaintenanceEnables form management, response handling, and analytics via the Fillout.io API, allowing users to create, update, and fetch forms and submissions through natural language.-
- AlicenseNot gradedqualityDmaintenanceEnables creation and management of Google Forms with support for all 12 question types, response collection, CSV export, and form publishing through OAuth-authenticated API access.2MIT
- AlicenseNot gradedqualityCmaintenanceGive AI agents access to Formester form submissions. Read individual responses, search and filter across forms, write AI-generated insights back as custom fields, and process file attachments including PDFs and images.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.