Api
MCP server
Connect AI assistants like Claude Code, Claude Desktop, and Cursor to FormBackend via the Model Context Protocol
FormBackend has a Model Context Protocol (MCP) server, and it is available on every plan, including the free plan. It lets Claude Code, Claude Desktop, Claude.ai and Cursor list your forms, read submissions and create new form endpoints on your behalf, through seven tools. Authenticate with OAuth or an API key. Your usual plan limits still apply to what it creates.
FormBackend exposes a Model Context Protocol (MCP) server at:
https://www.formbackend.com/mcp
Connecting it to your AI assistant lets you ask things like “list my forms”, “show submissions to my contact form from this week”, or “create a newsletter signup form called Beta List” and have the assistant call the FormBackend API for you.
Let an AI coding agent create and configure forms
An AI coding agent can create and configure a FormBackend form programmatically, through the MCP server, without you opening the dashboard. From Claude Code, Cursor, Claude Desktop or any MCP client, the agent can create a form endpoint, add and remove its fields, set its notification and redirect settings, and read the submissions it receives. The agent gets the endpoint URL back and can paste it straight into the action attribute of the HTML form it is writing.
In practice, that means a prompt like “add a contact form to this page and wire it up to FormBackend” ends with a working form: the agent calls create_form, adds the fields with add_field, writes the <form> markup with the returned endpoint, and later checks list_submissions to confirm a test submission arrived. This is different from an AI form builder, which designs a hosted form for you: here the agent writes your HTML and FormBackend only receives the submissions.
What the agent can do, by tool:
- Create a form endpoint: create_form (name only; the form joins your default project)
- Define the fields: add_field, remove_field
- Configure delivery: update_form_settings (notification emails, redirect URL, spam settings)
- Verify it works: list_forms, get_form, list_submissions
Quickstart, from Claude Code:
claude mcp add --transport http formbackend https://www.formbackend.com/mcp
Then, in the project where the agent is writing your site:
Create a FormBackend form called "Contact" with fields name, email and message, then add a contact form to contact.html that posts to it.
The agent authenticates once through OAuth, creates the form, and writes the markup. The MCP server is available on every plan, including the free plan; the free plan’s limit of 1 form and 50 submissions per month applies to what the agent creates.
Authentication
You can authenticate two ways:
- OAuth (recommended for desktop assistants) — you add the server URL to your client, a browser pops up, you log in to FormBackend and approve the consent screen. The client stores a token automatically. No copy-pasting required.
- API key (recommended for scripts and CI) — pass an API key in the
Authorization: Bearer <token>header.
Both modes respect the same set of scopes:
| Scope | What it allows |
|---|---|
forms_read |
List forms and read their settings |
forms_write |
Create new forms and update existing form settings |
submissions_read |
Read form submissions |
When you authorize via OAuth you’ll see exactly which scopes the client is requesting on the consent screen. With API keys, scopes map to the permission checkboxes on the API keys page.
Setup
Claude Code (CLI)
claude mcp add --transport http formbackend https://www.formbackend.com/mcp
The first request triggers the OAuth flow — your browser will open, you log in, approve the consent screen, and the client stores the access token. Subsequent commands work transparently.
To use an API key instead:
claude mcp add --transport http formbackend https://www.formbackend.com/mcp \ --header "Authorization: Bearer YOUR_API_KEY"
Claude (web and Desktop)
Custom remote MCP connectors are added on claude.ai (Pro, Max, Team, or Enterprise plans). Once added, they’re available in both the web app and Claude Desktop because the connector lives on your Anthropic account.
In claude.ai, open Settings → Connectors, click Add custom connector, and paste:
https://www.formbackend.com/mcp
Click Add. The first time you enable the connector or call a FormBackend tool, you’ll be sent to FormBackend to log in and approve the consent screen.
Cursor
Edit ~/.cursor/mcp.json and add:
{ "mcpServers": { "formbackend": { "url": "https://www.formbackend.com/mcp" } } }
Restart Cursor. The first time you use a FormBackend tool in Composer, Cursor opens your browser for the OAuth flow.
For API key auth instead, replace the entry with:
{ "mcpServers": { "formbackend": { "url": "https://www.formbackend.com/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
Other clients
Any client that speaks the modern Streamable HTTP transport and supports OAuth 2.1 with Dynamic Client Registration will work. Point it at https://www.formbackend.com/mcp — the discovery endpoints at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource advertise the rest.
Available tools
| Tool | Required scope | Description |
|---|---|---|
list_forms |
forms_read |
Returns every form in your account with its token, name, and submission count |
get_form |
forms_read |
Returns the full settings for a single form by token |
create_form |
forms_write |
Creates a new form. Only name is required; the form is auto-assigned to your default project |
update_form_settings |
forms_write |
Updates settings on an existing form. Only the fields you pass are changed |
add_field |
forms_write |
Adds a field to a form: name, type, label and whether it is required |
remove_field |
forms_write |
Removes a field from a form by name |
list_submissions |
submissions_read |
Returns submissions for a form, with optional filtering by spam/trash status and date range |
The full input schema for each tool is returned by the tools/list JSON-RPC call — your AI assistant queries this automatically when the connection starts.
Managing connected applications
Visit your authorized applications page to see every AI assistant you’ve connected and revoke access individually. Revoking immediately invalidates the access and refresh tokens for that client; you’ll need to reconnect to keep using it.
Limitations
- The MCP server operates against your first account (the same one the rest of the API uses). Multi-account users can’t yet pick which account a connected client targets.
- Non-admin team members only see and modify forms in projects they have membership for, mirroring the web app’s permission rules.
- Form quotas, plan limits, and paid-only fields (custom redirect URL, additional notification recipients) are enforced exactly as they are on the web app.