# Formbricks — MCP server on 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. By: mcp.ai · official Page: https://mcp.ai/formbricks ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_formbricks?ms=1787293740000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/formbricks/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/formbricks/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/formbricks/skill.md Postman collection (v2.1): https://mcp.ai/formbricks/postman.json ## Tools - 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. - formbricks_create_action_class(key: string, name: string, type: string, description?: string, noCodeConfig?: object, environmentId: string) — Tool to create a new action class. Use when defining custom action logic in your environment. - formbricks_create_attribute_class(key: string, name?: string, type?: string, isUnique?: boolean, description?: string, environmentId: string) — 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 - formbricks_create_client_user(userId: string, attributes?: object, environmentId: string) — 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 - formbricks_create_contact(attributes: object, environmentId: string) — 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 - formbricks_create_display(userId?: string, surveyId: string, environmentId: string) — 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 - formbricks_create_response(ttc?: object, data: object, meta?: object, endingId?: string, finished: boolean, language?: string, surveyId: string, createdAt?: string, displayId?: string, updatedAt?: string, variables?: object, singleUseId?: string) — Tool to create a response for a survey. Use after collecting all survey answers. - formbricks_create_survey(name: string, type: string, status?: string, questions: object[], environmentId: string) — Tool to create a new survey. Use after defining survey details and questions. - formbricks_create_webhook(url: string, name?: string, triggers: string[], surveyIds?: string[], environmentId: string) — Tool to create a new webhook. Use when you need to register an external endpoint to receive form response events. - formbricks_delete_attribute_class(id: string) — 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. - formbricks_delete_person(personId: string) — Tool to delete a person. Use when you need to remove a person's record from Formbricks after confirming the ID. - formbricks_delete_response(id: string) — Tool to delete a survey response by its ID. Use when you need to remove an existing response after confirming its ID. - formbricks_delete_survey(id: string) — 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 - formbricks_delete_team(team_id: string, organization_id: string) — 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 - formbricks_delete_webhook(id: string) — Tool to delete a webhook by ID. Use when you need to remove an existing webhook from Formbricks. Use after confirming the webhook ID. - 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 - formbricks_get_all_contacts() — Tool to retrieve all contacts within the organization. Use when you need a complete list of contacts. - formbricks_get_attribute_class(attributeClassId: string) — 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. - formbricks_get_client_contacts_state(userId: string, environmentId: string) — 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 - formbricks_get_contact_attribute_key(contactAttributeKeyId: string) — 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 - formbricks_get_contact_by_id(contactId: string) — Tool to retrieve a specific contact by its ID. Use when you need to fetch detailed information about a single contact. - 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. - formbricks_get_person_by_id(personId: string) — 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 - formbricks_get_responses(skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, surveyId?: string, contactId?: string, startDate?: string, filterDateField?: string) — 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 - formbricks_get_roles() — Tool to retrieve all available roles in the system. Use when you need system roles for access control. - formbricks_get_webhook(id: string) — Tool to retrieve details of a specific webhook. Use when you need to inspect a webhook's configuration by ID. - 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 - formbricks_list_attribute_classes() — Tool to list all attribute classes. Use when you need to retrieve existing attribute classes for segmentation or management. - formbricks_list_client_environment(environmentId: string) — 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 - formbricks_list_contact_attribute_keys(skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, startDate?: string, environmentId?: string, filterDateField?: string) — 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 - 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. - 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. - 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 - 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. - formbricks_list_organization_teams(skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, startDate?: string, organizationId: string, filterDateField?: string) — 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 - formbricks_list_organizations_project_teams(skip?: integer, limit?: integer, order?: string, sortBy?: string, teamId?: string, endDate?: string, projectId?: string, startDate?: string, organizationId: string, filterDateField?: string) — 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 - 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 - formbricks_list_webhooks(skip?: integer, limit?: integer, order?: string, sortBy?: string, endDate?: string, startDate?: string, surveyIds?: string[]) — 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 - formbricks_update_contact_attributes(userId: string, attributes: object, environmentId: string) — 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. - formbricks_update_response(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) — Tool to update an existing survey response. Use after identifying the response to modify. - formbricks_update_survey(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) — 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 - formbricks_update_webhook(id: string, url: string, name: string, source: string, triggers: string[], surveyIds: string[], environmentId: string) — Tool to update an existing webhook. Use when you need to apply modifications to a webhook's configuration. - formbricks_upload_bulk_contacts(contacts: object[], environmentId: string) — 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 - formbricks_upload_private_file(fileName: string, fileType: string, surveyId: string, environmentId: string) — Tool to obtain S3 presigned upload data for a private survey file. Use after confirming environmentId and surveyId. - formbricks_upload_public_file(fileName: string, fileType: string, environmentId: string, allowedFileExtensions?: string[]) — 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: ## Example prompts - "What can I do in Formbricks?" - "Show me a summary of my Formbricks account" ## Links Docs: https://mcp.ai/docs/mcps/formbricks Website: https://mcp.ai/mcps/formbricks