# Formbricks — how to use (mcp.ai)

Connect your Formbricks account and use 45 tools for forms and surveys straight from your AI agent. Connect with your own API key. Formbricks is an open-source platform for building and managing surveys, enabling organizations to collect and analyze user feedback effectively.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_formbricks?ms=1787291460000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `formbricks_check_health`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/formbricks`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/formbricks/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/formbricks/check/health` — Tool to check the health status of the Formbricks API. Use when you need to verify that the API is operational and responding to requests.
- `POST https://api.mcp.ai/api/formbricks/create/action/class` — Tool to create a new action class. Use when defining custom action logic in your environment.
  - body: { key: string, name: string, type: string, description?: string, noCodeConfig?: object, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/create/attribute/class` — Creates a new attribute class (custom contact attribute) in Formbricks. Attribute classes define the schema for contact attributes used for segmentation and personalization. Each attribute must have a
  - body: { key: string, name?: string, type?: string, isUnique?: boolean, description?: string, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/create/client/user` — Tool to create or identify a user within a specified environment. If the user already exists, this will identify them and potentially update user attributes. If they don't exist, it will create a new 
  - body: { userId: string, attributes?: object, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/create/contact` — Creates a new contact in a Formbricks environment. A contact represents a person or entity tracked in Formbricks for survey responses and interactions. The email serves as the unique identifier within
  - body: { attributes: object, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/create/display` — Create a display record to track when a survey is shown to users. Displays are used to measure survey view counts and can optionally be linked to a specific user. Use this after obtaining valid survey
  - body: { userId?: string, surveyId: string, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/create/response` — Tool to create a response for a survey. Use after collecting all survey answers.
  - body: { ttc?: object, data: object, meta?: object, endingId?: string, finished: boolean, language?: string, surveyId: string, createdAt?: string, displayId?: string, updatedAt?: string, variables?: object, singleUseId?: string }
- `POST https://api.mcp.ai/api/formbricks/create/survey` — Tool to create a new survey. Use after defining survey details and questions.
  - body: { name: string, type: string, status?: string, questions: object[], environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/create/webhook` — Tool to create a new webhook. Use when you need to register an external endpoint to receive form response events.
  - body: { url: string, name?: string, triggers: string[], surveyIds?: string[], environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/delete/attribute/class` — Tool to delete an attribute class. Use when you need to remove an attribute class by its ID after confirming it's no longer needed.
  - body: { id: string }
- `POST https://api.mcp.ai/api/formbricks/delete/person` — Tool to delete a person. Use when you need to remove a person's record from Formbricks after confirming the ID.
  - body: { personId: string }
- `POST https://api.mcp.ai/api/formbricks/delete/response` — Tool to delete a survey response by its ID. Use when you need to remove an existing response after confirming its ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/formbricks/delete/survey` — Deletes a survey from Formbricks by its unique identifier. Use this action when you need to permanently remove a survey. The deletion cannot be undone. Before deletion, ensure you have the correct sur
  - body: { id: string }
- `POST https://api.mcp.ai/api/formbricks/delete/team` — Tool to delete an organization team by its ID. Use when you need to permanently remove a team from an organization. Requires write permissions on the organization. Returns the deleted team's details i
  - body: { team_id: string, organization_id: string }
- `POST https://api.mcp.ai/api/formbricks/delete/webhook` — Tool to delete a webhook by ID. Use when you need to remove an existing webhook from Formbricks. Use after confirming the webhook ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/formbricks/get/account/info` — Retrieves environment information for the authenticated API key. Returns details about the environment (development or production) including the associated project and setup completion status. This is
- `POST https://api.mcp.ai/api/formbricks/get/all/contacts` — Tool to retrieve all contacts within the organization. Use when you need a complete list of contacts.
- `POST https://api.mcp.ai/api/formbricks/get/attribute/class` — Tool to get a specific attribute class by ID. Use when you need to retrieve details of a specific attribute class for inspection or validation.
  - body: { attributeClassId: string }
- `POST https://api.mcp.ai/api/formbricks/get/client/contacts/state` — Tool to get the current state of a contact including surveys and segment information. Use when you need to retrieve tracking data for a specific user, including their segment memberships, survey displ
  - body: { userId: string, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/get/contact/attribute/key` — Tool to retrieve detailed information about a specific contact attribute key by ID (v2 API). Use when you need to inspect the properties of a contact attribute key such as its type, uniqueness require
  - body: { contactAttributeKeyId: string }
- `POST https://api.mcp.ai/api/formbricks/get/contact/by/id` — Tool to retrieve a specific contact by its ID. Use when you need to fetch detailed information about a single contact.
  - body: { contactId: string }
- `POST https://api.mcp.ai/api/formbricks/get/me` — Tool to retrieve current authenticated organization's and environment details. Use when you need to fetch organization and environment information for the current API key.
- `POST https://api.mcp.ai/api/formbricks/get/person/by/id` — Tool to retrieve a person by their internal ID in Formbricks. Use when you need detailed information about a specific person, including all their custom attributes. The person ID can be obtained from 
  - body: { personId: string }
- `POST https://api.mcp.ai/api/formbricks/get/responses` — Retrieve survey responses with flexible filtering, sorting, and pagination. Use this tool to: - List all responses across surveys or filter by specific surveyId - Filter responses by contactId to see 
  - body: { skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, surveyId?: string, contactId?: string, startDate?: string, filterDateField?: string }
- `POST https://api.mcp.ai/api/formbricks/get/roles` — Tool to retrieve all available roles in the system. Use when you need system roles for access control.
- `POST https://api.mcp.ai/api/formbricks/get/webhook` — Tool to retrieve details of a specific webhook. Use when you need to inspect a webhook's configuration by ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/formbricks/list/action/classes` — List all action classes in your Formbricks environment. Action classes define trackable user interactions (like clicks, page views, form submissions) that can trigger surveys or be used in targeting l
- `POST https://api.mcp.ai/api/formbricks/list/attribute/classes` — Tool to list all attribute classes. Use when you need to retrieve existing attribute classes for segmentation or management.
- `POST https://api.mcp.ai/api/formbricks/list/client/environment` — Tool to retrieve environment state for Formbricks SDKs. Use when you need to fetch the complete environment configuration including surveys, action classes, and project settings. Note: This endpoint u
  - body: { environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/list/contact/attribute/keys` — Tool to retrieve contact attribute keys from Formbricks. Use when you need to list all available contact attributes for segmentation, filtering, or contact management. Supports pagination, sorting, an
  - body: { skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, startDate?: string, environmentId?: string, filterDateField?: string }
- `POST https://api.mcp.ai/api/formbricks/list/health` — Tool to check the health status of critical application dependencies including database and cache. Use when you need to verify that Formbricks services are operational.
- `POST https://api.mcp.ai/api/formbricks/list/management/contact/attributes` — Tool to retrieve all contact attributes in the environment. Use when you need to view custom data stored for contacts across the organization.
- `POST https://api.mcp.ai/api/formbricks/list/management/me` — Tool to retrieve authenticated user's environment and project information. Use when you need to get details about the environment associated with the current API key, including project details and set
- `POST https://api.mcp.ai/api/formbricks/list/management/people` — Tool to retrieve all people (legacy term for contacts) in the environment. Use when you need a complete list of people with their attributes.
- `POST https://api.mcp.ai/api/formbricks/list/organization/teams` — Tool to retrieve all teams in an organization (v2 API). Use when you need to list teams within a specific organization, with support for pagination, sorting, and date-based filtering. Returns team det
  - body: { skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, startDate?: string, organizationId: string, filterDateField?: string }
- `POST https://api.mcp.ai/api/formbricks/list/organizations/project/teams` — Tool to list all project-team assignments for an organization (v2 API only). Use when you need to retrieve which teams are assigned to which projects, along with their permission levels. Supports filt
  - body: { skip?: integer, limit?: integer, order?: string, sortBy?: string, teamId?: string, endDate?: string, projectId?: string, startDate?: string, organizationId: string, filterDateField?: string }
- `POST https://api.mcp.ai/api/formbricks/list/surveys` — List all surveys in the environment. Use this tool to: - Retrieve all surveys with complete configuration details - Access survey questions, endings, triggers, and styling - View survey status and met
- `POST https://api.mcp.ai/api/formbricks/list/webhooks` — List all webhooks configured for the current environment. Returns webhooks with pagination support and optional filtering by survey IDs, date ranges, and sorting. Use this action to retrieve webhook c
  - body: { skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, startDate?: string, surveyIds?: string[] }
- `POST https://api.mcp.ai/api/formbricks/update/contact/attributes` — Tool to update a contact's attributes in Formbricks. Use when you need to keep contact information in sync with your app or set custom attributes.
  - body: { userId: string, attributes: object, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/update/response` — Tool to update an existing survey response. Use after identifying the response to modify.
  - body: { id: string, ttc?: object, data: object, meta?: object, endingId?: string, finished: boolean, language?: string, surveyId: string, contactId?: string, createdAt?: string, displayId?: string, updatedAt?: string, variables?: object, singleUseId?: string, contactAttributes?: object }
- `POST https://api.mcp.ai/api/formbricks/update/survey` — Updates an existing Formbricks survey with new properties. Only include fields you want to modify - all fields except 'id' are optional. Common use cases: - Change survey status (e.g., from 'draft' to
  - body: { id: string, name?: string, delay?: number, status?: string, endings?: object[], triggers?: object[], languages?: string[], questions?: object[], redirectUrl?: string, welcomeCard?: object, displayLimit?: integer, hiddenFields?: object, displayOption?: string, displayPercentage?: number, showLanguageSwitch?: boolean, surveyClosedMessage?: string, isVerifyEmailEnabled?: boolean }
- `POST https://api.mcp.ai/api/formbricks/update/webhook` — Tool to update an existing webhook. Use when you need to apply modifications to a webhook's configuration.
  - body: { id: string, url: string, name: string, source: string, triggers: string[], surveyIds: string[], environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/upload/bulk/contacts` — Upload multiple contacts to a Formbricks environment in bulk (up to 250 per request). Each contact must include an 'email' attribute with a valid email address. Additional attributes like firstName, l
  - body: { contacts: object[], environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/upload/private/file` — Tool to obtain S3 presigned upload data for a private survey file. Use after confirming environmentId and surveyId.
  - body: { fileName: string, fileType: string, surveyId: string, environmentId: string }
- `POST https://api.mcp.ai/api/formbricks/upload/public/file` — Retrieves S3 presigned upload URLs and form fields for uploading a public file to Formbricks storage. Returns signed URL and presigned fields needed to upload files directly to S3. Maximum file size: 
  - body: { fileName: string, fileType: string, environmentId: string, allowedFileExtensions?: string[] }

## Example prompts
- "What can I do in Formbricks?"
- "Show me a summary of my Formbricks account"

## More
- Page: https://mcp.ai/formbricks
- Agent spec (llms.txt): https://mcp.ai/formbricks/llms.txt
- Postman collection: https://mcp.ai/formbricks/postman.json
