Give Cursor live Solana data with the Anaxer MCP server
Add the Anaxer MCP server to Cursor with a five-line .cursor/mcp.json file and your agent can query live pump.fun launches, graduations, trades, and prices while you build - no API glue code required.
To give Cursor live Solana data, add the Anaxer MCP server to .cursor/mcp.json - five lines that run npx -y @anaxer/mcp with your API key. Cursor's agent then has nine typed tools for pump.fun launches, graduations, trades, and prices, and can answer market questions with real on-chain events.
Why give Cursor live Solana data?
Cursor's agent is already where you write your trading bot, dashboard, or alerting code. With the MCP server attached, the same agent that writes the code can check the market: verify what a real created event looks like before writing the parser, pull actual prices to sanity-check a calculation, or tail live trades to confirm a filter behaves the way you expect. It turns "let me check the docs and paste an example" into a tool call the agent makes itself.
This guide covers setup and first prompts. For where MCP fits in a full agent design - data in, reasoning, execution out - see how to build a Solana trading agent with Claude and Cursor.
How do I add the Anaxer MCP server to Cursor?
Create .cursor/mcp.json in your project root (or add the same block through Cursor Settings → MCP). You need Node.js 20 or newer and an API key from the console.
{
"mcpServers": {
"anaxer": {
"command": "npx",
"args": ["-y", "@anaxer/mcp"],
"env": {
"ANAXER_API_KEY": "YOUR_KEY"
}
}
}
}Cursor detects the file and offers to enable the server. Once enabled, open the MCP settings panel and confirm anaxer shows a green status with its tools listed - get_token_price, list_creations, tail_stream, and the rest. The full tool reference lives in the MCP server docs.
Keep the key out of git
.cursor/mcp.json is a project file. If the repo is shared, put the real key in your user-level Cursor MCP settings instead, or gitignore the project file - treat the API key like any other secret.
What should I ask first?
Start with prompts that map to a single tool call, so you can see the round-trip working:
- "List the last 20 pump.fun launches and show me name, symbol, and mint." - one
list_creationscall. - "What is the current price and market cap of
<mint>?" - oneget_token_pricecall. - "Show me the most recent graduations and how much liquidity each moved." - one
list_graduationscall.
Then let the agent combine tools:
- "Pull the last 50 launches, then batch-check prices for any that already have a price. Which are up since launch?"
- "Get launchpad stats for the past 24 hours and tell me if launch volume is above or below yesterday."
List tools return one page of 20 by default with a next cursor, so the agent pages through history only when the question needs it - which keeps responses fast and the context small.
How does tail_stream work in Cursor?
MCP tools are request/response, so the live feed is exposed as a bounded collect: tail_stream subscribes, gathers events, unsubscribes, and returns the batch. It stops at maxEvents (default 20, cap 100) or timeoutMs (default 10 seconds, cap 30), whichever hits first.
Ask something like:
"Tail the trades stream for 15 seconds, filtered to trades over $500, and summarize the flow by mint."
The agent fills in the filters - minVolumeUsd, mints, wallets, and sources are all available on the trades channel - and reasons over the events that came back. Per-channel filter keys are listed in the MCP docs. If you want the agent to watch launches instead, the creations channel supports the same enriched and excludeMayhem filters as the raw stream described in the pump.fun launch tracking guide.
Troubleshooting: why isn't it working?
- Server shows red / failed to start. Check
node --version- the server requires Node.js ≥ 20. Then confirmANAXER_API_KEYis present in theenvblock; without it the process exits with a stderr message before speaking MCP. unauthorizedon a REST tool. The key is wrong or revoked. Fix the env value and call again - REST tools pick up the fix without a restart.unauthorizedontail_stream. A bad key is terminal for the shared WebSocket. Fix the key, then restart the MCP server (disable and re-enable it in Cursor's MCP settings).subscription_limitontail_stream. Each open tail holds one plan subscription until it returns. The free plan allows one concurrent stream, so overlapping tails - usually from parallel agents - hit the cap. Let the first tail finish, or upgrade for more concurrent streams.- Tools missing from the agent. Confirm the server is enabled for the current project and reload the window. Cursor only exposes tools from servers with a green status.
What can you build from here?
With the data layer attached, the natural next step is strategy work: encode your screening rules in Cursor project rules so the agent applies them every session, and use the agent to prototype the logic your production bot will run. The trading agent architecture guide covers that full picture, including the execution layer that stays deliberately outside MCP. When a strategy graduates to always-on, move the hot path to @anaxer/sdk and keep Cursor for research - and if you mostly work in Claude, the Claude setup walkthrough mirrors this one.
Frequently asked questions
How do I add the Anaxer MCP server to Cursor?
Create .cursor/mcp.json in your project (or use Cursor's MCP settings UI) with an mcpServers entry that runs npx -y @anaxer/mcp and sets ANAXER_API_KEY in env. Cursor launches the server automatically and the anaxer tools appear in the agent's tool list.
Does the Anaxer MCP server work in Cursor's free plan?
The MCP server runs in any Cursor plan - it is a local process Cursor launches for you. On the Anaxer side, the free plan covers launches and graduations plus a REST allowance with no card, so you can try every setup step in this guide at no cost.
Why does Cursor say the anaxer MCP server failed to start?
Almost always one of two things: Node.js is older than 20, or ANAXER_API_KEY is missing from the env block. The server exits with a clear stderr message before speaking MCP if the key is absent - fix the config and reload.
Can Cursor stream live Solana events continuously?
Not continuously - MCP tools are request/response. The tail_stream tool gives a bounded live sample instead: it collects up to 100 events or 30 seconds of stream, whichever comes first, and returns the batch. For an always-on feed, use the TypeScript SDK in your application code.
What is the subscription_limit error in Cursor?
Each open tail_stream call holds one plan subscription until it returns. If the agent fires overlapping tails on the free plan (one concurrent stream), the second hits subscription_limit. Cursor normally serializes tool calls, so this mostly appears when you run parallel agents.
Start streaming Solana data
Anaxer gives you real-time pump.fun and PumpSwap streams and REST APIs on a flat plan. The free tier needs no card.
Written by Anton Gilborn · Senior Platform Engineer, Anaxer
Anton is a senior platform engineer at Anaxer, where he builds the real-time streaming infrastructure behind its Solana data API - token launches, graduations, DEX trades, prices, and transfers. He writes about low-latency streaming architecture and building fast on-chain apps.
Keep reading
How to build a Solana trading agent with Claude and Cursor (MCP guide)
A trading agent is only as good as its data layer. Here is the full architecture - live Solana data in through MCP, reasoning in Claude or Cursor, execution through a separate signer - and how to stand up the data half in minutes.
Ask Claude about pump.fun launches: MCP setup for Claude Desktop and Claude Code
Claude makes a strong pump.fun analyst once it can see the chain. One config block connects Claude Desktop or Claude Code to live launches, graduations, and stats - here is the setup and the analysis prompts that work.
Yellowstone gRPC vs parsed Solana streams: which do you need?
It was never polling vs streaming - everyone serious streams. The real question is whether you decode a raw Yellowstone gRPC firehose yourself or consume parsed events. Here is how to choose.