Crypto on-chain metrics and market intelligence for AI agents
A Model Context Protocol (MCP) server providing access to Glassnode's API. The server enables AI agents to access on-chain metrics, market data, and analytics.
For detailed information about the API and available data:
- Asset and metrics discovery
- Metric metadata retrieval
- Single and bulk data retrieval
The server provides six tools for accessing Glassnode data:
get_assets_list: Get a list of all cryptocurrencies and tokens supported by Glassnodeget_metrics_list: Get a catalog of all available metrics and their pathsget_asset_metrics: Get metrics available for a specific assetget_metric_metadata: Get detailed information about a specific metric's structurefetch_metric: Fetch data for a specific metric, asset, and time rangefetch_bulk_metric: Fetch data for a metric across multiple assets
- Python 3.11+
- A Glassnode API key (available here)
- Clone this repository:
git clone https://github.com/neocortex/glassnode-mcp.git
cd glassnode-mcp
- Install with uv:
uv pip install -e .
- Create a
.envfile with your Glassnode API key:
GLASSNODE_API_KEY=your_api_key_here
TRANSPORT=stdio # or sse for server mode
HOST=0.0.0.0 # only needed for sse
PORT=8050 # only needed for sse
- Run the server:
uv run --directory src server.py
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .
python -m src.server
Add this server to your MCP configuration for Claude Desktop, Cursor, Windsurf, or any other MCP client:
{
"mcpServers": {
"glassnode": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/glassnode-mcp/src",
"server.py"
],
"env": {
"GLASSNODE_API_KEY": "your_api_key_here",
"TRANSPORT": "stdio"
}
}
}
}Note for Claude Desktop: You may need to provide the absolute path to the uv executable (e.g.,
/path/to/your/bin/uv) instead of just"uv".
For SSE-based clients, first update your .env file with the following values:
GLASSNODE_API_KEY=your_api_key_here
TRANSPORT=sse
HOST=0.0.0.0
PORT=8050
Then start the server:
uv run --env-file .env src/server.py
Configure your MCP client:
{
"mcpServers": {
"glassnode": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}Note for Windsurf users: Use
serverUrlinstead ofurlin your configuration.