Connect
MCP server
Your workspace inside Claude, ChatGPT, Codex, Cursor or your own agent, from one URL.
Atrix is an MCP server. Point Claude, ChatGPT, Codex, Cursor or your own agent at one URL and it can read and change the workspace with the same scopes, limits and audit trail as the REST API.
https://atrix.dev/api/mcpConnect a client
Claude Code
No credential goes in the command. The first tool call signs you in through the browser.
Add the server.
claude mcp add --transport http atrix https://atrix.dev/api/mcpRun /mcp inside Claude Code and choose Authenticate. Pick the workspace and scopes.
For CI, skip the browser with a token.
claude mcp add --transport http atrix https://atrix.dev/api/mcp \
--header "Authorization: Bearer $ATRIX_TOKEN"Claude and Claude Desktop
Add a custom connector. Claude registers itself; there is no client ID to create.
Settings → Connectors → Add custom connector, paste the endpoint, then Connect.
https://atrix.dev/api/mcpChatGPT
Atrix ships the search and fetch tools that ChatGPT connectors and Deep Research require.
Settings → Connectors → Create, choose an MCP server, paste the endpoint and sign in.
https://atrix.dev/api/mcpCodex
Two commands: add, then sign in.
Add and sign in.
codex mcp add atrix --url https://atrix.dev/api/mcp
codex mcp login atrixCursor and other clients
Any client that speaks Streamable HTTP takes the same JSON.
With OAuth:
{
"mcpServers": {
"atrix": { "url": "https://atrix.dev/api/mcp" }
}
}Or with a token:
{
"mcpServers": {
"atrix": {
"url": "https://atrix.dev/api/mcp",
"headers": { "Authorization": "Bearer atx_pat_…" }
}
}
}Call it from your own code
It is JSON-RPC over HTTP, stateless, so every request stands alone. The official MCP SDKs work unchanged.
curl -s https://atrix.dev/api/mcp \
-H "Authorization: Bearer $ATRIX_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"search","arguments":{"query":"pricing"}}}'Asking for more later
A first connection asks only to read. Tools that change things are listed as needing approval; when one is called, the server answers 403 insufficient_scope naming the missing scope, and a well-behaved client re-opens the browser to approve exactly that.
Every tool, with its inputs and scope, is listed under MCP tools.