FormThunder isn't open yet. This site describes the service as it will run at launch. Find out more

FormThunder
Menu

Connect your AI to a form backend MCP server with one command

FormThunder's MCP server gives Claude Code, Cursor and other agents 48 tools to create forms, write the code into your project, match emails to your brand and run real tests. Install it with one command. It's included on every plan, so an agent can finish the setup before you've paid anything.

Updated

Install it

Pick the one that matches your client. The server needs a key: log in with npx formthunder login, or set FORMTHUNDER_API_KEY.

Claude Code

terminal
claude mcp add formthunder -- npx -y formthunder mcp

Run the server yourself

terminal
npx formthunder mcp

Hosted endpoint

Streamable HTTP, stateless, with a bearer key.

terminal
claude mcp add --transport http formthunder https://formthunder.com/api/mcp \
  --header "Authorization: Bearer ft_live_..."

Cursor and other clients

.cursor/mcp.json
{
  "mcpServers": {
    "formthunder": {
      "command": "npx",
      "args": ["-y", "formthunder", "mcp"],
      "env": { "FORMTHUNDER_API_KEY": "ft_live_..." }
    }
  }
}

Keep this file out of git if it holds a key.

Want the whole run first? Read how to let Claude Code set up a contact form with MCP.

Things you can ask for

Plain sentences work. The server tells the agent the right order of tools for each job.

  • Add a contact form to this site that emails hello@example.com. Test it when you're done.
  • Read https://example.com and make our FormThunder emails match the site's branding.
  • Why didn't last night's form submission reach Slack? Fix it and resend it.
  • Send every submission from the quote form to this webhook, and show me how to verify the signature.
  • Create a client account for Harbour Dental, add a contact form to their site and match their brand.
  • Move this site's forms off Web3Forms. Keep the field names and test each one.

All 48 tools

The server also ships two prompts: setup_contact_form and match_website_branding. Agency keys can pass account_id on any tool to work inside a client's account.

Account

whoami
Shows the account behind the key: kind, plan, limits, usage and role.
get_usage
Shows submissions used this month against the plan's limit.

Forms

list_forms
Lists forms, so the agent reuses one before creating a duplicate.
create_form
Creates a form that emails its verified recipients.
get_form
Returns one form with every setting.
update_form
Changes any setting: recipients, subject, redirect, theme, spam, integrations.
delete_form
Deletes a form. The agent is told to confirm with you first.
get_snippet
Returns form code for html, react, nextjs, vue, svelte or astro with the key filled in.
test_form
Runs a real test submission and returns each delivery's status.
check_form_on_site
Fetches your live page and reports whether the form is wired up, with a fix for each failure.

Submissions

list_submissions
Lists submissions, newest first. Pro.
get_submission
Returns a submission with channel, status, attempts and last error for each delivery. Pro.
create_submission
Creates a submission from code, with the same deliveries as a website post. Pro.
resend_deliveries
Re-queues a submission's failed deliveries.

Brand kit and themes

extract_brand_from_website
Reads a live site and works out its logo, colours, fonts and radius.
get_brand
Reads the brand kit.
set_brand
Saves the brand kit. Built-in themes pick it up at once.
list_themes
Lists the built-in email themes.

Email templates

list_templates
Lists saved templates.
get_template
Returns one template with its HTML.
create_template
Saves a custom HTML template. Pro.
update_template
Changes a saved template.
delete_template
Deletes a saved template.
preview_template
Renders a template with sample data and returns warnings. Sends nothing.
send_test_template
Sends one test email to an address you own.
generate_template
Writes an HTML template from your brand kit and an optional URL.
list_template_variables
Lists every variable a template can use.

Linked emails

list_linked_emails
Lists linked addresses and whether each is verified.
add_linked_email
Links an address and emails it a verification link.
remove_linked_email
Removes a linked address.

Agency clients

list_clients
Lists client accounts. Pass an id as account_id on any tool to work inside that account.
create_client
Creates a free client account, with an optional invitation.
get_client
Returns a client's plan, who pays and contact details.
update_client
Changes a client's name or contact email.
delete_client
Deletes a client account and its forms.
upgrade_client
Upgrades a client to Pro and adds $5/mo to your bill.
downgrade_client
Moves a client back to Free and removes the $5/mo line.
invite_to_client
Invites someone to a client account.
get_client_billing
Shows the retainer you charge this client through your Stripe.
set_client_billing
Sets up a recurring retainer, paid by checkout link or emailed invoice.
list_client_invoices
Lists one-off invoices sent to a client.
create_client_invoice
Emails a client a one-off invoice from the agency's Stripe account.
void_client_invoice
Voids an open invoice.
cancel_client_billing
Cancels a client's retainer.

Keys and audit

list_api_keys
Lists API keys. Secrets aren't shown.
create_api_key
Creates a key for CI or a server. The secret is shown once.
revoke_api_key
Revokes a key immediately.
get_audit_log
Shows what changed and which person or key changed it.

Or use the CLI

The same package is a command-line tool, for you, for CI, and for agents with a terminal and no MCP. Any command takes --json.

terminal
npx formthunder login
npx formthunder init
npx formthunder brand pull https://example.com
npx formthunder test YOUR_FORM_ID
npx formthunder check YOUR_FORM_ID --url https://example.com/contact

See the full CLI reference and the REST API.

Files written for machines to read

Point an agent at these if you'd rather not install anything.

Questions

What is an MCP server for forms?

MCP, the Model Context Protocol, is a standard way for AI tools to call outside services. FormThunder's MCP server gives an agent tools to create forms, write the code, set the branding and run tests, so it can finish the setup without you opening a dashboard.

Should I use the local server or the hosted one?

Use npx formthunder mcp if your client can launch a local command, as Claude Code and Cursor can. Use the hosted endpoint at /api/mcp if your client only connects to remote servers. Both offer the same tools.

Can the agent spend my money?

Tools that cost money or delete data tell the agent to confirm with you first, and most MCP clients also ask before running a tool. Upgrading a client is the one tool that adds to your bill, at $5 a month.

Does this work on the free plan?

Yes. MCP, the CLI, the API and the brand kit are on every plan. Tools that use a Pro feature return an error with a hint explaining the upgrade.

What if my AI tool doesn't support MCP?

If it can run a terminal command, it can use the CLI. Every command accepts --json. For anything else, the REST API has an OpenAPI description at /openapi.json.

Connect your AI and let it build your first form

The free plan covers 250 submissions a month, with MCP, the CLI and the brand kit included.