MCP & agents
Give an agent the whole Attria API. The MCP server exposes every endpoint as a tool, with the same key — or copy the docs as one Markdown file and paste them into any chat.
#The MCP server
| URL | https://app.attria.io/api/v1/mcp |
|---|---|
| Transport | Streamable HTTP, stateless |
| Auth | Authorization: Bearer attria_sk_… — your API key |
| Tools | 40 — one per endpoint, named by its id |
Replace <key> below with your key from Settings → API.
#Claude Code
claude mcp add --transport http attria https://app.attria.io/api/v1/mcp \
--header "Authorization: Bearer <key>"Then ask for something: “Make a landing page for our spring sale in Attria and give me the link.” Claude picks the tools, answers the director's questions or sends auto, and hands back the artifact's url.
#Cursor
Add the server to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for every project:
{
"mcpServers": {
"attria": {
"url": "https://app.attria.io/api/v1/mcp",
"headers": {
"Authorization": "Bearer <key>"
}
}
}
}A project's .cursor/mcp.json is often committed. Keep the key out of git — put the server in your home directory's file instead.
#Other clients
Any MCP client that speaks Streamable HTTP and can send a header works the same way: the URL above, and Authorization: Bearer <key>. The tools describe themselves, including which ones can take minutes.
#How the tools behave
- A tool's arguments are its endpoint's path, query and body fields, flattened into one object.
- Write tools take an optional
idempotency_key— the same guarantee as the header. - Studio turn tools default to
background: trueover MCP, because a call that holds for minutes times out in most clients. Call the turn tool, then poll the id it returns withstudio_turn_get. Passbackground: falseto wait instead. - Unattended agents should send
auto: true, so a director never stops to ask a question no one will answer.
#Copy for agent
For agents without MCP — or to brief one before it starts — Copy for agent at the top of this page puts the whole API on your clipboard as one Markdown guide: auth, turns, polling, idempotency, errors, and every endpoint with an example. Agents that browse can fetch it themselves at /docs/api/llms-full.txt, or start from the index at /docs/api/llms.txt.
#Tools
Generated from the same spec as the API reference:
| Tool | Does |
|---|---|
account_me | Who this key acts as |
studio_website_turn | Talk to the Website Director · slow |
studio_document_turn | Talk to the Documents director · slow |
studio_app_turn | Talk to the App Builder · slow |
studio_image_turn | Talk to the Images director · slow |
studio_video_turn | Talk to the Video director · slow |
studio_turn_get | Get a Studio turn |
studio_apps_list | List the Studio's Content Apps |
studio_app_run | Run a Studio Content App · slow |
websites_list | List websites |
websites_get | Get a website and its build |
documents_list | List documents |
documents_get | Get a document with its full content |
apps_list | List apps |
apps_get | Get an app |
images_boards_list | List image boards |
images_list | List images |
videos_list | List video projects |
agents_list | List Agents |
agents_create | Create an Agent from a description · slow |
agents_get | Get an Agent |
agents_update | Change an Agent · slow |
agents_activate | Turn an Agent on · slow |
agents_pause | Pause an Agent |
agents_runs_list | List an Agent's runs |
agents_runs_create | Talk to an Agent (run it) · slow |
runs_get | Get a run with its steps |
approvals_list | List approvals |
approvals_decide | Approve or reject an Agent action · slow |
objects_list | List Objects |
objects_create | Create an Object |
objects_get | Get an Object |
objects_update | Change an Object |
objects_records_list | List and query records |
objects_records_create | Create a record |
objects_records_get | Get a record |
objects_records_update | Update a record |
objects_records_delete | Delete a record |
objects_relationships_list | List a record's relationships |
objects_relationships_create | Link a record to another |