Skip to content

Formstack MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Browse Formstack forms, submissions and webhooks, search responses, and create submissions.

Deletes · 6

20 tools: 6 can delete or cancel things and 14 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http formstack https://formstack.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

20 tools

Deletes or cancels 6Claude Code: deny
  • formstack_create_folderCreate a folder for organising forms, at the root or inside a parent folder.No findings

    Why it is in this group

    • The name "formstack_create_folder" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create a folder for organising forms, at the root or inside a parent folder. Formstack: POST /folders.

    Annotations the server declares

    • title: Create a folder
    • destructiveHint: true
  • formstack_create_prefill_urlGenerate a link to a live form with some fields already filled in — e.g.No findings

    Why it is in this group

    • The name "formstack_create_prefill_url" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create a prefilled form link
    • destructiveHint: true
  • formstack_create_submissionSubmit an entry to a form on someone's behalf.No findings

    Why it is in this group

    • The name "formstack_create_submission" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create a submission
    • destructiveHint: true
  • formstack_create_webhookAdd a webhook that POSTs each new submission of a form to your URL.No findings

    Why it is in this group

    • The name "formstack_create_webhook" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Add a webhook that POSTs each new submission of a form to your URL. Formstack: POST /forms/{formId}/webhooks.

    Annotations the server declares

    • title: Create a webhook
    • destructiveHint: true
  • formstack_update_formRename 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).No findings

    Why it is in this group

    • The name "formstack_update_form" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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}.

    Annotations the server declares

    • title: Update a form's settings
    • destructiveHint: true
  • formstack_update_submissionChange field values on an existing submission, or mark it read/unread.No findings

    Why it is in this group

    • The name "formstack_update_submission" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change field values on an existing submission, or mark it read/unread. Only the fields you pass are changed. Formstack: PUT /submissions/{submissionId}.

    Annotations the server declares

    • title: Update a submission
    • destructiveHint: true
