Product Demos Pricing Docs Log in Start free →

HomeDocsMCP Server

MCP Server

RapidForm ships a remote Model Context Protocol server, so AI assistants such as Claude, Cursor and any other MCP client can build forms, read submissions and manage webhooks for you in plain language. Ask "make me a quote request form for a landscaping company and publish it" and the assistant designs the fields, creates the form and hands you the link.

The MCP server uses the same API keys, workspace scoping, rate limits and plan rules as the REST API. It is included in the Pro and Business plans.

Server URL

https://rapidform.com/mcp

Transport: Streamable HTTP. Two ways to authenticate, depending on your client:

  • Sign in with RapidForm (OAuth) — for Claude.ai, ChatGPT and other clients that ask for a server URL and then open a login window. Nothing to copy.
  • API key — for Claude Code, Cursor, Claude Desktop and scripts that let you set an Authorization header. Create the key under API in your RapidForm sidebar.

Sign in with RapidForm (Claude.ai, ChatGPT)

  1. In the client, add a custom connector or MCP server and paste https://rapidform.com/mcp. Leave any client ID and secret fields empty; the client registers itself.
  2. The client opens RapidForm. Log in if needed, check the workspace shown, and click Allow access.
  3. You're back in the client with the RapidForm tools available.

The connection acts on your current workspace, the one selected in your dashboard when you approved it. It needs a Pro or Business plan; a Free account can connect but every request is refused with plan_required until you upgrade.

Access lasts 30 days and is refreshed automatically while the client stays in use. To revoke it, open API in the sidebar and click Disconnect next to the app under "Connected apps".

Connecting with an API key

Replace YOUR_API_KEY with the full key, including the numeric prefix and pipe (for example 12|rf_…).

Claude Code

claude mcp add --transport http rapidform https://rapidform.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Cursor

Add to .cursor/mcp.json in your project, or ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "rapidform": {
      "url": "https://rapidform.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Claude Desktop

Claude Desktop's config file only launches local servers, so bridge to the remote server with mcp-remote. Add to claude_desktop_config.json:

{
  "mcpServers": {
    "rapidform": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://rapidform.com/mcp",
        "--header", "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

Other clients

Any client that supports remote Streamable HTTP servers works: either sign in through the OAuth flow above, or send the header Authorization: Bearer YOUR_API_KEY. The server advertises itself through the standard /.well-known/oauth-authorization-server metadata and supports dynamic client registration and PKCE, so no manual client setup is needed on either side.

Verifying the connection

Ask your assistant to "call get-account on RapidForm". It should reply with your workspace name, plan and usage. If the tools do not appear, the key is missing, revoked, or belongs to a Free account.

What the assistant can do

Every tool operates on the workspace the API key was created for. Forms in other workspaces are invisible to it.

Tool What it does Arguments
get-account Plan, limits and usage for this key. Assistants call it first.
list-forms Forms in the workspace, newest first, with URL and submission count. status, page, per_page
get-form One form with its full field list, settings and theme. form_id
create-form Creates a form with fields, settings and theme. Drafts by default. name, fields, internal_name, status, settings, theme
update-form Changes name or status, merges settings and theme, replaces fields if given. form_id + any of the above
replace-form-fields Replaces the complete field list only. form_id, fields
delete-form Deletes a form. Marked destructive, so assistants confirm first. form_id
list-submissions Submissions newest first, cursor paginated, with unread and since filters. form_id, per_page, cursor, unread, since
get-submission One submission with answers keyed by field label. submission_id
get-form-analytics Views, submissions and conversion for 7, 30 or 90 days. form_id, period
list-webhooks Webhooks on a form. form_id
add-webhook Adds a webhook URL, up to five per form. form_id, url, active
remove-webhook Removes a webhook. form_id, webhook_id

Arguments have the same names, types and rules as the REST API. See Forms API for the field object, settings and theme, and Submissions API for the submission object.

Resource

rapidform://reference/field-types is a Markdown reference of every field type, the field object keys, validation rules and conditional logic, with a complete example. Assistants read it before designing a form.

Prompt

build-form takes a description (and optional publish, default yes) and walks the assistant through checking the plan, reading the field reference, creating the form and reporting the link and embed snippet.

Example conversations

  • "Create a contact form with name, email, a dropdown for the topic (Sales, Support, Partnership) and a message. Publish it and give me the embed code."
  • "Show me the last 10 submissions to the Newsletter form and summarise the common questions."
  • "Add a 'Company size' dropdown to the contact form that only shows when 'Are you a business?' is Yes."
  • "How is the quote request form converting this month compared to the last 7 days?"
  • "Send every new submission of the demo request form to https://hooks.example.com/demo."

Limits and safety

  • Requests share the API key's limit of 120 per minute.
  • Tools return clear error messages on invalid input, so the assistant can correct itself instead of creating a broken form.
  • delete-form and remove-webhook are flagged as destructive; well-behaved clients ask for confirmation before running them.
  • Revoke the key, or disconnect the app, under API in the sidebar to cut off an assistant immediately.