typeform_create_ formCreate a new form from a form definition.
Pull submissions off any form, patch a title or theme without resending the whole definition, spin up workspaces, and read completion rates — all as the account your token belongs to.
PopMCPTypeform
Every operation and trigger available on this connection, from reading responses to editing themes and webhooks — search the list to find the one you need.
typeform_create_ formCreate a new form from a form definition.
typeform_create_ themeCreate a reusable theme (colors, font, background, button style).
typeform_get_ formRetrieve a single form's full definition — title, fields (questions) with their ids and types, welcome/thank-you screens, logic, theme, workspace, and settings.
typeform_get_ themeRetrieve one theme's full definition — name, colors, font, background, and button style.
typeform_list_ formsList the account's forms with each form's id, title, last-updated time, and `_links`.
typeform_list_ themesList the account's themes (the reusable visual styles applied to forms) — each with its id, name, colors, font, and background.
typeform_patch_ formPartially update a form with a JSON Patch operation array (RFC 6902) — change just the title, theme, workspace, or specific settings without resending the whole form.
typeform_update_ formReplace a form's ENTIRE definition (full overwrite).
typeform_get_ workspaceRetrieve one workspace — its name, default/shared flags, members, and form count.
typeform_list_ workspacesList the account's workspaces (the folders that organize forms) — each with its id, name, whether it's the default/shared, member count, and `_links`.
typeform_create_ or_ update_ webhookCreate OR update a webhook on a form (a single upsert keyed by `tag`).
typeform_delete_ webhookDelete a webhook from a form by its tag.
typeform_get_ webhookRetrieve one webhook on a form by its tag — its url, enabled state, and verify_ssl setting.
typeform_list_ webhooksList a form's webhooks — each with its `tag` (the user-chosen name that identifies it), target url, enabled flag, and verify_ssl setting.
typeform_get_ form_ messagesGet a form's customizable on-screen messages (button labels, the submit/progress text, validation and error strings) in the form's language.
typeform_list_ responsesRetrieve a form's responses (submissions).
typeform_update_ form_ messagesUpdate a form's customizable messages.
typeform_get_ insights_ summaryGet a form's all-time performance summary — total views, starts, submissions, completion rate, and average time to complete (plus per-platform breakdowns).
typeform_get_ meGet the authenticated Typeform account (the user this token acts as) — user_id, email, alias, and language.
typeform_delete_ formPermanently delete a form and ALL of its responses.
typeform_delete_ themeDelete a theme.
typeform_patch_ themePartially update a theme with a JSON Patch operation array — change just the name, a color, or the font without resending the whole theme.
typeform_update_ themeReplace a theme's ENTIRE definition (full overwrite — omitted properties revert to defaults).
typeform_create_ workspaceCreate a new workspace to organize forms.
typeform_delete_ workspaceDelete a workspace.
typeform_update_ workspaceUpdate a workspace with a JSON Patch operation array — rename it, or ADD/REMOVE members.
typeform_create_ imageAdd an image to the account's library.
typeform_delete_ imageDelete an image from the account's library.
typeform_get_ imageRetrieve one image's metadata.
typeform_list_ imagesList the images in the account's library (used as form/question/background/choice images) — each with its id, file_name, and `src` URL.
typeform_delete_ responsesPermanently delete specific responses from a form (up to 1000 per call).
Credentials off one Typeform screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In Typeform, open Settings → Personal tokens, generate a token with the scopes you need, and paste it into Personal access token; Data region (us, eu, eu2) is optional. Calls run as that one account.
••••••••••••3f7ausPick read-only for reporting, or full access with approval required on writes so deleting a form — which takes every response with it — waits for a human. Flip on the full catalog when you need the rarer tools.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Typeform credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show me views, submissions and completion rate for every live form
typeform_list_formsok
Then just ask for the work
“Show me views, submissions and completion rate for every live form”
“Change the submit button label on every support form we run”
“Build an NPS form using our brand theme and drop it in the CX workspace”
“Which forms get the most submissions but have no webhook set up?”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Typeform behind an AI client.
Create a token in Typeform under Settings → Personal tokens, tick the scopes you want it to carry, and paste it into the Personal access token field. There is no OAuth popup and nothing to re-authorize later. The token acts as one Typeform account, so the connection is locked to that account and the workspaces it can see.
Yes. The connect form has an optional Data region field that takes us, eu, or eu2 — set it to match where your Typeform account lives. Leave it blank if you don't need to pin a region.
list_responses returns a form's submissions, and get_insights_summary returns its all-time views, starts, submissions, completion rate and average time to complete, with per-platform breakdowns. Deletion is on the table too, and it is permanent: delete_responses removes up to 1000 specific responses per call, and delete_form takes the form plus every response it holds. Keep writes behind approval if your responses are the system of record.
patch_form applies a JSON Patch operation array (RFC 6902), so the agent can change a title, theme, workspace or a single setting without resending the form. update_form replaces the entire definition, so anything left out is gone. Themes work the same way — patch_theme edits one color or the font, while update_theme is a full overwrite where omitted properties revert to defaults. This is the detail that catches people out, so ask for an edit and let the agent reach for the patch.
Yes. create_or_update_webhook is a single upsert keyed by the webhook's tag — the name you choose — so re-running it with the same tag updates the existing hook rather than adding a second one. list_webhooks, get_webhook and delete_webhook all address hooks by that same tag. PopMCP can also watch for a form response being submitted without you wiring a hook up by hand.
The catalog holds 31 operations across 9 API modules: forms, responses, insights, form messages, themes, images, workspaces and members, webhooks, and the account itself. 19 load into your client by default and the rest stay searchable, split 14 read to 17 write. There are also 9 triggers PopMCP can watch, from a new response landing to a form's completion rate dropping below the level you expect.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 31 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 19-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 31 here. A trigger is something PopMCP watches for you: 9 Typeform events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Typeform.
Launch a hosted MCP endpoint for Typeform, keep tool access under control, and start testing real workflow prompts right away.