https://api.axon402.com/v1/mcp. @axon402/init is the fastest way to wire that into Claude Code. Self-hosted stdio is still available, but it is an advanced path for local development and custom deployments.
One key = one surface. A runtime (wallet-scoped) key belongs on the runtime entry. An operator (org-wide) key belongs on the operator entry. Never combine the two surfaces under one MCP server name, and never hand an operator key to a worker agent.
GET /v1/me returns the authoritative surface field for any tenant key.Which surface do I need?
If you are not sure, you want the runtime surface.
Runtime surface (default)
The hosted runtime endpoint is:search_x402_services, inspect_x402_offer, quote_x402_offer, and test_buy_x402_offer.
Bootstrap once
- creates your first wallet
- mints a wallet-scoped runtime key
- stores
wallet_id+api_keyin~/.axon/config.json - merges a hosted HTTP
axonMCP entry into~/.claude.json
@axon402/init first. The generated wallet_id and api_key are what you need for Cursor, VSCode, OpenClaw, and direct REST integrations.
Claude Code
@axon402/init already writes the hosted runtime entry into ~/.claude.json. If you need to add it manually instead:
Cursor
Cursor reads.cursor/mcp.json in the workspace root or ~/.cursor/mcp.json globally. Use the same hosted HTTP shape:
VSCode
Many MCP extensions accept the sameurl + headers payload under their server map. If yours supports streamable HTTP MCP, configure the runtime entry with the hosted endpoint and a wallet-scoped runtime key:
Generic MCP clients
If the client supports streamable HTTP MCP, point it athttps://api.axon402.com/v1/mcp and send:
OpenClaw and direct REST integrations are not MCP. They should reuse the same runtime key, but they also need the
wallet_id from ~/.axon/config.json because their REST calls do not auto-resolve it the way hosted MCP does.Verifying the runtime surface
- Hosted HTTP runtime should list 17 tools, including the provider-search tools.
- Self-hosted stdio runtime should list the same runtime surface.
- If you see
create_wallet,list_wallets,fund_pocket, or other control-plane tools on the runtime entry, that is a surface leak and should be reported as a bug.
Advanced: self-hosted stdio runtime
Use this only when you are running AXON yourself or doing local development. Public launch users do not need this path. From an AXON source checkout:- Omitting
--surfaceis the same as--surface=runtime. - Self-hosted stdio does not use HTTP bearer auth; trust comes from local process access and environment control.
AGENT_WALLET_IDpins the runtime wallet for stdio sessions.- For local demo mode, use
npm run demo:mcp-configfrom an AXON source checkout, or copy theexamples/claude-code-mcp.jsontemplate from your local clone.
Advanced: operator / manage surface (opt-in)
The hosted operator endpoint is:Claude Code
Cursor / VSCode
Mount the same two named entries in your MCP config:axon->https://api.axon402.com/v1/mcpwith a wallet-scoped runtime keyaxon-operator->https://api.axon402.com/v1/operator/mcpwith an org-wide operator key
Self-hosted stdio operator
If you run AXON locally and need operator tools over stdio:Verifying the operator surface
The operator entry should expose control-plane tools only: wallet lifecycle, treasury movement, offer management, API key and mandate operations, approvals, ledger/earnings views, and organization introspection. If you seegoverned_fetch on the operator entry, that is a surface leak.
Credential model recap
- Runtime key: wallet-scoped tenant key. Belongs on
https://api.axon402.com/v1/mcponly. - Operator key: org-wide tenant key. Belongs on
https://api.axon402.com/v1/operator/mcporaxon-op. - One key, one surface: a single key does not carry both runtime and operator privileges.
See also
- MCP Server integration — the runtime-plane surface overview
- OpenClaw Plugin — a runtime-only plugin integration
- CLI installation —
@axon402/init(runtime bootstrap) and@axon402/cli(operator CLI) - REST API Integration — direct HTTP integration
- Two-Surface Migration — splitting older mixed setups