Browse Formstack forms, submissions and webhooks, search responses, and create submissions. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"formstack": {
"url": "https://formstack.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
formstack_list_forms | read | List forms List the forms in the account, with submission counts, live URL and folder. Filter by name or folder and sort. Formstack: GET /forms. |
formstack_get_form | read | Get one form Fetch a form's details — name, URL, submission counts, settings — optionally with its full field list. Formstack: GET /forms/{formId}. |
formstack_list_form_fields | read | List a form's fields List every field on a form — id, label, type, required flag, options and logic. Use this to learn field IDs before searching or creating submissions. Formstack: GET /forms/{formId}/fields. |
formstack_list_form_submissions | read | List a form's submissions List a form's submissions, newest or oldest first, filtered by keyword, date range or specific field values. Set include_data to get the answers. Formstack: GET /forms/{formId}/submissions. |
formstack_count_form_submissions | read | Count a form's submissions Count a form's submissions, with a per-day breakdown over a lookback window of up to 7 days. Formstack: GET /forms/{formId}/submissions/count. |
formstack_search_submissions | read | Search submissions across all forms Full-text search for submissions across every form in the account, e.g. by a person's email or name. Formstack: GET /submissions. |
formstack_get_submission | read | Get one submission Fetch a single submission with every field's label, type, display value and parsed value, plus payment, approval and workflow status. Formstack: GET /submissions/{submissionId}. |
formstack_list_partial_submissions | read | List a form's partial submissions List entries respondents started but did not finish (Save & Resume / abandoned), with the same filters as submissions. Formstack: GET /form/{formId}/partialsubmission. |
formstack_list_folders | read | List folders List the account's form folders and their subfolders. Formstack: GET /folders. |
formstack_get_folder | read | Get one folder Fetch a folder with its parent, permissions and direct subfolders. Formstack: GET /folders/{folderId}. |
formstack_list_webhooks | read | List a form's webhooks List the webhooks that push a form's submissions to external URLs, with their payload settings. Formstack: GET /forms/{formId}/webhooks. |
formstack_list_notification_emails | read | List a form's notification emails List the notification emails that alert your team when a form is submitted — recipients, subject, sender and logic. Formstack: GET /forms/{formId}/notifications. |
formstack_list_confirmation_emails | read | List a form's confirmation emails List the confirmation emails sent to the person who submits a form — sender, subject, message and delay. Formstack: GET /forms/{formId}/confirmations. |
formstack_list_submit_actions | read | List a form's submit actions List what happens after a form is submitted — default processing, a custom message, or a redirect URL — with conditional logic. Formstack: GET /forms/{formId}/submitactions. |
formstack_create_submission | write | Create a submission Submit an entry to a form on someone's behalf. This is a real submission: it counts toward the form and can fire its notification emails, webhooks and integrations. Formstack: POST /forms/{formId}/submissions. |
formstack_update_submission | write | Update a submission Change field values on an existing submission, or mark it read/unread. Only the fields you pass are changed. Formstack: PUT /submissions/{submissionId}. |
formstack_create_prefill_url | write | Create a prefilled form link Generate a link to a live form with some fields already filled in — e.g. to send a customer a form with their name and account number pre-entered. Formstack stores the prefill and returns prefilledUrl. Formstack: POST /forms/{formId}/prefill. |
formstack_update_form | write | Update a form's settings Rename a form, move it to a folder, change its submit-button text, timezone or language, or activate/deactivate it (with a message shown while inactive). Reversible. Formstack: PUT /forms/{formId}. |
formstack_create_folder | write | Create a folder Create a folder for organising forms, at the root or inside a parent folder. Formstack: POST /folders. |
formstack_create_webhook | write | Create a webhook Add a webhook that POSTs each new submission of a form to your URL. Formstack: POST /forms/{formId}/webhooks. |
formstack_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
formstack_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Formstack tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.