onchain-mcp
Provides read-only access to Solana on-chain data, enabling natural language queries for wallet balances, token holdings, prices, transactions, and more via MCP-compatible clients.
README
onchain-mcp
A Model Context Protocol (MCP) server that gives any MCP client — Claude Desktop, Claude Code, Cursor, etc. — live, read-only access to Solana on-chain data. Ask natural-language questions like "what SPL tokens does this wallet hold?" or "what's the USD price of this mint?" and the model answers from real Solana mainnet RPC + Jupiter, no API key required.
Tools
| Tool | What it does |
|---|---|
get_sol_balance(address) |
Native SOL balance of an account |
get_token_holdings(address) |
Non-zero SPL token balances of a wallet |
get_token_price(mint) |
USD price of a token mint (via Jupiter) |
get_transaction(signature) |
Parsed transaction summary (slot, fee, logs, success) |
get_account_info(address) |
Owner program, lamports, executable flag |
get_token_supply(mint) |
Total on-chain supply of a token mint |
get_recent_signatures(address) |
Recent transaction signatures for an account |
get_epoch_info() |
Current epoch / slot / block height / progress |
All endpoints are public. Point at a private RPC by setting SOLANA_RPC_URL
(and optionally JUPITER_PRICE_API).
Run
# Run the server over stdio (what an MCP client launches):
uv run --with "mcp>=1.2" --with httpx onchain_mcp.py
Use with Claude Desktop / Claude Code
Add to your MCP config (claude_desktop_config.json or .mcp.json):
{
"mcpServers": {
"onchain": {
"command": "uv",
"args": ["run", "--with", "mcp>=1.2", "--with", "httpx",
"/absolute/path/to/onchain-mcp/onchain_mcp.py"]
}
}
}
Then ask, e.g.: "Using the onchain tools, what's the USDC price and how much
SOL does <address> hold?"
Test
Live smoke tests against mainnet (asserts USDC ≈ $1, the SPL Token program is executable, balance/holdings shapes):
uv run --python 3.12 --with "mcp>=1.2" --with httpx \
--with pytest --with pytest-asyncio pytest test_onchain_mcp.py -q
Notes
- Read-only: the server never signs or sends transactions — it only queries public chain state, so it is safe to expose to an LLM.
- Default RPC is
api.mainnet-beta.solana.com(rate-limited); use a dedicated RPC for heavy use.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.