Formgong MCP server

Connect Formgong to Cursor, Claude, VS Code, Lovable or Bolt. Your AI assistant can then create a form, fetch ready-to-paste code with the right access key, and check recent submissions without you copying keys by hand.

URL: https://formgong.com/mcp · Streamable HTTP · OAuth 2.1 or Authorization: Bearer fgp_…

Tools

  • list_forms — your forms with their public access keys and this month's submission count.
  • create_form — a new form; submissions go to your account email. Telegram and extra recipients are connected in the dashboard (the tool returns the links).
  • get_form_snippet — HTML, React or Next.js code for one form, with access key, _lang, botcheck honeypot and Turnstile when enabled.
  • list_recent_submissions — read-only, opt-in: time and submitted fields only, spam excluded by default, up to 50.
  • list_webhooks, create_webhook, delete_webhook — manage a form's webhooks, so n8n, Make or Zapier can register their trigger URL; create_webhook returns the signing secret.
  • list_website_templates — free complete website templates (live demo, HTML download, source) whose contact form already posts to Formgong; start from one instead of generating a site from scratch.

1. Connect with sign-in

Cursor, Claude and VS Code can open Formgong in the browser. You sign in with the same email link or Google account you already use, then choose what the tool may do. Nothing to paste.

  1. Cursor: save the config below. CLIENT_ID is the public id cursor (there is no secret). forms:read and forms:write let the assistant list and create forms. Add submissions:read only if it should read messages.
  2. Claude on the web or in Claude Desktop: add a custom connector with the MCP URL. Claude registers a public client and opens the same approval page. The callback is https://claude.ai/api/mcp/auth_callback (or https://claude.com/api/mcp/auth_callback).
  3. Claude Code: run the command in the next section and approve the browser page. VS Code registers itself, or you can use client id vscode. Local tools may use http://127.0.0.1 or http://localhost callbacks.
  4. forms:read is always included. On the approval page, leave “Read recent submissions” off unless you need it. Disconnect later under Dashboard → Account → Connected apps.

2. Create an API token

  1. Open Dashboard → Account → API tokens (confirm your email first).
  2. Name the token after the tool that will use it, e.g. “Cursor on my laptop”.
  3. Choose access: “Create forms” is on by default; “Read recent submissions” is off unless you need it.
  4. Copy the token (fgp_…). It is shown once; Formgong stores only a hash of it.
{
  "mcpServers": {
    "formgong": {
      "url": "https://formgong.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:FORMGONG_TOKEN}"
      }
    }
  }
}

3. Add the server to your tool

Cursor

Cursor: save the sign-in config below (public client id cursor, no secret). Cursor opens Formgong; approve the access you want. For a personal API token instead, use the token config in the previous section and keep that file out of git.

{
  "mcpServers": {
    "formgong": {
      "url": "https://formgong.com/mcp",
      "auth": {
        "CLIENT_ID": "cursor",
        "scopes": [
          "forms:read",
          "forms:write"
        ]
      }
    }
  }
}

Claude Code

Claude Code: run once in your terminal. Approve the Formgong page in the browser. To skip sign-in, add --header "Authorization: Bearer fgp_your_token".

claude mcp add --transport http formgong https://formgong.com/mcp

Claude Desktop

Claude Desktop: Settings → Connectors → add the MCP URL. Claude opens Formgong sign-in. To use a pasted API token instead, use the mcp-remote bridge (requires Node.js) in claude_desktop_config.json and restart Claude Desktop.

{
  "mcpServers": {
    "formgong": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://formgong.com/mcp",
        "--header",
        "Authorization:${FORMGONG_AUTH}"
      ],
      "env": {
        "FORMGONG_AUTH": "Bearer fgp_your_token"
      }
    }
  }
}

VS Code

VS Code (Copilot agent mode): add .vscode/mcp.json. VS Code asks for the token once and stores it securely.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "formgong-token",
      "description": "Formgong API token (fgp_…)",
      "password": true
    }
  ],
  "servers": {
    "formgong": {
      "type": "http",
      "url": "https://formgong.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:formgong-token}"
      }
    }
  }
}

Lovable

Lovable: Connectors → + → MCP server. Name: Formgong. Enter the URL, keep Direct connection and OAuth, then click Add & authorize. Sign in to Formgong and approve the permissions. Alternatively, choose Bearer token or API key and paste only your personal token.

URL: https://formgong.com/mcp
Authentication: OAuth
Add & authorize → Formgong

Bolt

Bolt: Settings → Connectors (MCP) → Custom MCP server. Name: Formgong. Transport: HTTP. Authentication: MCP OAuth. Click Connect, sign in to Formgong and approve the permissions, then enable the connector for your project. API key is also available with a personal Formgong token.

Name: Formgong
URL: https://formgong.com/mcp?auth=required
Transport: HTTP
Authentication: MCP OAuth
Connect → Formgong

Any other client that supports remote MCP over Streamable HTTP with custom headers works with the same URL and header. Stdio-only clients can use the mcp-remote bridge shown for Claude Desktop.

Try it

  • Create a Formgong form called “Contact – my site” and add it to the contact page.
  • Add the Formgong form “Contact” to this Next.js app as a client component.
  • Show me the last 5 messages from my contact form.

Security

  • A token acts on your account within its scopes. Keep it out of git, chats and screenshots; revoke it in Account → API tokens if it leaks.
  • Only forms you own are available. Forms shared with you through projects are not exposed.
  • Submissions are never available unless you tick “Read recent submissions”. IP data and browser details are never returned.
  • Submission text is written by your visitors. Treat it as untrusted: do not let an assistant follow instructions found in a message.
  • Tokens can expire after 30, 90 or 365 days. Session cookies never work on /mcp, so a web page cannot use your login.
  • OAuth access and refresh tokens are stored only as a hash. A refresh token changes on every use; sending an old one revokes that connection. Disconnect apps in Account → Connected apps. Registration accepts only known MCP callbacks and http://localhost or http://127.0.0.1.
  • Without a token, /mcp answers only initialize, ping and tools/list, so clients and MCP directories can see the tool list. Every tool call needs a token; without one the server returns an error that explains how to add it.

Limits

  • 60 requests per minute per token, 120 per account.
  • Requests without a token: 30 per minute per IP address.
  • 10 new forms per hour through the API.
  • Up to 10 tokens per account.
  • OAuth registration accepts the listed callbacks for Cursor, Claude and VS Code, HTTPS addresses on lovable.dev and bolt.new (no subdomains, query or fragment), and HTTP loopback callbacks. Each client remains bound to its exact registered redirect URI. Other clients use an API token. Sign-in and token exchange are rate limited per IP. Lovable: https://api.lovable.dev/workspaces/connectors/mcp/oauth/callback.

AI builder prompts · Agent rules files