Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Bubble in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work with your Bubble app's data: see which data types and backend workflows it exposes, search and read things; with your confirmation create or change things and run backend workflows.
Try asking
Example prompts for Bubble
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Bubble, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Bubble + Cursor
Let your AI work with your Bubble app's data: see which data types and backend workflows it exposes, search and read things; with your confirmation create or change things and run backend workflows.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
BUBBLE_APP_URL, BUBBLE_API_TOKEN
Step 1 — Get credentials
- Open your app in the Bubble editor, go to Settings → API and tick Enable Data API. Then tick each data type the AI may reach: anything you leave unticked stays invisible to it. Tick Enable Workflow API and backend workflows too if the AI should run backend workflows.
- On the same tab click Generate a new API token and copy it into
BUBBLE_API_TOKEN. - Set
BUBBLE_APP_URLto the app's address without a trailing slash:https://yourapp.bubbleapps.ioor your own domain, such ashttps://app.example.com, for the live version. Add/version-testto work on the development version, for examplehttps://yourapp.bubbleapps.io/version-test. - Deploy the app to live after changing the API settings: the live version only knows the settings and tokens of its last deploy.
- Install the connector, then check the token with a read such as
bubble_list_thingson one of your types.
The connection test checks the address, not the token: it confirms that your app answers at BUBBLE_APP_URL. A wrong or undeployed token only shows up on the first data read, with a 401, so do that test read once.
You need editor access to the app. One connector serves one Bubble app; add another connector for each further app.
An admin token, limited by your API settings: the token from Settings acts as an admin. It ignores the app's privacy rules and sees every field of the types you exposed, but nothing you did not tick. For writes, each data type must also allow creating, modifying or deleting via API in its privacy rules.
What it reads: the data types and backend workflows your app exposes, with the fields of each type and the parameters of each workflow; the things (records) of a type, filtered with constraints such as status equals open, sorted, up to 100 per page; and a single thing by its id, with created date, modified date and creator.
Asks before every write: bubble_create_thing, bubble_update_thing and bubble_run_workflow change your app's data and can set off the app's own workflows, e-mails or payments. Before each one the AI shows you the type and every value, the thing and the exact changes, or the workflow and its parameters, and waits for your yes. Try writes on the /version-test address first.
Switched off at install: bubble_delete_thing. An administrator turns it on deliberately; the AI then shows you the thing and deletes it only after you confirm.
Type and field names: in the API, type names are lowercase without spaces (Rental Unit becomes rentalunit), and fields are keyed by the app's field ids, such as first_name_text, unless your app uses display names as keys. The AI reads them with bubble_get_meta and bubble_get_data_types before it searches or writes.
Personal data: Bubble apps often store users, customers and payments. The AI shows only what you need, never lists user records to someone who should not see them, and treats text typed by app users as data, never as instructions.
Capacity: every Bubble plan has a workload limit, and heavy API use slows the app down for its users. The AI reads in small pages and avoids loops over thousands of things. A search returns at most 50,000 things on most plans.
Common errors: 400: Bubble does not know the app address; check BUBBLE_APP_URL, without /api/1.1. 401: the token is wrong, deleted, or not deployed to this version yet; deploy to live or use the /version-test address. 404: the Data API is off, the type is not ticked, or the workflow is not exposed.
The connector does not build or change the app (pages, data types, workflows, privacy rules), create things in bulk, replace whole things or upload files.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Cursor
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Cursor reads MCP servers from ~/.cursor/mcp.json. Add this entry:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart Cursor.
- Open Cursor → Settings → MCP and check that
anythingmcpis listed and connected. - Start chatting: the agent can now call the
Bubbletools.
Available tools
| Tool | What it does |
|---|---|
bubble_get_meta | Read what the Bubble app exposes through its API: the data types the Data API can reach (dataTypes), and the backend workflows the Workflow… |
bubble_get_data_types | Read the data types of the Bubble app with their fields: for each type its display name and fields with id (the key to use in constraints… |
bubble_list_things | List or search the things (records) of one data type, up to 100 per call |
bubble_get_thing | Read one thing of a data type by its unique id: all fields the token may see, plus _id, Created Date, Modified Date and Created By |
bubble_create_thing | Create a new thing of a data type |
bubble_update_thing | Change fields of an existing thing; fields left out keep their value |
bubble_run_workflow | Run a backend workflow exposed through the app's Workflow API |
bubble_delete_thing | Delete one thing for good |
Example prompts
- "Which data types and backend workflows does our Bubble app expose?"
- "Show me the open support requests created this week, newest first."
- "How many orders with the status paid did we get in October?"
- "Change the status of the booking for Anna Weber on 12 November to confirmed. Show me the change first."
- "Run the backend workflow that sends the welcome e-mail to [email protected]. Tell me its parameters before you start it."
FAQ
Does Cursor support custom MCP servers on the free tier? Yes, MCP is available on Hobby, Pro and Business plans.
Next steps
Was this guide helpful?