Solana Metrics MCP Server
This MCP server analyzes Solana metrics from InfluxDB and generates Grafana dashboards. It's designed to work with the sol_metrics
database and provides intelligent categorization and analysis of blockchain metrics.
Features
- 🔍 Metric Discovery: Lists all available metrics from the sol_metrics InfluxDB database
- 🏷️ Intelligent Categorization: Automatically categorizes metrics into logical groups (Consensus, Network, Banking, Accounts, RPC, Performance, Jito/MEV)
- 📊 Metric Analysis: Provides detailed explanations of what each metric measures and why it's useful
- 📁 Auto-Dashboard Export: Creates and saves importable Grafana dashboard JSON files to
grafana/
folder - 🔎 Code Search: Helps locate metric definitions in the Solana Rust codebase
- 🔄 Dual InfluxDB Support: Compatible with both InfluxDB v1 and v2
- 🛠️ VS Code Integration: Works seamlessly as an MCP server in Visual Studio Code
Installation
npm install
npm run build
Configuration
Set the following environment variables to connect to your InfluxDB instance:
export INFLUX_URL="http://your-influxdb-server:8086"
export INFLUX_TOKEN="your_token"
export INFLUX_ORG="your_org"
export INFLUX_BUCKET="sol_metrics"
export INFLUX_VERSION="v1" # or "v2" for InfluxDB v2
Dashboard Export
When you generate dashboards using the generate_dashboard
tool, the server automatically:
- Saves JSON files to the
grafana/
folder in your project directory - Creates timestamped backups for version history
- Provides ready-to-import Grafana dashboard configurations
Generated dashboard files:
consensus-dashboard.json
- Epoch rewards, slot confirmation, validator votingnetwork-dashboard.json
- Gossip, cluster info, retransmit metricsbanking-dashboard.json
- Transaction processing, prioritization feesaccounts-dashboard.json
- Account database, cache, hashing metricsrpc-dashboard.json
- RPC service and subscription metricsperformance-dashboard.json
- CPU, memory, disk usage metricsjito-mev-dashboard.json
- Block engine, bundle processing, MEV relayer metrics
Usage with Claude Desktop
Add this server to your Claude Desktop configuration:
{
"mcpServers": {
"solana-metrics": {
"command": "node",
"args": ["/absolute/path/to/solana-metrics-mcp-server/build/index.js"]
}
}
}
Available Tools
1. list_metrics
Lists all available metrics from the sol_metrics database.
2. analyze_metrics
Analyzes and categorizes metrics with detailed explanations.
- Parameters:
category
(optional): Filter by category (Consensus, Network, Banking, Accounts, RPC, Performance, Jito/MEV, Other, All)
3. generate_dashboard
Generates a Grafana dashboard JSON for selected metrics.
- Parameters:
category
: Category to generate dashboard fordashboard_name
: Name for the generated dashboard
4. search_rust_code
Searches for metric definitions in the Solana Rust codebase.
- Parameters:
metric_name
: Name of the metric to search for
Metric Categories
The server organizes metrics into the following categories based on Solana's architecture:
- Consensus: Validator voting, slots, epochs, leader schedules
- Network: Cluster topology, gossip, turbine, TPU/TVU, repairs
- Banking: Transaction processing, PoH recording, leader slot utilization
- Accounts: Account database operations, hashing, snapshots
- RPC: API request handling, subscriptions, WebSocket connections
- Performance: System resources, throughput benchmarks
- Jito/MEV: MEV tips, bundle processing, block engine metrics
Development
# Development mode
npm run dev
# Build only
npm run build
# Start server
npm start
Contributing
This server is designed for Solana metrics analysis. For questions or improvements, please refer to the Solana metrics documentation and codebase.