Skip to main content
Glama

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.

Ownership verified
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

A4.2/5.0

Scored across 24 tools

Disambiguation4/5

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).

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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
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 tools
bootform_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 spamA
Read-onlyIdempotent
Inspect

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 settingsA
DestructiveIdempotent
Inspect

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 settingsA
DestructiveIdempotent
Inspect

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 formA
DestructiveIdempotent
Inspect

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 submissionsA
DestructiveIdempotent
Inspect

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 workspaceA
DestructiveIdempotent
Inspect

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 accountA
Read-onlyIdempotent
Inspect

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 snippetA
Read-onlyIdempotent
Inspect

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 submissionsA
Read-onlyIdempotent
Inspect

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 destinationsA
Read-onlyIdempotent
Inspect

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 formsA
Read-onlyIdempotent
Inspect

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 emailsA
Read-onlyIdempotent
Inspect

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 workspacesA
Read-onlyIdempotent
Inspect

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 submissionA
Idempotent
Inspect

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 submissionA
Destructive
Inspect

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 destinationA
DestructiveIdempotent
Inspect

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 emailA
DestructiveIdempotent
Inspect

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

    Related MCP Servers

    • F
      license
      A
      quality
      C
      maintenance
      MCP server for FormsList, a form-backend SaaS. Enables creating form endpoints, reading submissions, configuring auto-responses, and generating embed snippets via natural language.
      7
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Form 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.
      1
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources