Formstack MCP server

Browse Formstack forms, submissions and webhooks, search responses, and create submissions. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://formstack.usefulapi.io/mcp
  3. Authenticate with Formstack when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "formstack": {
      "url": "https://formstack.usefulapi.io/mcp"
    }
  }
}
live22 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 22

ToolTypeWhat it does
formstack_list_formsread
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_formread
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_fieldsread
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_submissionsread
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_submissionsread
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_submissionsread
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_submissionread
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_submissionsread
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_foldersread
List folders
List the account's form folders and their subfolders. Formstack: GET /folders.
formstack_get_folderread
Get one folder
Fetch a folder with its parent, permissions and direct subfolders. Formstack: GET /folders/{folderId}.
formstack_list_webhooksread
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_emailsread
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_emailsread
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_actionsread
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_submissionwrite
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_submissionwrite
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_urlwrite
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_formwrite
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_folderwrite
Create a folder
Create a folder for organising forms, at the root or inside a parent folder. Formstack: POST /folders.
formstack_create_webhookwrite
Create a webhook
Add a webhook that POSTs each new submission of a form to your URL. Formstack: POST /forms/{formId}/webhooks.
formstack_usage_statusmeta
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_upgrademeta
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.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper user$9/mo · $90/yrUnlimited

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.

More Business Operations MCP servers

Beds24BoulevardBuildiumCurrent RMSDeputyFilloutFormbricksHostfullyHousecall ProKickservOfficeRnDRecruiteeShopmonkeySmoobuSortlyWhen I WorkWorkizWufoo

All Business Operations servers →