axonpush

Connect over MCP

Connect any MCP-compatible coding agent to axonpush. Sign in through the browser, and the agent can provision your project, read traces, and manage alerts and moderation from inside your editor.

The axonpush MCP server lets a coding agent do the setup and the debugging for you. Claude Code, Claude Desktop, Cursor and any other client that speaks the Model Context Protocol can provision an app and a channel, read the traces that land back, and manage alerts and moderation, without you leaving the editor.

It is a remote server. There is nothing to install and nothing to run locally, and there is no token to paste. When your client first connects, it walks an OAuth flow that signs you in through the browser with your normal axonpush account (Better Auth), and the tools appear.

What it can do

The server exposes 22 tools across five categories, listed in full in the MCP reference. At a glance:

Observe

List and read traces, search events, and pull analytics timeseries and breakdowns.

Alerts

List, create, update and delete alert rules.

Moderation

List, create and delete moderation rules, and review violations.

Control plane

whoami, plus apps, channels, environments and members.

Wire it into a client

The server lives at https://api.axonpush.xyz/mcp and speaks streamable HTTP. Authentication is OAuth: on the first request the server returns a WWW-Authenticate challenge pointing at its authorization metadata, the client opens your browser to sign in, and from then on it holds the access token. On a self-hosted deployment, swap the host for your own API domain.

Claude Code

claude mcp add axonpush https://api.axonpush.xyz/mcp --transport http --scope user

Claude Code opens the browser for sign-in the first time it calls a tool.

Claude Desktop

Claude Desktop speaks stdio, so it reaches a remote server through the mcp-remote bridge, which handles the OAuth handshake for you. Add this to claude_desktop_config.json (Settings → Developer → Edit Config) and restart the app:

{
  "mcpServers": {
    "axonpush": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.axonpush.xyz/mcp"]
    }
  }
}

Cursor

Cursor connects to remote servers directly and drives the OAuth flow itself. Add this to ~/.cursor/mcp.json (or the per-project .cursor/mcp.json) and reopen Cursor:

{
  "mcpServers": {
    "axonpush": {
      "url": "https://api.axonpush.xyz/mcp"
    }
  }
}

Any other client

VS Code, Windsurf, Zed and most others read the same streamable-HTTP shape and support OAuth discovery. If your client wants an explicit transport type, set it to http:

{
  "mcpServers": {
    "axonpush": {
      "type": "http",
      "url": "https://api.axonpush.xyz/mcp"
    }
  }
}

Server-to-server with an API key

For a non-interactive client, or a script, you can send an ak_ API key as a bearer token instead of walking the OAuth flow: Authorization: Bearer ak_.... The tool set is the same.

Ask your agent

Once connected, you drive the whole thing in plain language. For setup:

Set up axonpush observability in this project. Provision an app and a channel, wire the SDK into my entry point, then send a test event and confirm it lands.

For diagnosis, point it at a trace:

The checkout agent failed its last run. Pull the most recent trace for it and tell me which step errored.

The setup skill uses these same tools when an axonpush MCP server is connected, so you get the browser-free wiring path automatically.

Safety

  • Scoped to your account. The OAuth token authenticates as you, in your active organisation, and every tool runs with your permissions.
  • Bounded, redacted payloads. Telemetry the tools return is capped in size and passed through the organisation’s telemetry policy, so a trace read cannot exfiltrate a secret.
  • Audited. MCP actions land in the audit log attributed to you.

Troubleshooting

The tools do not appear after connecting

Restart the client fully after editing its config. Claude Desktop and Cursor read the config on launch, not live. Check the JSON parses (a trailing comma is the usual culprit) and that the server key sits under mcpServers.

The browser sign-in never completes. Make sure you are signed in to axonpush in the same browser, and that pop-ups are allowed for the auth domain. Re-running the tool call restarts the flow.

Claude Desktop cannot start the server. It shells out to npx, so Node has to be on the path the desktop app inherits. Install Node, then relaunch the app from a fresh session so it picks up your PATH.

Self-hosted deployment. Replace https://api.axonpush.xyz with your own API host in every config above. The OAuth model is identical.