Only reads 14Claude Code: allow
  • formstack_count_form_submissionsCount a form's submissions, with a per-day breakdown over a lookback window of up to 7 days.No findings

    Why it is in this group

    • The name "formstack_count_form_submissions" says "count": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Count a form's submissions
    • readOnlyHint: true
  • formstack_get_folderFetch a folder with its parent, permissions and direct subfolders.No findings

    Why it is in this group

    • The name "formstack_get_folder" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a folder with its parent, permissions and direct subfolders. Formstack: GET /folders/{folderId}.

    Annotations the server declares

    • title: Get one folder
    • readOnlyHint: true
  • formstack_get_formFetch a form's details — name, URL, submission counts, settings — optionally with its full field list.No findings

    Why it is in this group

    • The name "formstack_get_form" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a form's details — name, URL, submission counts, settings — optionally with its full field list. Formstack: GET /forms/{formId}.

    Annotations the server declares

    • title: Get one form
    • readOnlyHint: true
  • formstack_get_submissionFetch a single submission with every field's label, type, display value and parsed value, plus payment, approval and workflow status.No findings

    Why it is in this group

    • The name "formstack_get_submission" says "get": a word for reading.
    Description, as the server wrote it
    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}.

    Annotations the server declares

    • title: Get one submission
    • readOnlyHint: true
  • formstack_list_confirmation_emailsList the confirmation emails sent to the person who submits a form — sender, subject, message and delay.No findings

    Why it is in this group

    • The name "formstack_list_confirmation_emails" says "list": a word for reading.
    Description, as the server wrote it
    List the confirmation emails sent to the person who submits a form — sender, subject, message and delay. Formstack: GET /forms/{formId}/confirmations.

    Annotations the server declares

    • title: List a form's confirmation emails
    • readOnlyHint: true
  • formstack_list_foldersList the account's form folders and their subfolders.No findings

    Why it is in this group

    • The name "formstack_list_folders" says "list": a word for reading.
    Description, as the server wrote it
    List the account's form folders and their subfolders. Formstack: GET /folders.

    Annotations the server declares

    • title: List folders
    • readOnlyHint: true
  • formstack_list_form_fieldsList every field on a form — id, label, type, required flag, options and logic.No findings

    Why it is in this group

    • The name "formstack_list_form_fields" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List a form's fields
    • readOnlyHint: true
  • formstack_list_form_submissionsList a form's submissions, newest or oldest first, filtered by keyword, date range or specific field values.No findings

    Why it is in this group

    • The name "formstack_list_form_submissions" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List a form's submissions
    • readOnlyHint: true
  • formstack_list_formsList the forms in the account, with submission counts, live URL and folder.No findings

    Why it is in this group

    • The name "formstack_list_forms" says "list": a word for reading.
    Description, as the server wrote it
    List the forms in the account, with submission counts, live URL and folder. Filter by name or folder and sort. Formstack: GET /forms.

    Annotations the server declares

    • title: List forms
    • readOnlyHint: true
  • formstack_list_notification_emailsList the notification emails that alert your team when a form is submitted — recipients, subject, sender and logic.No findings

    Why it is in this group

    • The name "formstack_list_notification_emails" says "list": a word for reading.
    Description, as the server wrote it
    List the notification emails that alert your team when a form is submitted — recipients, subject, sender and logic. Formstack: GET /forms/{formId}/notifications.

    Annotations the server declares

    • title: List a form's notification emails
    • readOnlyHint: true
  • formstack_list_partial_submissionsList entries respondents started but did not finish (Save & Resume / abandoned), with the same filters as submissions.No findings

    Why it is in this group

    • The name "formstack_list_partial_submissions" says "list": a word for reading.
    Description, as the server wrote it
    List entries respondents started but did not finish (Save & Resume / abandoned), with the same filters as submissions. Formstack: GET /form/{formId}/partialsubmission.

    Annotations the server declares

    • title: List a form's partial submissions
    • readOnlyHint: true
  • formstack_list_submit_actionsList what happens after a form is submitted — default processing, a custom message, or a redirect URL — with conditional logic.No findings

    Why it is in this group

    • The name "formstack_list_submit_actions" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List a form's submit actions
    • readOnlyHint: true
  • formstack_list_webhooksList the webhooks that push a form's submissions to external URLs, with their payload settings.No findings

    Why it is in this group

    • The name "formstack_list_webhooks" says "list": a word for reading.
    Description, as the server wrote it
    List the webhooks that push a form's submissions to external URLs, with their payload settings. Formstack: GET /forms/{formId}/webhooks.

    Annotations the server declares

    • title: List a form's webhooks
    • readOnlyHint: true
  • formstack_search_submissionsFull-text search for submissions across every form in the account, e.g.No findings

    Why it is in this group

    • The name "formstack_search_submissions" says "search": a word for reading.
    Description, as the server wrote it
    Full-text search for submissions across every form in the account, e.g. by a person's email or name. Formstack: GET /submissions.

    Annotations the server declares

    • title: Search submissions across all forms
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http formstack https://formstack.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__formstack__formstack_list_forms",
      "mcp__formstack__formstack_get_form",
      "mcp__formstack__formstack_list_form_fields",
      "mcp__formstack__formstack_list_form_submissions",
      "mcp__formstack__formstack_count_form_submissions",
      "mcp__formstack__formstack_search_submissions",
      "mcp__formstack__formstack_get_submission",
      "mcp__formstack__formstack_list_partial_submissions",
      "mcp__formstack__formstack_list_folders",
      "mcp__formstack__formstack_get_folder",
      "mcp__formstack__formstack_list_webhooks",
      "mcp__formstack__formstack_list_notification_emails",
      "mcp__formstack__formstack_list_confirmation_emails",
      "mcp__formstack__formstack_list_submit_actions"
    ],
    "ask": [],
    "deny": [
      "mcp__formstack__formstack_create_submission",
      "mcp__formstack__formstack_update_submission",
      "mcp__formstack__formstack_create_prefill_url",
      "mcp__formstack__formstack_update_form",
      "mcp__formstack__formstack_create_folder",
      "mcp__formstack__formstack_create_webhook"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as formstack. Review it before you use it.