MCP-Server

fillout

io.usefulapi/fillout
Business & Betrieb Daten & Analytik Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Reads and exports form submissions, counts and filters responses, creates submissions, and manages submission webhooks.

fillout_count_submissions
Count submissions
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'minLength': 1, 'description': "The form's public id (the formId from fillout_list_forms, also the id in the form's share URL)."}, 'search': {'type': 'string', 'description': 'Only submissions containing this text.'}, 'status': {'enum': ['finished', 'in_progress'], 'type': 'string', 'description': "'finished' (default) or 'in_progress' for unfinished / partial submissions."}, 'afterDate': {'type': 'string', 'description': 'Only submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z.'}, 'beforeDate': {'type': 'string', 'description': 'Only submissions submitted before this ISO 8601 date-time.'}, 'includePreview': {'type': 'boolean', 'description': 'Also include preview (test) responses.'}}}
fillout_create_submissions
Create submissions
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.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId', 'submissions'], 'properties': {'formId': {'type': 'string', 'minLength': 1, 'description': "The form's public id (the formId from fillout_list_forms, also the id in the form's share URL)."}, 'submissions': {'type': 'array', 'items': {'type': 'object', 'required': ['questions'], 'properties': {'login': {'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string', 'description': 'Verified respondent email.'}}, 'description': 'Login-page information.'}, 'payments': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'value'], 'properties': {'id': {'type': 'string', 'description': 'Payment field id.'}, 'value': {'type': 'object', 'required': ['paymentId'], 'properties': {'email': {'type': 'string'}, 'status': {'type': 'string'}, 'currency': {'type': 'string'}, 'paymentId': {'type': 'string', 'description': 'Stripe payment id.'}, 'totalAmount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Amount in cents.'}, 'stripeCustomerId': {'type': 'string'}, 'stripePaymentUrl': {'type': 'string'}, 'stripeCustomerUrl': {'type': 'string'}, 'stripeSubscriptionId': {'type': 'string'}}, 'description': 'A record of an existing Stripe payment — this does NOT charge anyone.'}}}, 'description': 'Payment answers (records only; no money moves).'}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'value'], 'properties': {'id': {'type': 'string', 'description': 'The question id (from fillout_get_form).'}, 'value': {'description': 'The answer, shaped for the question type (string, number, array of choices, object...).'}}}, 'description': 'Answers, one per question id.'}, 'scheduling': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'value'], 'properties': {'id': {'type': 'string', 'description': 'Scheduling field id.'}, 'value': {'type': 'object', 'required': ['fullName', 'email', 'eventStartTime', 'eventEndTime', 'timezone'], 'properties': {'email': {'type': 'string'}, 'userId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'eventId': {'type': 'string'}, 'eventUrl': {'type': 'string'}, 'fullName': {'type': 'string'}, 'timezone': {'type': 'string', 'description': 'IANA timezone, e.g. Europe/Prague.'}, 'eventEndTime': {'type': 'string', 'description': 'ISO 8601.'}, 'meetingNotes': {'type': 'string'}, 'eventStartTime': {'type': 'string', 'description': 'ISO 8601.'}, 'scheduledUserEmail': {'type': 'string'}, 'rescheduleOrCancelUrl': {'type': 'string'}}, 'description': 'Booking details.'}}}, 'description': 'Scheduling (booking) answers.'}, 'lastUpdatedAt': {'type': 'string', 'description': 'When it was last updated, ISO 8601.'}, 'urlParameters': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'value'], 'properties': {'id': {'type': 'string', 'description': 'URL parameter id (from fillout_get_form).'}, 'name': {'type': 'string', 'description': 'URL parameter name.'}, 'value': {'type': 'string', 'description': 'URL parameter value.'}}}, 'description': 'URL parameter values.'}, 'submissionTime': {'type': 'string', 'description': 'When it was submitted, ISO 8601 (default now).'}}}, 'maxItems': 10, 'minItems': 1, 'description': '1-10 submissions to create.'}}}
fillout_create_webhook
Create a submission webhook
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.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The HTTPS endpoint that should receive submissions.'}, 'formId': {'type': 'string', 'minLength': 1, 'description': "The form's public id (the formId from fillout_list_forms, also the id in the form's share URL)."}}}
fillout_export_submissions
Export submissions
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).
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'sort': {'enum': ['asc', 'desc'], 'type': 'string', 'description': "'asc' (default, oldest first) or 'desc'."}, 'formId': {'type': 'string', 'minLength': 1, 'description': "The form's public id (the formId from fillout_list_forms, also the id in the form's share URL)."}, 'search': {'type': 'string', 'description': 'Only submissions containing this text.'}, 'status': {'enum': ['finished', 'in_progress'], 'type': 'string', 'description': "'finished' (default) or 'in_progress' for unfinished / partial submissions."}, 'afterDate': {'type': 'string', 'description': 'Only submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z.'}, 'beforeDate': {'type': 'string', 'description': 'Only submissions submitted before this ISO 8601 date-time.'}, 'includePreview': {'type': 'boolean', 'description': 'Also include preview (test) responses.'}, 'max_submissions': {'type': 'integer', 'maximum': 3000, 'minimum': 1, 'description': 'Stop after this many submissions (default 500, max 3000).'}}}
fillout_get_form
Get form questions and metadata
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}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'formId': {'type': 'string', 'minLength': 1, 'description': "The form's public id (the formId from fillout_list_forms, also the id in the form's share URL)."}}}
fillout_get_submission
Get one submission
Fetch a single submission by id, with every answer. Fillout: GET /forms/{formId}/submissions/{submissionId}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId', 'submissionId'], 'properties': {'formId': {'type': 'string', 'minLength': 1, 'description': "The form's public id (the formId from fillout_list_forms, also the id in the form's share URL)."}, 'submissionId': {'type': 'string', 'minLength': 1, 'description': "The submission's id (submissionId)."}, 'includeEditLink': {'type': 'boolean', 'description': 'Include an editLink for the submission.'}}}
fillout_list_forms
List forms
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
fillout_list_submissions
List submissions
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['formId'], 'properties': {'sort': {'enum': ['asc', 'desc'], 'type': 'string', 'description': "Sort by submission time: 'asc' (default) or 'desc' for newest first."}, 'limit': {'type': 'integer', 'maximum': 150, 'minimum': 1, 'description': 'Submissions per page, 1-150 (Fillout default 50).'}, 'formId': {'type': 'string', 'minLength': 1, 'description': "The form's public id (the formId from fillout_list_forms, also the id in the form's share URL)."}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Starting position (0-based) for this page.'}, 'search': {'type': 'string', 'description': 'Only submissions containing this text.'}, 'status': {'enum': ['finished', 'in_progress'], 'type': 'string', 'description': "'finished' (default) or 'in_progress' for unfinished / partial submissions."}, 'afterDate': {'type': 'string', 'description': 'Only submissions submitted after this ISO 8601 date-time, e.g. 2026-09-01T00:00:00Z.'}, 'beforeDate': {'type': 'string', 'description': 'Only submissions submitted before this ISO 8601 date-time.'}, 'includePreview': {'type': 'boolean', 'description': 'Also include preview (test) responses.'}, 'includeEditLink': {'type': 'boolean', 'description': 'Include an editLink for each submission.'}}}
fillout_remove_webhook
Remove a submission webhook
Stop a webhook from receiving submissions. Recoverable: create it again with fillout_create_webhook (it gets a new id). Fillout: POST /webhook/delete.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['webhookId'], 'properties': {'webhookId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'The webhook id returned by fillout_create_webhook.'}}}
Geändert
fillout_remove_webhook
2. October 2026 02:40
Geändert
fillout_create_webhook
2. October 2026 02:40
Geändert
fillout_create_submissions
2. October 2026 02:40
Geändert
fillout_export_submissions
2. October 2026 02:40
Geändert
fillout_count_submissions
2. October 2026 02:40
Geändert
fillout_get_submission
2. October 2026 02:40
Geändert
fillout_list_submissions
2. October 2026 02:40
Geändert
fillout_get_form
2. October 2026 02:40
Geändert
fillout_list_forms
2. October 2026 02:40
Hinzugefügt
fillout_remove_webhook
30. September 2026 02:40
Hinzugefügt
fillout_create_webhook
30. September 2026 02:40
Hinzugefügt
fillout_create_submissions
30. September 2026 02:40
Hinzugefügt
fillout_export_submissions
30. September 2026 02:40
Hinzugefügt
fillout_count_submissions
30. September 2026 02:40
Hinzugefügt
fillout_get_submission
30. September 2026 02:40
Hinzugefügt
fillout_list_submissions
30. September 2026 02:40
Hinzugefügt
fillout_get_form
30. September 2026 02:40
Hinzugefügt
fillout_list_forms
30. September 2026 02:40