MCP server
Operate AXO from Claude or any MCP client through 130+ tools. Hosted endpoint, scoped tokens, streamable HTTP — the same operations your team runs in the app, as tool calls.
The endpoint
The hosted MCP server speaks streamable HTTP (stateless JSON-RPC) at a single URL:
POST https://axoapp.ai/api/mcp1. Generate a token
In the AXO dashboard, open Admin → Connect AI Tools and mint a token. Tokens are scoped per site and role-gated — you pick how much the agent can do. The plaintext mcpt_… value is shown once, alongside ready-to-copy setup in both forms below and a built-in connection test; store it in your client's secret config. Owners and admins can mint tokens.
Scopes
Every token carries one scope. The server derives the scope each tool requires from its operation and rejects calls that exceed the token's scope with a structured insufficient_scope error — so a read token can never mutate your site.
| Scope | Type | Description |
|---|---|---|
| read optional | scope | Read-only tools: analytics, lift, segments, profiles, zones, content — anything that only queries. |
| write optional | scope | Everything in read, plus create/update tools: draft variants, create segments, wire placements, create triggers. |
| admin optional | scope | Everything in write, plus destructive/sensitive tools: delete content, publish site overrides, force variant allocation, GDPR profile erasure. |
Scopes compose with per-token restrictions set at mint time: read-only refuses every tool that changes anything regardless of scope, block destructive tools refuses delete/reset/merge/force tools, and a token can be limited to specific product areas. Tools that hand out access — link tokens, account invites, live trigger fires — are denied unless the token was minted with credential issuance explicitly allowed.
2. Point your client at the endpoint
Two forms, depending on what your client accepts. Config-file clients (Claude Desktop, Claude Code, Cursor, VS Code, Zed) take an HTTP server with a bearer header. URL-only clients — Claude.ai and ChatGPT connector flows, or anything that asks for a single URL — take the connector URL, which carries the token as a query parameter. The Connect AI Tools screen shows both, pre-filled, when the token is minted.
{
"mcpServers": {
"axo": {
"type": "http",
"url": "https://axoapp.ai/api/mcp",
"headers": {
"Authorization": "Bearer mcpt_YOUR_TOKEN"
}
}
}
}3. List the tools
Confirm the connection with the Test connection button on the mint screen, or list tools over JSON-RPC. Every tool ships a rich, agent-readable description and a JSON Schema for its inputs — browse them all in the tool reference, or fetch the machine-readable manifest.
curl -sS https://axoapp.ai/api/mcp \
-H "Authorization: Bearer mcpt_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Do I need to install anything?
No. AXO hosts the MCP server at https://axoapp.ai/api/mcp over streamable HTTP — point any MCP-capable client at it with a bearer token. There is nothing to install and nothing to keep updated.
What stops an agent from breaking my site?
Scoping. MCP tokens are minted per-site with a read, write, or admin scope; the server returns an insufficient_scope error when a tool needs more than the token carries. Mint-time restrictions tighten this further: a read-only token refuses every mutating tool whatever its scope, and destructive tools can be blocked outright. Start an agent on a read token and graduate it deliberately.
How do I connect Claude.ai or ChatGPT?
Use the connector URL instead of the JSON config — those clients take a single URL and have nowhere to put a header. Mint a token in Admin → Connect AI Tools, copy the pre-filled connector URL from the setup card, and paste it into the "add connector" flow. The URL carries the token, so treat it as the secret it is.
Is every tool also available over REST?
The read surface is available over the Pulse REST API for profiles and segments. MCP is the broadest surface and the natural fit for conversational agents; REST fits pipelines and custom code.