Get started
Connect an AI assistant
Let Claude, ChatGPT, Cursor and other AI apps build forms in your account.
Describe the form you need to your AI assistant, and it builds it in your Create a Form account: sections, question types, conditions, repeatable groups and file upload rules included. You review the draft in the builder and publish when you’re happy.
This works with any app that supports MCP (Model Context Protocol) servers, including Claude, ChatGPT, Claude Code, Cursor and VS Code.
Your server URL
Every app needs the same address. Find it with a copy button in the dashboard under AI assistants. It looks like this:
https://your-domain/api/v1/mcp
The first time an app connects, it opens a Create a Form page in your browser. Sign in if needed, check what the app asks for and choose Allow.
Claude
- In Claude, open Settings → Connectors and choose Add custom connector.
- Name it “Create a Form” and paste your server URL.
- Click Connect, then Allow on the Create a Form page.
- In a chat, make sure Create a Form is turned on in the tools menu, and ask for a form.
On Team and Enterprise plans, an owner may need to add the connector for the organization first.
ChatGPT
- In ChatGPT, open Settings → Apps & Connectors and turn on Developer mode under Advanced settings.
- Choose Create, paste your server URL and pick OAuth as the authentication.
- Choose Allow on the Create a Form page, then add the connector to your chat.
Custom connectors depend on your ChatGPT plan and workspace settings.
Claude Code
claude mcp add --transport http create-a-form https://your-domain/api/v1/mcp
Then run /mcp in Claude Code, pick create-a-form and choose Authenticate.
Cursor
Add the server to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"create-a-form": { "url": "https://your-domain/api/v1/mcp" }
}
}
Then open Cursor Settings → MCP and click Connect next to create-a-form.
VS Code
Add the server to .vscode/mcp.json, then click Start above it and sign in:
{
"servers": {
"create-a-form": { "type": "http", "url": "https://your-domain/api/v1/mcp" }
}
}
Other apps
Any app that supports remote MCP servers over HTTP can connect with the server URL. If an app can’t sign in with OAuth but lets you set headers, use an API key instead (Developer mode → API keys):
Authorization: Bearer caf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The key’s scopes decide what the app can do, exactly as with the REST API.
What you can ask
- “Create a job application for a barista with work history, two references and a CV upload (PDF or Word).”
- “Make an RSVP form for our June 14 picnic. Only ask about dietary needs if they’re coming.”
- “Start from the event registration template and add a T-shirt size question.”
- “Add a 1–5 rating for each workshop session to my feedback form, then publish it.”
- “How many people answered my volunteer sign-up this week, and which shifts are most popular?”
Assistants learn the form format from Create a Form itself, including what your plan allows, so you can describe forms in plain words.
What an assistant can do
When an app connects, you choose what it may do:
| Permission | What it allows |
|---|---|
| See your forms | List your forms and read their questions and settings. Always included. |
| Create and edit forms | Create drafts, change them and publish them. |
| See response statistics | Response counts and per-question statistics. You can untick it. |
Assistants can’t delete forms, read or export individual responses, change your account, billing or API keys. New forms stay drafts until you or the assistant publishes them, and everything an assistant does shows up in your forms like any other change. Your plan’s limits apply as usual (for example, 5 forms and 30 requests a minute on Free).
Disconnecting an app
Go to AI assistants in the dashboard and choose Disconnect next to the app. It loses access immediately. A connection also ends by itself after 30 days without use.
To give an app more permissions later (such as response statistics), disconnect it and connect again.
Troubleshooting
- “This connection can’t continue”: the app sent an address Create a Form doesn’t recognize. Remove the connector in the app and add it again.
- A warning about “an app on this computer”: apps like Claude Code, Cursor and VS Code receive the connection on your own computer. Only allow it if you just started connecting from that app.
- The assistant says a feature needs Pro: approval scoring, redirects, password protection and removing branding are Pro features. The assistant can still build everything else.
- The assistant says a form “changed since you read it”: someone edited the form at the same time. Ask the assistant to try again; it reloads the form first.
For developers
The MCP endpoint is POST /api/v1/mcp (Streamable HTTP, stateless, JSON responses; GET returns 405). It supports protocol version 2026-07-28 with per-request metadata, and 2025-03-26 to 2025-11-25 through initialize. Tools: get_form_guide, list_templates, create_form, get_form, update_form, publish_form, list_forms and get_form_results.
Authorization follows the MCP authorization spec with a built-in OAuth 2.1 server:
| Protected resource metadata | /.well-known/oauth-protected-resource/api/v1/mcp |
| Authorization server metadata | /.well-known/oauth-authorization-server (issuer: your site URL) |
| Client identification | Client ID Metadata Documents (https client_id), or Dynamic Client Registration at /api/v1/oauth/register |
| Flow | Authorization code with PKCE S256, resource indicator, iss in the response |
| Tokens | Access tokens last 1 hour and only work on the MCP endpoint; refresh tokens rotate on every use, and reusing an old one revokes the connection |
| Revocation | POST /api/v1/oauth/revoke (RFC 7009) |
Redirect URIs must be https, http://localhost / 127.0.0.1 (any port) or an app’s own scheme. When self-hosting, set PUBLIC_APP_URL to your public https:// address: tokens are bound to PUBLIC_APP_URL/api/v1/mcp.