MCP server

The Anaxer MCP server (@anaxer/mcp 0.3.0) gives Claude Desktop, Claude Code, Cursor and other MCP hosts eleven read-only tools for live Solana data. It runs locally over stdio and wraps @anaxer/sdk; there is no hosted MCP URL.

Install

npx -y @anaxer/mcp

Needs Node.js ≥ 20. Hosts usually run the server through npx, so there is nothing to install globally. Without ANAXER_API_KEY the process exits with a clear message on stderr.

The server runs locally with your API key, so the source is worth reading before you trust it: Anaxer-v2/anaxer-mcp · @anaxer/mcp on npm · MIT

Setup

Add this block to your MCP host's config and set ANAXER_API_KEY to a key from the console. The block is the same in every host; only the file differs. Never put the key in tool arguments.

{
  "mcpServers": {
    "anaxer": {
      "command": "npx",
      "args": ["-y", "@anaxer/mcp"],
      "env": {
        "ANAXER_API_KEY": "YOUR_KEY"
      }
    }
  }
}
Cursor
The project file .cursor/mcp.json, or Cursor's MCP settings.
Claude Desktop
claude_desktop_config.json, under Claude → Settings → Developer.
Claude Code
The same mcpServers shape in your Claude Code MCP config.

Tools

Eleven read-only tools. List tools return one page of 20 items by default (200 at most): call again with cursor set to the previous next until next is null. History reaches back 7 days on every plan.

get_token_metadata
Name, symbol, supply and socials for one mint.
get_tokens_metadata
Metadata for up to 50 mints in one call.
get_token_price
Latest USD and SOL price, market cap and symbol for one mint. stale is true when the last trade is over 15 minutes old.
get_token_prices
Prices for up to 100 mints in one call.
list_token_trades
One page of swaps for a mint, on either side. Options: source / sources, minVolumeUsd / maxVolumeUsd, solOnly. SOL, USDC and USDT are rejected as the mint.
list_wallet_trades
One page of a wallet's swaps. Options: mints, source / sources, minVolumeUsd / maxVolumeUsd, solOnly.
list_wallet_transfers
One page of a wallet's SOL and token transfers. Options: direction (in / out), mints, minVolumeUsd / maxVolumeUsd.
list_creations
One page of recent launches. Options: source / sources, excludeMayhem.
list_graduations
One page of recent graduations. Options: source / sources, excludeMayhem, minLiquiditySol.
get_launchpad_stats
Launch and graduation counts per launchpad over a window.
tail_stream
A bounded batch of live events from trades, transfers, creations, graduations or prices.
  • List tools take source (one string) or sources (an array), not both. tail_stream filters use the WebSocket shape, where it is always a sources array.
  • Trades and transfers carry each token's symbol, which is null until the token is resolved; key on mint. A routed swap is one trade per hop, all with the same signature.

tail_stream

MCP tools are request and response, so tail_stream returns a bounded batch of a live stream: it subscribes, collects events, unsubscribes and returns them.

maxEvents
20 by default, 100 at most.
timeoutMs
10,000 by default, 30,000 at most. The tail ends at whichever limit is reached first.

Filters per channel

trades
sources, mints, wallets, minVolumeUsd, maxVolumeUsd, solOnly
transfers
wallets, mints, minVolumeUsd, maxVolumeUsd, direction (in / out, needs wallets). No sources.
creations
sources, enriched, excludeMayhem
graduations
sources, excludeMayhem, minLiquiditySol
prices
sources, mints

Plan rules apply as on the API. Starter trades needs mints (up to 25 tokens at once) and Starter transfers needs wallets or mints (up to 100 wallets or 25 tokens at once); Pro may tail every trade or transfer. Free plans have creations and graduations only. A filter that breaks a channel or plan rule returns invalid_filters, and the message names the problem.

Environment

ANAXER_API_KEY
Required. Your API key, used for REST and the WebSocket.
ANAXER_BASE_URL
Optional. Defaults to https://api.anaxer.com.
ANAXER_WS_URL
Optional. Overrides the WebSocket URL derived from the base URL (…/v1/stream).

Troubleshooting

Why does an Anaxer MCP tool return unauthorized?

The API key is wrong or missing. Fix ANAXER_API_KEY in the host config and call the tool again. The REST tools need no restart.

Why does tail_stream still fail after I fix the API key?

A WebSocket unauthorized error is terminal for the server's shared socket. Fix the key, then restart the MCP server process by reloading the host or re-running npx.

Why does tail_stream return subscription_limit?

Each open tail_stream holds one of your plan's subscriptions on that channel until it returns. Overlapping tails can hit the cap on plans that allow one subscription per channel. Hosts normally run tool calls one at a time, so this is rare.

Not included

  • No list_programs tool.
  • No remote or hosted MCP (Streamable HTTP). The server is local stdio only.
  • No gap recovery: tail_stream resumes live. Backfill with the list_* tools, which take from / to.
  • No MCP resources or prompts, only tools.

Agents and chat hosts should use @anaxer/mcp. Long-running bots and backends should use the SDK directly. SDKs

Guides: build a Solana trading agent with Claude and Cursor, Cursor setup walkthrough, and Claude setup and analysis prompts.

Last updated · Changelog