A Model Context Protocol server providing tools to interact with the Solscan Pro API via LLMs
Project description
Solscan MCP Server
A Model Context Protocol (MCP) server implementation for interacting with the Solscan Pro API. This server allows AI agents to fetch and analyze token, transaction, and DeFi activity data from the Solana blockchain.
Overview
This MCP server provides a bridge between AI agents and the Solscan Pro API service. It follows the best practices laid out by Anthropic for building MCP servers, allowing seamless integration with any MCP-compatible client.
Features
The server provides several essential tools for interacting with Solscan:
-
token_meta: Get token metadata- Fetch comprehensive token information
- Get name, symbol, price, market cap, etc.
-
token_markets: Get token market data and liquidity pools- View market pairs and liquidity pools
- Filter by program addresses
- Sort and paginate results
-
token_holders: Get token holder distribution- View holder balances and distribution
- Filter by amount ranges
- Paginate through results
-
token_price: Get token price information- Historical price data
- Filter by date range
- Price trends and statistics
-
token_accounts: Get token holdings for a wallet- List token and NFT holdings
- Filter zero balances
- Paginate results
-
defi_activities: Get DeFi activities for a wallet- Filter by activity type and platform
- Sort by time or other metrics
- Comprehensive activity details
-
balance_change: Get balance change activities- Track token balance changes
- Filter by token and amount
- Remove spam transactions
-
account_transactions: Get wallet transactions- List wallet transactions
- Paginate through transaction history
- Configurable result limits
-
transaction_detail: Get transaction information- Detailed transaction data
- Parsed instructions
- Fee information
-
transaction_actions: Get transaction actions
- List token transfers
- View program interactions
- Decoded instruction data
Prerequisites
- Python 3.10+
- Solscan Pro API key (obtain from Solscan APIs)
- Docker if running the MCP server as a container (recommended)
Installation
Using uv (Recommended)
When using uv, no specific installation is needed. We use uvx to directly run solscan-mcp-server.
Using pip
Alternatively, install via pip:
pip install solscan-mcp-server
Configuration
You can configure the server using either environment variables or command-line arguments:
| Option | Env Variable | CLI Argument | Default | Description |
|---|---|---|---|---|
| API Key | SOLSCAN_API_KEY | --api-key | Required | Your Solscan Pro API key |
| Transport | TRANSPORT | --transport | sse | Transport protocol (sse or stdio) |
| Host | HOST | --host | 127.0.0.1 | Host to bind to when using SSE transport |
| Port | PORT | --port | 8050 | Port to listen on when using SSE transport |
| Log Level | LOG_LEVEL | --verbose | INFO | Logging level (use -v or -vv for detail) |
Running the Server
Using uvx (Recommended)
# Using environment variables:
SOLSCAN_API_KEY=your-key uvx solscan-mcp-server
# Using CLI arguments:
uvx solscan-mcp-server --api-key your-key
Using pip Installation
# Using environment variables:
SOLSCAN_API_KEY=your-key python -m solscan_mcp_server
# Using CLI arguments:
python -m solscan_mcp_server --api-key your-key
Using Docker
# Build the image
docker build -t solscan-mcp-server .
# Run with environment variables
docker run -e SOLSCAN_API_KEY=your-key solscan-mcp-server
Integration with MCP Clients
Claude Desktop Configuration
Using uvx (Recommended)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"solscan": {
"command": "uvx",
"args": ["solscan-mcp-server"]
}
}
}
Using pip Installation
{
"mcpServers": {
"solscan": {
"command": "python",
"args": ["-m", "solscan_mcp_server"]
}
}
}
Zed Configuration
Add to your Zed settings.json:
"context_servers": {
"solscan": {
"command": {
"path": "uvx",
"args": ["solscan-mcp-server"]
}
}
}
Development
Running Tests
# Install dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
Code Quality
# Run type checker
pyright
# Run linter
ruff check .
Debugging
You can use the MCP inspector to debug the server:
npx @modelcontextprotocol/inspector uvx solscan-mcp-server
For development debugging:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file solscan_mcp_server-0.2.0.tar.gz.
File metadata
- Download URL: solscan_mcp_server-0.2.0.tar.gz
- Upload date:
- Size: 79.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2df8a0e4b75bfd2103046a14ba701b59cc7920af260f84c8ea28235e84568bef
|
|
| MD5 |
c25ab37603f7d284ce994af94e534b53
|
|
| BLAKE2b-256 |
ca48a5490563bd5ad242d1f958d62c4f28f002ff04bdb4e92247053cf17f2f9a
|
File details
Details for the file solscan_mcp_server-0.2.0-py3-none-any.whl.
File metadata
- Download URL: solscan_mcp_server-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f27cc29c649e94615ed4c99791a52da033bb954fb8772a94d6349648350d8dc
|
|
| MD5 |
f53d64e727b2d7ee509d1ec0cbb4cef7
|
|
| BLAKE2b-256 |
914bde26c0b51a575ffefea4d00bf11d9709328f5b09538bdf40ab5a1f0874ad
|