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 · 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.
1. Create an API token
- Open Dashboard → Account → API tokens (confirm your email first).
- Name the token after the tool that will use it, e.g. “Cursor on my laptop”.
- Choose access: “Create forms” is on by default; “Read recent submissions” is off unless you need it.
- Copy the token (fgp_…). It is shown once; Formgong stores only a hash of it.
2. Add the server to your tool
Cursor
Cursor: add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project). Set FORMGONG_TOKEN in your environment, or paste the token in place of the variable in a file you do not commit.
{
"mcpServers": {
"formgong": {
"url": "https://formgong.com/mcp",
"headers": {
"Authorization": "Bearer ${env:FORMGONG_TOKEN}"
}
}
}
}
Claude Code
Claude Code: run once in your terminal.
claude mcp add --transport http formgong https://formgong.com/mcp \ --header "Authorization: Bearer fgp_your_token"
Claude Desktop
Claude Desktop: custom connectors in Settings → Connectors need OAuth, which Formgong does not offer yet. Use the mcp-remote bridge (requires Node.js) in claude_desktop_config.json instead, then 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: Settings → Connectors → Custom MCP server. Enter the URL, choose “Bearer token or API key” and paste only the token (without the word Bearer).
URL: https://formgong.com/mcp Authentication: Bearer token or API key Token: fgp_your_token
Bolt
Bolt: Settings → Connectors (MCP) → Custom MCP server. Transport: HTTP. Authentication: API key, then paste the token.
Name: Formgong URL: https://formgong.com/mcp Transport: HTTP Authentication: API key → fgp_your_token
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.
- 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 is not supported yet, so ChatGPT and claude.ai web connectors cannot connect directly. The site and the copy-paste prompts in these docs still work everywhere.