BootForm
Server Details
Form backend for static sites: create a form and get its HTML snippet, send submissions to email, Discord, Slack or a webhook, then read, moderate and clean up spam. Sign in with OAuth, no API key. MCP works on every plan, including Free.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- BootForm
TDQS
Scored across 24 tools
Resources and actions are clearly separated: forms, workspaces, submissions, destinations and verified emails rarely overlap. The only soft spots are the four add_* destination tools (discord/slack/webhook/email) and the add_email vs add_verified_email pair, but the descriptions explicitly steer between them. mark_submission vs moderate_submission is well delineated (folder/flags vs public feed).
Every tool is prefixed bootform_ and follows a strict snake_case verb_noun pattern (list_forms, create_workspace, delete_submissions, mark_submission, moderate_submission). Verbs are used consistently, including sensible add/remove pairs for destinations and verified emails.
24 tools is on the heavy side, but the scope genuinely spans six resources (forms, workspaces, submissions, destinations, verified emails, account) with full lifecycle operations. Each tool maps to a real operation rather than padding, so the count is defensible though slightly over the comfortable range.
Strong CRUD/lifecycle coverage: forms create/configure/delete/list/snippet, submissions list/mark/moderate/delete, workspaces create/configure/delete/list, destinations add/list/remove, emails add/list/remove, plus account info and spam diagnostics. Minor gaps: no way to update or toggle a destination's enabled state (though list reports it), no single submission fetch or delete-by-filter, and no get_form for one form's full detail.
Publisher details
- Operator
- Menelabs O.E. · Publisher source
- Operator website
- https://bootform.com
- Vendor relationship
- First-party
- Documentation
- https://bootform.com/docs/mcp-and-ai-agents
- Trust center
- Not available
- Restrictions
- None for MCP: every plan, including Free. Slack and webhook destinations need Starter or higher. · Publisher source
Available Tools
24 toolsbootform_add_discordAdd a Discord notificationAInspect
Posts each submission to a Discord channel. Use it when the person wants submissions in Discord; it needs the channel's webhook URL (Discord: channel settings, Integrations, Webhooks). For Slack use bootform_add_slack; for their own server or an automation tool, bootform_add_webhook.
Inputs: form_id (required), webhook_url (required), color, username, +1 more.
bootform_add_emailAdd an email notificationAInspect
Adds an email notification recipient to a form, so each submission is emailed there. The address must already be verified for the account: if it isn't, call bootform_add_verified_email first, wait for the person to click the link it sends (bootform_list_verified_emails shows the status), then call this. Returns every email recipient the form now has.
Inputs: email (required), form_id (required).
bootform_add_slackAdd a Slack notificationAInspect
Posts each submission to a Slack channel. Use it when the person wants submissions in Slack; it needs an incoming webhook URL (https://hooks.slack.com/services/...) from a Slack app with Incoming Webhooks turned on. Requires the Starter plan or higher. For Discord use bootform_add_discord; for their own server, bootform_add_webhook.
Inputs: form_id (required), webhook_url (required), color, username, +1 more.
bootform_add_verified_emailVerify a new email addressAInspect
Starts verifying an email address so it can receive this account's form notifications: emails the address a confirmation link. A person must click that link; then bootform_add_email accepts the address. On an address still pending it sends a fresh link and the earlier one stops working; on an address already verified it sends nothing and answers status "verified".
Inputs: email (required).
bootform_add_webhookAdd a webhook notificationAInspect
Sends each submission as a JSON POST to a URL the person controls: their own server, or an automation tool that accepts webhooks. Use bootform_add_discord or bootform_add_slack for those chat apps instead. Requires the Starter plan or higher. The answer includes the signing secret, shown only once.
Inputs: url (required), form_id (required), headers.
bootform_check_spamCheck a form for spamARead-onlyIdempotentInspect
Checks one form for a spam problem and returns facts, not a verdict: inbox, archived and spam counts over the last days days; the spam folder by reason (honeypot filled, honeypot missing, moved by hand); the form's spam protection; and inbox signals (submissions with links, several from one IP within a minute, identical messages) with their ids. Read a sample with bootform_get_submissions and judge for yourself. Then propose fixes in this order: turn the honeypot on if it is off (bootform_configure_form honeypot_enabled, and put the field on the page); if it is on and spam still gets through, renaming it does not help (these bots leave every hidden field empty), so suggest Turnstile, which the person sets up in the dashboard (never ask for CAPTCHA keys). Offer to move spam to the spam folder (bootform_mark_submission spam: true) or delete it (bootform_delete_submissions), naming the ids and asking first.
Inputs: form_id (required), days.
bootform_configure_formChange a form's settingsADestructiveIdempotentInspect
Updates a form's name, allowed origins, redirect, or subject template, and turns on the public moderated content feed (Pro plan or higher): set content_feed_enabled to true and list public_fields, then the site can read approved submissions, photos included, from https://f.bootform.com/forms/{form_id}/feed with no API key. item_status_label adds a status visitors can mark (for example "taken") via POST .../feed/{submission_id}/status. honeypot_enabled and honeypot_field change the form's spam trap; the answer's notes then give the exact line the page must carry, so update the page in the same job. retention_days makes BootForm delete the form's submissions that many days after they arrive; if that deletes submissions already stored, the call is refused with the count until you pass confirm_delete: true, so tell the person the count and ask first. CAPTCHA keys are set in the dashboard only. Only fields you pass are changed.
Inputs: form_id (required), name, redirect_url, workspace_id, +12 more.
bootform_configure_workspaceChange a workspace's settingsADestructiveIdempotentInspect
Renames a workspace or changes the defaults its forms inherit (allowed origins, time zone, retention). Only the arguments given change. A shorter retention_days that would delete stored submissions is refused with the count until you pass confirm_delete: true, so tell the person the count and ask first.
Inputs: workspace_id (required), name, time_zone, confirm_delete, +2 more.
bootform_create_formCreate a formAInspect
Creates a new form on the connected account and returns its id, endpoint and a ready-to-paste HTML snippet to put on the person's page. To change a form that already exists, use bootform_configure_form instead (bootform_list_forms shows what exists). Form names don't have to be unique. Without workspace_id the form goes to the account's default workspace. Creating forms is rate limited: RATE_LIMITED means wait a little and try again.
Inputs: name (required), redirect_url, workspace_id, allowed_origins.
bootform_create_workspaceCreate a workspaceAInspect
Creates a new workspace to group forms, for example one per client, and returns it with its id. Requires the Pro plan or higher. Workspace names don't have to be unique, so check bootform_list_workspaces first rather than creating a second one with the same name. Put forms in it with bootform_create_form's or bootform_configure_form's workspace_id; change it later with bootform_configure_workspace.
Inputs: name (required), time_zone, allowed_origins.
bootform_delete_formDelete a formADestructiveIdempotentInspect
Permanently deletes a form and all its submissions. Irreversible. The form disappears immediately and returns status "deleting"; its data is removed in the background shortly afterwards.
Inputs: confirm (required), form_id (required).
bootform_delete_submissionsDelete submissionsADestructiveIdempotentInspect
Permanently deletes the listed submissions of one form, with their uploaded files. Irreversible: there is no trash or undo. Pass the ids you have listed (bootform_get_submissions, spam: true for the spam folder), up to 200 per call; there is no delete-by-filter. Always name the submissions and ask the person before calling. Returns deleted_ids and not_found_ids.
Inputs: confirm (required), form_id (required), submission_ids (required).
bootform_delete_workspaceDelete a workspaceADestructiveIdempotentInspect
Deletes a workspace. Its forms are not deleted: they move to the account's default workspace, with their submissions and settings, and there is no undo that puts them back. The default workspace can't be deleted. Tell the person which forms will move and ask first; then call with confirm: true. Answers how many forms moved and the default workspace's id.
Inputs: confirm (required), workspace_id (required).
bootform_get_accountShow the connected accountARead-onlyIdempotentInspect
Shows which BootForm account this connection works in (yours or a team you belong to) and your role there, its plan, submissions used this period against the quota, attachment storage, how many forms, workspaces and verified emails it has against the plan's limits, which features the plan includes, and the other accounts you could connect to instead. Call it before a tool that needs a higher plan, or when the person asks which account they are in.
Inputs: no named parameters.
bootform_get_snippetGet a form's HTML snippetARead-onlyIdempotentInspect
Returns a ready-to-paste HTML snippet for one of the connected account's existing forms. A read: it changes nothing. Put the snippet on the person's page where the form should appear. Keep its hidden honeypot field: while the form's Honeypot switch is on, a post without it lands in spam. If the form has Turnstile set up in the dashboard, pass include_turnstile: true, or every post from the page is refused; include_powered_by adds a one-line credit. A new form comes with its snippet from bootform_create_form; use this one for an existing form or to change its fields.
Inputs: form_id (required), fields, include_honeypot, include_turnstile, +1 more.
bootform_get_submissionsRead submissionsARead-onlyIdempotentInspect
Lists recent submissions for a form, newest first: the inbox by default, or the spam folder with spam: true. Archived submissions are never included. If the person says the form gets spam, or these look like spam, run bootform_check_spam first.
Inputs: form_id (required), read, spam, limit, +1 more.
bootform_list_destinationsList a form's notification destinationsARead-onlyIdempotentInspect
Lists where a form sends its submissions: each destination's id, type (email, discord, slack, webhook or a type set up in the dashboard), whether it is enabled, and a target that tells destinations apart. Webhook URLs and header values are masked, never shown in full. Use the id with bootform_remove_destination.
Inputs: form_id (required).
bootform_list_formsList formsARead-onlyIdempotentInspect
Lists the account's forms, newest first, each with its id, endpoint, workspace, submission count, this month's usage against the quota, and spam protection (honeypot on or off, the honeypot field's name, and whether a CAPTCHA is set up). A read: it changes nothing. Returns up to 200 forms in one call, with no paging; total says how many there are. Use a form's id with bootform_get_snippet, bootform_configure_form or bootform_get_submissions.
Inputs: no named parameters.
bootform_list_verified_emailsList verified emailsARead-onlyIdempotentInspect
Lists every email address this account can send form notifications to, newest first, each with status "pending" (link sent, not clicked yet) or "verified". A read: it changes nothing; no paging. Only a verified address can be used in bootform_add_email; add a new one with bootform_add_verified_email, remove one with bootform_remove_verified_email.
Inputs: no named parameters.
bootform_list_workspacesList workspacesARead-onlyIdempotentInspect
Lists all of the account's workspaces (groups of forms, for example one per client): the default workspace first, then the rest oldest first, each with its id, form count and the defaults its forms inherit. Every account has exactly one default workspace. A read: it changes nothing; no paging. Use an id as workspace_id in bootform_create_form or bootform_configure_form to put a form in it, or with bootform_configure_workspace to change it.
Inputs: no named parameters.
bootform_mark_submissionMark a submissionAIdempotentInspect
Marks one submission (one submission_id per call; call it once per submission for several) read/unread, starred/unstarred, archived/unarchived, and/or moves it to the spam folder (spam: true) or back to the inbox (spam: false). Moving only changes the folder: no notification is sent late and the quota does not change. Name the submission and ask the person before moving it. At least one of read/starred/archived/spam is required. To show or hide a submission in the form's public content feed use bootform_moderate_submission; to delete submissions permanently use bootform_delete_submissions.
Inputs: form_id (required), submission_id (required), read, spam, +2 more.
bootform_moderate_submissionModerate a feed submissionADestructiveInspect
Decides whether a submission appears in the form's public content feed: 'approved' shows it there, 'rejected' keeps it out. Use it only on a form with the content feed turned on (bootform_configure_form content_feed_enabled); find the submission with bootform_get_submissions. It can also set or clear the submission's item status (for example "taken") when the form has one. Pass status, feed_status, or both. Approving or rejecting can be reversed by calling it again, but 'approved' also resets the visitor report count, and feed_status 'clear' deletes every visitor mark; neither comes back, and those visitors can't mark or report it again. Repeating 'set' restarts the item's hide timer.
Inputs: form_id (required), submission_id (required), status, feed_status.
bootform_remove_destinationRemove a notification destinationADestructiveIdempotentInspect
Removes one notification destination from a form, so its submissions stop going there. Take the id from bootform_list_destinations. Returns the destinations the form still has; when none are left, the form sends no notifications at all. Adding a webhook again gives it a new signing secret.
Inputs: form_id (required), destination_id (required).
bootform_remove_verified_emailRemove a verified emailADestructiveIdempotentInspect
Removes an address from this account's verified emails (pending or verified), so it can no longer be added to a form. Take the id from bootform_list_verified_emails. The account's own email can't be removed. Forms already sending to the address keep sending: remove those with bootform_remove_destination. Returns the verified emails left.
Inputs: verified_email_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Form backend for static sites: create forms, manage submissions, webhooks and exports.
Create forms, read submissions, and build invitations from Claude, ChatGPT, or any MCP client.
Form backend: manage websites, forms, submissions, files and webhooks from your AI assistant.
Backend for any website form: create forms, read and triage submissions, debug webhooks.
Related MCP Servers
- FlicenseAqualityCmaintenanceMCP server for FormsList, a form-backend SaaS. Enables creating form endpoints, reading submissions, configuring auto-responses, and generating embed snippets via natural language.7-

furrow-formsofficial
AlicenseNot gradedqualityBmaintenanceForm backend an AI agent can run end to end: register the account, provision a site's forms in one bootstrap_site call, get the snippet with spam protection, and verify HMAC-signed webhooks. 26 tools over streamable HTTP (OAuth or bearer token) or stdio via npx @furrowforms/mcp.1MIT- AlicenseNot gradedqualityCmaintenanceEnables users to create forms, read submissions, and build and publish invitations from Claude, ChatGPT, Cursor, or any MCP client via a remote, OAuth-secured connection.MIT
- AlicenseNot gradedqualityBmaintenanceEnables users to create contact forms, get ready-to-paste embed snippets, read recent submissions, and manage signed webhook notifications through a local MCP bridge.325 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.