# Builder.io — how to use (mcp.ai)

Connect your Builder.io account and use 10 tools for website and app building straight from your AI agent. Connect with your own API key. Builder.io is a visual development platform for delivering, managing, and programmatically updating content, models, assets, and Space configuration.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_builder_io?ms=1787291100000`
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. `builder_io_create_content_entry`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/builder_io`
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/builder_io/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/builder_io/create/content/entry` — Create a draft, published, or archived entry in an existing Builder.io model. New entries default to draft and trigger configured webhooks unless trigger_webhooks is false.
  - body: { data: object, name: string, published?: string, targeting?: object[], model_name: string, trigger_webhooks?: boolean }
- `POST https://api.mcp.ai/api/builder_io/delete/content/entry` — Delete one Builder.io content entry by model name and entry ID. Builder's Content API is CDN-cached, so reads may briefly return stale content after a successful deletion. Configured webhooks run unle
  - body: { entry_id: string, model_name: string, trigger_webhooks?: boolean }
- `POST https://api.mcp.ai/api/builder_io/get/content/entry` — Retrieve one content entry by model name and entry ID from the connected Builder.io Space. Set cachebust only for a one-off freshness check because normal Content API reads use Builder's CDN cache.
  - body: { enrich?: boolean, entry_id: string, cachebust?: boolean, model_name: string, include_unpublished?: boolean }
- `POST https://api.mcp.ai/api/builder_io/get/space/details` — Return the authenticated Builder.io Space ID and its read-only settings.
- `POST https://api.mcp.ai/api/builder_io/list/assets` — List, filter, and sort assets in the connected Builder.io Space without modifying the Asset Library. Returns one offset-controlled page at a time.
  - body: { sort?: object, limit?: integer, query?: object, next_cursor?: string }
- `POST https://api.mcp.ai/api/builder_io/list/content/entries` — List and filter content entries from any model in the connected Builder.io Space, one offset-controlled page at a time.
  - body: { omit?: string, sort?: object, limit?: integer, query?: object, enrich?: boolean, fields?: string, model_name: string, next_cursor?: string, include_refs?: boolean, no_targeting?: boolean, user_attributes?: object, include_unpublished?: boolean }
- `POST https://api.mcp.ai/api/builder_io/list/content/folders` — List the content folders configured in the connected Builder.io Space.
- `POST https://api.mcp.ai/api/builder_io/list/models` — List the content models in the connected Builder.io Space, optionally including each model's field schema for content discovery.
  - body: { include_fields?: boolean }
- `POST https://api.mcp.ai/api/builder_io/list/space/users` — List users and roles with access to the connected Builder.io Space.
- `POST https://api.mcp.ai/api/builder_io/update/content/entry` — Partially update an existing Builder.io content entry. Omitted top-level fields remain unchanged, but a supplied data object replaces the existing data object rather than recursively merging with it. 
  - body: { data?: object, name?: string, entry_id: string, published?: string, targeting?: object[], model_name: string, trigger_webhooks?: boolean }

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

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