MCP server

Official @anaxer/mcp — a local stdio MCP server that wraps @anaxer/sdk. Drop a few lines into Claude Desktop, Claude Code, or Cursor and your agent can query Anaxer with typed tools. No hosted MCP URL in v1.

Install

Requires Node.js ≥ 20. Hosts usually run it via npx — no global install needed.

npx -y @anaxer/mcp

Without ANAXER_API_KEY the process exits with a clear stderr message (it never speaks MCP JSON on stdout until configured).

Setup

Add the block below to your MCP host config and set ANAXER_API_KEY to a key from the console. Never put the key in tool arguments.

Cursor

Project file .cursor/mcp.json (or your Cursor MCP settings UI).

.cursor/mcp.json
{
  "mcpServers": {
    "anaxer": {
      "command": "npx",
      "args": ["-y", "@anaxer/mcp"],
      "env": {
        "ANAXER_API_KEY": "YOUR_KEY"
      }
    }
  }
}

Claude Desktop

Edit claude_desktop_config.json (Claude → Settings → Developer).

claude_desktop_config.json
{
  "mcpServers": {
    "anaxer": {
      "command": "npx",
      "args": ["-y", "@anaxer/mcp"],
      "env": {
        "ANAXER_API_KEY": "YOUR_KEY"
      }
    }
  }
}

Claude Code

Same mcpServers shape in your Claude Code MCP config.

{
  "mcpServers": {
    "anaxer": {
      "command": "npx",
      "args": ["-y", "@anaxer/mcp"],
      "env": {
        "ANAXER_API_KEY": "YOUR_KEY"
      }
    }
  }
}

Tools

Nine read-only tools. List tools return one page; call again with cursor set to the previous next until next is null. Default limit is 20 to keep agent context small.

ToolAnswers
get_token_metadataName / symbol / supply / socials for one mint
get_tokens_metadataBatch metadata (≤30 mints)
get_token_priceLatest USD + SOL price and market cap
get_token_pricesBatch prices (≤30 mints)
list_token_tradesOne page of recent swaps for a mint
list_creationsOne page of recent launches
list_graduationsOne page of recent graduations
get_launchpad_statsAggregate launchpad stats over a window
tail_streamBounded live WebSocket batch (trades / creations / graduations / prices)

REST list tools take a singular source string. tail_stream filters use a sources array (WebSocket shape).

tail_stream

MCP tools are request/response, so the live feed is exposed as a bounded collect: subscribe → gather events → unsubscribe → return the batch.

  • maxEvents — default 20, cap 100
  • timeoutMs — default 10_000, cap 30_000
  • Ends when either cap hits first

Per-channel filter keys:

ChannelFilter keys
tradessources, mints, wallets, minVolumeUsd, maxVolumeUsd
creationssources, enriched, excludeMayhem
graduationssources, excludeMayhem, minLiquiditySol
pricessources, mints

Environment

VariableRequiredNotes
ANAXER_API_KEYyesBearer key for REST + WebSocket
ANAXER_BASE_URLnoDefault https://api.anaxer.com
ANAXER_WS_URLnoOverride derived …/v1/stream URL

Troubleshooting

  • Wrong API key on REST — the tool returns unauthorized: …. Fix the env and call again (no restart needed).
  • Wrong API key on tail_stream — WebSocket unauthorized is terminal for the shared socket. Fix the key, then restart the MCP server process (reload the host / re-run npx).
  • subscription_limit — each open tail_stream holds one plan subscription until it returns. Overlapping tails on free/low plans can hit the cap; hosts normally serialize tool calls.

v1 omissions

Intentional gaps (same surface as @anaxer/sdk), not bugs:

  • No tail_stream("transfers") and no list_programs
  • No remote / hosted MCP (Streamable HTTP) — local stdio only
  • No gap recovery on reconnect
  • Tools only — no MCP resources or prompts
Prefer the TypeScript SDK for apps. Agents and chat hosts should use @anaxer/mcp. Long-lived bots and backends should use @anaxer/sdk directly.