Supported tools

Our MCP server supports tools for:

  • Building and editing forms
  • Building and editing automations
  • Read-write access to Contacts
  • Reading and analyzing form responses

The tool list is the same for every account. Access to the underlying features is plan-dependent and enforced when a tool is called — see Plans and feature access.

Before authoring form changes or running analytics queries, read Core concepts — several tools must be called in a specific order.

Tools marked ⚠️ are destructive and cannot be undone.

Tools are grouped by the domain prefix in their name, which is the fastest way to find the one you need.

Accounts and workspaces

Resolve where you are before anything else. Almost every other tool needs the account_id these return.

Tool nameRequired OAuth scopesDescription
accounts-list_accountsaccounts:readLists all accounts the authenticated user is a member of. Call this first — most tools need the account_id.
workspaces-list_workspacesworkspaces:readLists the workspaces the caller can see, including ID, name, form count, and type.

Forms

Creating, reading, editing, and publishing forms. Editing is patch-based and ordered — see Core concepts.

Tool nameRequired OAuth scopesDescription
forms-public_get_capabilitiesforms:readReturns the field types, block operations, and logic operators supported by the form editing tools. Call this before building or editing a form to understand available options.
forms-public_get_formforms:readRetrieves a form's current state. Supports a view parameter for targeted output: full (default), fields, or skeleton (structure only).
forms-public_list_formsforms:readLists forms owned by your user, with optional search and pagination.
forms-public_create_formforms:writeCreates a new, empty Typeform in a given workspace. Returns the form ID needed for subsequent editing tools.
forms-public_validate_patchforms:writeValidates a batch of patch operations against a form draft without saving anything. Returns a validation_token that must be passed to forms-public_patch_form to commit the changes.
forms-public_patch_formforms:writeApplies validated patch operations to a form draft. Requires a validation_token from forms-public_validate_patch. Changes are saved but not published — call forms-public_publish_form to make them live.
forms-public_publish_formforms:writePublishes the current draft of a form, making it live. Only call this when the user explicitly wants the form to go live.
forms-public_duplicate_formforms:writeCopies an existing form into a workspace you choose, including its fields, logic, theme, and screens. The copy is always created unpublished. 3rd party connections are cleared (e.g., Stripe, Google Calendar), and a new title can be set.
forms-public_update_form_metadataforms:writeUpdates a form's title.
forms-public_delete_formforms:write⚠️ Deletes a form by its ID.

Insights

Reading and analyzing responses. insights-public_discover resolves the schema and must be called first.

Tool nameRequired OAuth scopesDescription
insights-public_discoverinsights:readReturns the schema of analytics data available for a given form or audience, including queryable fields and measures. Call this before any other insights tool.
insights-public_aggregateinsights:readReturns counts, averages, sums, and NPS for a field or a whole dataset.
insights-public_timeseriesinsights:readReturns measures bucketed by time, from hour to year, with up to two breakdown dimensions.
insights-public_toplistinsights:readReturns top-N and ranked results, grouped by one or two dimensions.
insights-public_listinsights:readReturns paginated row-level response data for a single field in a dataset.

Automations

Building, editing, and publishing automations, including their steps and triggers. Reacting to a form submission is an automation, not a form.

Tool nameRequired OAuth scopesDescription
automations-public_add_delay_stepautomations:writeAdd a delay step to an existing automation.
automations-public_add_email_stepautomations:writeAdd an email step to an existing automation.
automations-public_add_integration_stepautomations:writeAdd a send-to-integration step to an existing automation.
automations-public_add_webhook_stepautomations:write, webhooks:writeAdd a webhook step to an existing automation.
automations-public_create_automationautomations:writeCreate a new Automation.
automations-public_get_authorized_email_domainsautomations:read, accounts:readGet the authorized email domains for the current account.
automations-public_get_automationautomations:readGet an existing automation by its ID. Returns the working state.
automations-public_get_email_notificationautomations:readGet the working state of an email notification template.
automations-public_get_triggerautomations:readGet a trigger by its ID. Returns the working state.
automations-public_list_automationsautomations:readList all automations for the authenticated account.
automations-public_list_referenceable_fieldsautomations:readList the fields available to reference (on emails, triggers) for a given automation.
automations-public_patch_triggerautomations:writePatch a trigger by applying JSON Patch operations.
automations-public_pause_automationautomations:writePause an automation by disabling its trigger. Optionally stop existing runs.
automations-public_publish_automationautomations:writePublish an automation.
automations-public_remove_stepsautomations:writeRemove one or more steps from an existing automation.
automations-public_reorder_stepautomations:writeMove an existing step to a new position in an automation.
automations-public_update_delay_stepautomations:writeUpdate an existing delay step's duration.
automations-public_update_email_stepautomations:writeUpdate an existing email step and content.
automations-public_update_webhook_stepautomations:write, webhooks:writeUpdate an existing webhook step's configuration.

