# How to integrate Formbricks MCP with Atomic Agent

```json
{
  "title": "How to integrate Formbricks MCP with Atomic Agent",
  "toolkit": "Formbricks",
  "toolkit_slug": "formbricks",
  "framework": "Atomic Agent",
  "framework_slug": "atomic-agent",
  "url": "https://composio.dev/toolkits/formbricks/framework/atomic-agent",
  "markdown_url": "https://composio.dev/toolkits/formbricks/framework/atomic-agent.md",
  "updated_at": "2026-08-11T13:09:48.445Z"
}
```

## Introduction

Atomic Agent is an open-source AI agent that runs on your machine and supports local models through llama.cpp. Connect it to 1,500+ apps through Composio, including Formbricks.
This guide uses Atomic Agent's built-in Composio integration. You need Atomic Agent v0.5.6 or later, your own Composio API key, and a Formbricks account. See the [Atomic Agent documentation](https://atomicagent.io/docs/?cta_placement=atomic-agent-docs) for installation instructions.

## Also integrate Formbricks with

- [OpenAI Agents SDK](https://composio.dev/toolkits/formbricks/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/formbricks/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/formbricks/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/formbricks/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/formbricks/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/formbricks/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/formbricks/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/formbricks/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/formbricks/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/formbricks/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/formbricks/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/formbricks/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/formbricks/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/formbricks/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/formbricks/framework/autogen)

## TL;DR

### How Atomic Agent connects to Formbricks
Atomic Agent connects to Composio's Tool Router over Streamable HTTP MCP. It discovers the tools needed for your request, and Composio handles account authentication.
Execution and account-connection tools follow Atomic Agent's configured approval policy. Review any approval prompt before allowing an action on your connected account.

## Connect Formbricks to Atomic Agent

### Connect Formbricks to Atomic Agent
- Sign up or sign in to the [Composio dashboard](https://dashboard.composio.dev/?cta_placement=atomic-agent-api-key). Copy your API key.
- In Atomic Agent, open the Integrations tab and select Composio. Select API key, press e, paste the key, and press Enter. The tools become available immediately, without a restart.
- Ask Atomic Agent to do something in Formbricks. It searches Composio for the right tool.
- On first use, open the sign-in link returned in the chat. Connect your Formbricks account, then return to Atomic Agent to continue.
### Headless setup
Add the following line to ~/.atomic-agent/.env, replacing YOUR_COMPOSIO_API_KEY with your key. Start Atomic Agent after saving the file.

```bash
COMPOSIO_API_KEY=YOUR_COMPOSIO_API_KEY
```

## What is the Formbricks MCP server, and what's possible with it?

The Formbricks MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Formbricks account. It provides structured and secure access to your survey management tools, so your agent can perform actions like creating surveys, collecting responses, managing contacts, and handling webhooks automatically on your behalf.
- Survey creation and management: Easily instruct your agent to create new surveys, define questions, and set up feedback forms tailored to your needs.
- Automated response collection: Have your agent log responses to surveys, link displays to responses, and streamline data gathering effortlessly.
- Contact and attribute management: Direct your agent to add or remove contacts, create or delete attribute classes, and segment audiences for more targeted feedback analysis.
- Webhook configuration for real-time events: Let your agent register new webhooks to automatically send survey response data to external systems or endpoints.
- Cleanup and maintenance tools: Authorize your agent to delete surveys, survey responses, persons, or unused attributes, keeping your Formbricks workspace organized and up to date.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `FORMBRICKS_CHECK_HEALTH` | 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` | Create Action Class | Tool to create a new action class. Use when defining custom action logic in your environment. |
| `FORMBRICKS_CREATE_ATTRIBUTE_CLASS` | 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 unique key within the environment. Common examples include 'plan', 'tier', 'company', or custom business-specific attributes. Use this when you need to define new contact attribute types before tracking user data. |
| `FORMBRICKS_CREATE_CLIENT_USER` | 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 user. Use when you need to register or update users in the client API for survey targeting. |
| `FORMBRICKS_CREATE_CONTACT` | 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 an environment - if a contact with the same email already exists, this will update the existing contact. Use this action when you need to: - Register a new contact for survey distribution - Add contact information before sending surveys - Create or update contact records with custom attributes Prerequisites: - An environment ID (use GET_ME to retrieve available environments) - All attribute keys must exist in the environment (email is always available) - Write permissions on the API key |
| `FORMBRICKS_CREATE_DISPLAY` | 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 and environment IDs to register that a survey was displayed. |
| `FORMBRICKS_CREATE_RESPONSE` | Create Survey Response | Tool to create a response for a survey. Use after collecting all survey answers. |
| `FORMBRICKS_CREATE_SURVEY` | Create Survey | Tool to create a new survey. Use after defining survey details and questions. |
| `FORMBRICKS_CREATE_WEBHOOK` | Create Webhook | Tool to create a new webhook. Use when you need to register an external endpoint to receive form response events. |
| `FORMBRICKS_DELETE_ATTRIBUTE_CLASS` | 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. |
| `FORMBRICKS_DELETE_PERSON` | Delete Person | Tool to delete a person. Use when you need to remove a person's record from Formbricks after confirming the ID. |
| `FORMBRICKS_DELETE_RESPONSE` | Delete Survey Response | 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` | 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 survey ID - you can list surveys first to verify. Returns the deleted survey's data including its ID, name, type, status, and timestamps. |
| `FORMBRICKS_DELETE_TEAM` | 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 including ID, name, timestamps, and organization ID. |
| `FORMBRICKS_DELETE_WEBHOOK` | 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. |
| `FORMBRICKS_GET_ACCOUNT_INFO` | 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 useful for understanding which environment and project you're working with. |
| `FORMBRICKS_GET_ALL_CONTACTS` | Get All Contacts | Tool to retrieve all contacts within the organization. Use when you need a complete list of contacts. |
| `FORMBRICKS_GET_ATTRIBUTE_CLASS` | 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. |
| `FORMBRICKS_GET_CLIENT_CONTACTS_STATE` | 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 displays, and response history. This endpoint uses the v2 client API. |
| `FORMBRICKS_GET_CONTACT_ATTRIBUTE_KEY` | 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 requirement, or associated environment. |
| `FORMBRICKS_GET_CONTACT_BY_ID` | 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. |
| `FORMBRICKS_GET_ME` | 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` | 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 the Get All Persons endpoint. |
| `FORMBRICKS_GET_RESPONSES` | 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 submissions from a specific contact - Apply date range filters (startDate/endDate) with filterDateField - Sort by creation or update time (sortBy: createdAt/updatedAt) - Paginate through large result sets (limit: 1-250, skip for offset) Returns detailed response data including answers, completion status, timestamps, contact attributes, time-to-complete metrics, and pagination metadata. |
| `FORMBRICKS_GET_ROLES` | Get Roles | Tool to retrieve all available roles in the system. Use when you need system roles for access control. |
| `FORMBRICKS_GET_WEBHOOK` | Get Webhook | 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 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 logic. Use this to discover what actions are available for survey triggers and audience segmentation. |
| `FORMBRICKS_LIST_ATTRIBUTE_CLASSES` | 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` | 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 uses server-side caching with a 5-minute TTL, so changes may take up to 5 minutes to reflect. |
| `FORMBRICKS_LIST_CONTACT_ATTRIBUTE_KEYS` | 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, and date filtering. |
| `FORMBRICKS_LIST_HEALTH` | 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` | 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` | 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 setup status. |
| `FORMBRICKS_LIST_MANAGEMENT_PEOPLE` | 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_ORGANIZATIONS_PROJECT_TEAMS` | 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 filtering by team, project, date range, and pagination. |
| `FORMBRICKS_LIST_ORGANIZATION_TEAMS` | 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 details including ID, name, timestamps, and organization ID. |
| `FORMBRICKS_LIST_SURVEYS` | 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 metadata (created/updated timestamps, creator) - Get display settings, targeting, and language configurations Returns complete survey objects including questions, endings, welcome cards, triggers, display options, styling, and all other configuration settings. |
| `FORMBRICKS_LIST_WEBHOOKS` | 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 configurations, check which surveys have webhooks enabled, or audit webhook settings. |
| `FORMBRICKS_UPDATE_CONTACT_ATTRIBUTES` | 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. |
| `FORMBRICKS_UPDATE_RESPONSE` | Update Survey Response | Tool to update an existing survey response. Use after identifying the response to modify. |
| `FORMBRICKS_UPDATE_SURVEY` | 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 'inProgress' to make it live) - Update survey name or closed message - Modify display settings (delay, frequency, percentage) - Add/update questions, welcome cards, or ending screens - Configure triggers and targeting Requires: Valid survey ID (get from List Surveys or Create Survey actions) |
| `FORMBRICKS_UPDATE_WEBHOOK` | Update Webhook | Tool to update an existing webhook. Use when you need to apply modifications to a webhook's configuration. |
| `FORMBRICKS_UPLOAD_BULK_CONTACTS` | 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, lastName, or custom fields can be included. The API returns status 200 for full success or 207 for partial success with details about skipped contacts. Use this tool when you need to efficiently import multiple contacts at once instead of creating them individually. |
| `FORMBRICKS_UPLOAD_PRIVATE_FILE` | Upload Private File | Tool to obtain S3 presigned upload data for a private survey file. Use after confirming environmentId and surveyId. |
| `FORMBRICKS_UPLOAD_PUBLIC_FILE` | 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: 5MB. Uploaded files are publicly accessible. Requires write permissions on the specified environment. |

## Supported Triggers

None listed.

## Troubleshooting

### Why is my API key rejected?

Copy the key directly from the Composio dashboard. Atomic Agent requires ASCII characters because it sends the key in an HTTP header. Remove any extra characters introduced when copying.

### Why are Composio tools unavailable after saving a key?

Check that you use Atomic Agent v0.5.6 or later and that Composio is enabled in your configuration. A "composio": { "enabled": false } setting disables the integration while keeping the saved key on disk.

### Does Composio have a free plan?

The Hobby plan includes 100,000 tool calls per month. Composio-managed OAuth apps have a lower included allowance. See [Composio pricing](/pricing) for the current limits that apply to your connection.

## Complete Code

None listed.

## Conclusion

### Use Formbricks from Atomic Agent
With your account connected, ask Atomic Agent to work with Formbricks in natural language. You can connect more apps through the same Composio integration as you need them.
Visit the [Atomic Agent website](https://atomicagent.io/?cta_placement=atomic-agent-site) or inspect the [Atomic Agent source code](https://github.com/AtomicBot-ai/atomic-agent?cta_placement=atomic-agent-repo).

## How to build Formbricks MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/formbricks/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/formbricks/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/formbricks/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/formbricks/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/formbricks/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/formbricks/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/formbricks/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/formbricks/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/formbricks/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/formbricks/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/formbricks/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/formbricks/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/formbricks/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/formbricks/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/formbricks/framework/autogen)

## Related Toolkits

- [Excel](https://composio.dev/toolkits/excel) - Microsoft Excel is a robust spreadsheet application for organizing, analyzing, and visualizing data. It's the go-to tool for calculations, reporting, and flexible data management.
- [21risk](https://composio.dev/toolkits/_21risk) - 21RISK is a web app built for easy checklist, audit, and compliance management. It streamlines risk processes so teams can focus on what matters.
- [Abstract](https://composio.dev/toolkits/abstract) - Abstract provides a suite of APIs for automating data validation and enrichment tasks. It helps developers streamline workflows and ensure data quality with minimal effort.
- [AccuWeather](https://composio.dev/toolkits/accu_weather) - AccuWeather is a global weather service providing current conditions, forecasts, MinuteCast precipitation, alerts, and lightning data. Use it for fast, localized forecasts and real-time weather alerts.
- [Adafruit IO](https://composio.dev/toolkits/adafruit_io) - Adafruit IO is Adafruit's cloud platform for connected device and IoT project data. It helps you store, visualize, and act on sensor feeds without running your own backend.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agentql](https://composio.dev/toolkits/agentql) - Agentql is a toolkit that connects AI agents to the web using a specialized query language. It enables structured web interaction and data extraction for smarter automations.
- [Agenty](https://composio.dev/toolkits/agenty) - Agenty is a web scraping and automation platform for extracting data and automating browser tasks—no coding needed. It streamlines data collection, monitoring, and repetitive online actions.
- [Ambee](https://composio.dev/toolkits/ambee) - Ambee is an environmental data platform providing real-time, hyperlocal APIs for air quality, weather, and pollen. Get precise environmental insights to power smarter decisions in your apps and workflows.
- [Ambient weather](https://composio.dev/toolkits/ambient_weather) - Ambient Weather is a platform for personal weather stations with a robust API for accessing local, real-time, and historical weather data. Get detailed environmental insights directly from your own sensors for smarter apps and automations.
- [Anonyflow](https://composio.dev/toolkits/anonyflow) - Anonyflow is a service for encryption-based data anonymization and secure data sharing. It helps organizations meet GDPR, CCPA, and HIPAA data privacy compliance requirements.
- [ApexVerify](https://composio.dev/toolkits/apexverify) - ApexVerify is a contact-data validation service for emails and phone numbers. Use it to normalize, verify, and clean leads before they enter your systems.
- [Api ninjas](https://composio.dev/toolkits/api_ninjas) - Api ninjas offers 120+ public APIs spanning categories like weather, finance, sports, and more. Developers use it to supercharge apps with real-time data and actionable endpoints.
- [Api sports](https://composio.dev/toolkits/api_sports) - Api sports is a comprehensive sports data platform covering 2,000+ competitions with live scores and 15+ years of stats. Instantly access up-to-date sports information for analysis, apps, or chatbots.
- [Apify](https://composio.dev/toolkits/apify) - Apify is a cloud platform for building, deploying, and managing web scraping and automation tools called Actors. It lets you automate data extraction and workflow tasks at scale—no infrastructure headaches.
- [Autom](https://composio.dev/toolkits/autom) - Autom is a lightning-fast search engine results data platform for Google, Bing, and Brave. Developers use it to access fresh, low-latency SERP data on demand.
- [Beach Day API](https://composio.dev/toolkits/beach_day_api) - Beach Day API is a beach intelligence service for search, conditions, scores, rules, amenities, tides, and country coverage. Use it to power trip planning, surf reports, safety checks, and location-aware beach discovery.
- [Beaconchain](https://composio.dev/toolkits/beaconchain) - Beaconchain is a real-time analytics platform for Ethereum 2.0's Beacon Chain. It provides detailed insights into validators, blocks, and overall network performance.
- [Big data cloud](https://composio.dev/toolkits/big_data_cloud) - BigDataCloud provides APIs for geolocation, reverse geocoding, and address validation. Instantly access reliable location intelligence to enhance your applications and workflows.
- [Bigpicture io](https://composio.dev/toolkits/bigpicture_io) - BigPicture.io offers APIs for accessing detailed company and profile data. Instantly enrich your applications with up-to-date insights on 20M+ businesses.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Formbricks MCP?

With a standalone Formbricks MCP server, the agents and LLMs can only access a fixed set of Formbricks tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Formbricks and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Atomic Agent?

Yes, you can. Atomic Agent fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Formbricks tools.

### Can I manage the permissions and scopes for Formbricks while using Tool Router?

Yes, absolutely. You can configure which Formbricks scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Formbricks data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
