MCP server
Connect Claude, ChatGPT, Cursor, or any MCP client to Deooch Forms and create forms, edit fields, and read responses in chat.
Deooch Forms ships an MCP server — a remote Model Context Protocol endpoint that turns any MCP-capable AI assistant into a form builder. You describe the form you want in chat; the assistant calls create_form; you get a public link back. When the responses come in, the same assistant reads them with list_submissions.
The endpoint is https://forms.deooch.com/api/mcp. It speaks streamable HTTP, authenticates with OAuth (no API key to paste), and is published to the MCP Registry as io.github.musaib001/deooch-forms.
Connecting a client
Every client is the same three steps: add a remote/custom MCP connector, paste the URL, sign in when the browser opens.
- Claude — Settings → Connectors → Add custom connector → paste
https://forms.deooch.com/api/mcp. - ChatGPT — Settings → Connectors → Create custom connector. Requires a plan that supports custom connectors (Plus, Pro, or Business) with developer mode enabled.
- Cursor, Windsurf, Zed, and other config-file clients — add the server to the client's MCP config:
{
"mcpServers": {
"deooch-forms": {
"url": "https://forms.deooch.com/api/mcp"
}
}
}The first tool call opens a browser for sign-in. After you approve, the connection appears on your Connected apps page and the client stores its own token. Per-client screenshots and the errors people actually hit live on the MCP connector walkthrough.
Tool reference
Six tools, no more. list_forms is usually the first call — the other tools take a formId, and this is where you get one.
| Tool | What it does | Input | Returns |
|---|---|---|---|
create_form | Create a form and get its public link back. | title, description?, fields[] | formId, slug, publicUrl |
update_form | Change a form's title, description, fields, or status (draft / published / closed). | formId, title?, description?, fields[]?, status? | formId, slug, publicUrl, updatedAt |
get_form | Read one form's full definition, including every field. | formId | formId, title, description, fields[], status, createdAt, updatedAt |
list_forms | List forms in the workspace, newest first. | status?, limit (default 20, max 100) | forms[] — formId, title, status, submissionCount, createdAt |
list_submissions | List responses to a form. | formId, limit (default 50, max 200) | submissions[] — submissionId, answers, submittedAt |
get_submission | Read one response by id. | submissionId | submissionId, formId, answers, submittedAt |
Editing an existing form
update_form replaces the whole fields array rather than patching it. Read the form first with get_form, apply the edit to the array you got back, and send the full array. Assistants handle this correctly on their own — it matters if you are driving the tools programmatically.
Field shape
Each entry in fields is an object with id, type, label, required, order, and optionally placeholder, helpText, and options for choice fields. See field types for the full list of 14 types.
{
"title": "Customer feedback",
"fields": [
{ "id": "name", "type": "text", "label": "Your name", "required": true, "order": 0 },
{ "id": "rating", "type": "radio", "label": "How did we do?", "required": true, "order": 1,
"options": ["Great", "Fine", "Not great"] },
{ "id": "notes", "type": "textarea", "label": "Anything else?", "required": false, "order": 2 }
]
}What the connector can and cannot reach
- Can: create forms, edit fields, publish or close a form, list forms, read submissions.
- Cannot: delete forms, touch billing, add or remove workspace members, or reach another workspace.
- Acts as you: the connection carries your role and plan. Free-plan connections are scoped to forms you created.
Revoke a connection from Connected apps in Settings and it stops working immediately.
Common errors
- 401 Unauthorized — the connection was revoked or sign-in never finished. Remove the connector and add it again.
- Form not found — wrong
formId, the form was deleted, or it belongs to a teammate and you are on the Free plan. Calllist_formsand use an id from that list. - Connection closed / server not responding — almost always a malformed URL. It must be exactly
https://forms.deooch.com/api/mcp, with the/api/mcppath andhttps. - Plan limit — Free accounts get 2 forms. Delete one or upgrade.
Frequently asked questions
- What is an AI form MCP connector?
- An MCP connector is a server that speaks the Model Context Protocol, an open standard for giving AI assistants access to external tools. A form MCP connector lets an assistant such as Claude or ChatGPT create forms, edit their fields, and read the responses without you opening a dashboard. Deooch Forms exposes six such tools at https://forms.deooch.com/api/mcp.
- Which AI assistants work with Deooch Forms?
- Any client that supports remote MCP servers over HTTP — Claude (desktop, web, and Claude Code), ChatGPT with custom connectors enabled, Cursor, Windsurf, Zed, and the many smaller MCP clients. You add the same URL everywhere; sign-in happens in the browser via OAuth.
- Do I need an API key?
- No. The connector uses OAuth, so the first call opens a browser, you sign in and approve, and the client stores the token itself. There is no key to paste or keep in a config file. You can revoke the connection at any time from the Connected apps page.
- Can the assistant delete my forms or see my billing?
- No. The six tools are the entire surface: forms and their submissions. There is no delete tool, and nothing exposes billing, workspace members, or other workspaces. update_form can change a form's status to closed, which stops new responses without destroying anything.
- Is the connection per-user or per-workspace?
- Per user. The connection acts as you, with your role and your plan. Teammates connect with their own accounts. On the Free plan a connection only reaches forms you created; Owner and Member roles on paid plans reach the whole workspace.
- Is Deooch Forms in the MCP Registry?
- Yes — it is published as io.github.musaib001/deooch-forms. Clients that browse the registry can install it from there; everyone else adds https://forms.deooch.com/api/mcp as a custom connector.
Next
- A worked example: building a form with Claude end to end
- How the form-builder MCP connectors compare
- Reading responses and exporting to Excel
Ready to try it? Create a free account — 2 forms and 50 submissions, no card.