Contacts

The contacts database, lists (segments), custom properties, and form-to-contact property mappings.

Tool nameRequired OAuth scopesDescription
contacts-public_get_contactcontacts:readGets a single contact by ID with all properties and their metadata.
contacts-public_get_contacts_database_propertiescontacts:readGets specific contact properties by their IDs.
contacts-public_get_contacts_listcontacts:readGets the details of a specific contacts list (segment) by ID.
contacts-public_get_form_property_compatibilitycontacts:readGets compatible contact property mappings for a given form's fields and variables.
contacts-public_get_form_property_mappingscontacts:readGets the property mappings (sync config) for a specific form.
contacts-public_get_form_property_mappings_by_idcontacts:readGets the details of a form property mapping (sync config) by its ID.
contacts-public_list_contactscontacts:readLists contacts from the Contacts database, with optional filtering and pagination.
contacts-public_list_contacts_database_propertiescontacts:readLists all contact properties defined in the Contacts database schema.
contacts-public_list_contacts_listscontacts:readLists all saved contact lists in the Contacts database.
contacts-public_list_form_property_mappingscontacts:readLists all form-to-contact property mappings (sync configs).
contacts-public_bulk_create_contacts_listscontacts:writeCreates one or more contacts lists (segments) in a single call.
contacts-public_bulk_create_custom_contacts_database_propertiescontacts:writeCreates multiple custom contact properties on the Contacts database schema in a single operation. Custom properties can only be created in bulk — there is no single-property equivalent.
contacts-public_bulk_upsert_contactscontacts:writeCreates or updates multiple contacts in a single operation, matching on identifier.
contacts-public_create_contactcontacts:writeCreates a new contact in the Contacts database.
contacts-public_create_contacts_listcontacts:writeCreates a new contacts list (segment) in the Contacts database.
contacts-public_create_form_property_mappingscontacts:writeCreates a form property mapping to connect a form's fields to contact properties.
contacts-public_delete_contactcontacts:write⚠️ Deletes a contact from the Contacts database.
contacts-public_delete_contacts_database_propertiescontacts:write⚠️ Deletes multiple custom properties from the Contacts database schema in a single operation. Irreversible, and breaks any form property mappings and enrichment configs that reference them.
contacts-public_delete_contacts_database_propertycontacts:write⚠️ Deletes a single custom property from the Contacts database schema. Irreversible, and breaks any form property mappings and enrichment configs that reference it.
contacts-public_delete_contacts_listcontacts:write⚠️ Deletes a contacts list (segment) from the Contacts database.
contacts-public_delete_form_property_mappingscontacts:write⚠️ Deletes a form property mapping (sync config) by its ID.
contacts-public_enable_standard_contacts_database_propertiescontacts:writeActivates one or more disabled standard (built-in) contact properties.
contacts-public_import_form_responses_by_mappingcontacts:writeSchedules an import of form responses into contacts using an existing form property mapping.
contacts-public_update_contactcontacts:writeUpdates an existing contact's properties in the Contacts database.
contacts-public_update_contacts_listcontacts:writeUpdates an existing contacts list's name or filter/sort settings.
contacts-public_update_form_property_mappingscontacts:writeUpdates an existing form property mapping, replacing all field mappings.

Feedback

Report a blocker or send feedback from inside a session — see Feedback.

Tool nameRequired OAuth scopesDescription
submit_feedbackReports a blocker or sends feedback about the MCP server from inside a session. See Feedback.

Not yet supported

These Typeform capabilities have no MCP equivalent today. Use the REST API for them rather than trying to work around the gap:

Not available over MCP yetUse instead
Full response rows, response deletion, response export. insights-public_list is per-field onlyResponses API
Legacy form-level webhook create, list, update, delete. Use webhooks from automations insteadWebhooks API
Themes, images, and brand kits. Forms can be built structurally but not styledCreate API
Creating, updating, or deleting workspaces, and moving a form between workspacesCreate API
Retrieving embed codesCreate API
Deleting an automationManual
Manage account members. accounts-list_accounts is the only account-level toolManual
Renaming or modifying an existing custom contact property. Properties can be created in bulk and deleted, but not updatedManual