Typeform MCP server

Overview

The Typeform MCP server is a connector that allows you to interact with your Typeform account from an LLM client of your choice. Right now, it's a generally-available beta with limited capabilities, but we'll be extending its capabilities over the next few months into a fully-fledged plugin for apps like ChatGPT and Claude.

💡Building a Typeform MCP connector and need help? Let us know here!

Connecting to the Typeform MCP server

You can connect to the Typeform MCP server at this address:

https://api.typeform.com/mcp

Note: if you use our EU data center, then you will need to use one of the following addresses depending on where your account is hosted: https://api.eu.typeform.com/mcp or https://api.typeform.eu/mcp

Our MCP server only supports the newer streamable HTTP transport, and we don't offer an SSE endpoint.

Authentication

The MCP server supports OAuth. When you connect, you should be prompted to grant OAuth access to your Typeform account with the required scopes.

Supported tools

At the moment, our MCP server supports tools for:

  • Building and editing forms
  • Building and managing automations
  • Read-write access to Contacts
  • Analyzing form responses

🆕 Tools for getting form insights will be coming soon!

The full list of tools currently supported by our MCP server--along with their required OAuth scopes--is as follows:

Tool nameRequired OAuth scopesDescription
accounts-list_accountsaccounts:readLists all accounts the authenticated user is a member of.
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 and existing runs (optionally).
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.
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_delete_formforms:writeDeletes a form by its ID.
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.
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_database_propertycontacts:writeCreates a new custom property on the Contacts database schema.
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:writeDeletes a contact from the Contacts database.
contacts-public_delete_contacts_database_propertiescontacts:writeDeletes multiple custom properties from the Contacts database schema in a single operation.
contacts-public_delete_contacts_database_propertycontacts:writeDeletes a single custom property from the Contacts database schema.
contacts-public_delete_contacts_listcontacts:writeDeletes a contacts list (segment) from the Contacts database.
contacts-public_delete_form_property_mappingscontacts:writeDeletes 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_database_propertycontacts:writeUpdates the name of a custom property on the Contacts database schema.
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.
insights-public_discoverinsights:readReturns the schema of analytics data available for a given form or audience, including queryable fields and measures.
insights-public_listinsights:readReturns paginated row-level response data for a single field in a dataset.
workspaces-list_workspacesworkspaces:readLists the workspaces the caller can see, including ID, name, form count, and type.

Feature access

Access to features in Typeform's MCP server is subject to their availability in your subscription plan. Visit the Pricing page for more information.

Feedback

If you have any comments, suggestions, or problems using our MCP server you can reach out to us here 💬