CryptoKeyhole
Read-only on-chain and market crypto analytics for Bitcoin, Ethereum and more, from our own nodes.
Should I use this
Quality & Safety
Findings (2)
- LOWin fetch_metric
- LOWin fetch_bulk_metrics
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"analytics": {
"url": "https://cryptokeyhole.com/api/v1/mcp"
}
}
}Remote endpoints
https://cryptokeyhole.com/api/v1/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢get_assets_list
List active analytics assets: BTC, ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLD, WLFI, LIT, MNT, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, FF, POL, APT, CRV, ZAMA, SENT, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, SPX, EDGE, IMX, AXS, BAT, GRT, SYRUP, FLOKI, COMP, SAND, APE, PROM, ALT, GALA, NIL and ERA.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢get_metrics_list(asset, category, cursor, limit)
Discover metrics for one asset (BTC by default; ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLD, WLFI, LIT, MNT, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, FF, POL, APT, CRV, ZAMA, SENT, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, SPX, EDGE, IMX, AXS, BAT, GRT, SYRUP, FLOKI, COMP, SAND, APE, PROM, ALT, GALA, NIL or ERA) by existing category, including honest held and delayed states. Cursor pages follow the current catalogue and are not an immutable snapshot.
Input Schema
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"enum": [
"BTC",
"ETH",
"SOL",
"XRP",
"TRX",
"BNB",
"DOGE",
"TON",
"LINK",
"HYPE",
"WBTC",
"ADA",
"NEAR",
"XLM",
"BCH",
"LTC",
"UNI",
"AVAX",
"SUI",
"HBAR",
"WLD",
"WLFI",
"LIT",
"MNT",
"SHIB",
"QNT",
"ENA",
"MORPHO",
"AAVE",
"ONDO",
"DOT",
"ZRO",
"PEPE",
"SKY",
"ARB",
"FF",
"POL",
"APT",
"CRV",
"ZAMA",
"SENT",
"ETHFI",
"PENDLE",
"ENS",
"FET",
"LDO",
"EIGEN",
"SPX",
"EDGE",
"IMX",
"AXS",
"BAT",
"GRT",
"SYRUP",
"FLOKI",
"COMP",
"SAND",
"APE",
"PROM",
"ALT",
"GALA",
"NIL",
"ERA"
],
"default": "BTC"
},
"category": {
"type": "string"
},
"cursor": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 3000,
"default": 100
}
},
"required": [],
"additionalProperties": false
}🟢get_asset_metrics(asset, category, cursor, limit)
Discover the available and held metrics of one asset: BTC, ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLD, WLFI, LIT, MNT, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, FF, POL, APT, CRV, ZAMA, SENT, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, SPX, EDGE, IMX, AXS, BAT, GRT, SYRUP, FLOKI, COMP, SAND, APE, PROM, ALT, GALA, NIL or ERA.
Input Schema
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"enum": [
"BTC",
"ETH",
"SOL",
"XRP",
"TRX",
"BNB",
"DOGE",
"TON",
"LINK",
"HYPE",
"WBTC",
"ADA",
"NEAR",
"XLM",
"BCH",
"LTC",
"UNI",
"AVAX",
"SUI",
"HBAR",
"WLD",
"WLFI",
"LIT",
"MNT",
"SHIB",
"QNT",
"ENA",
"MORPHO",
"AAVE",
"ONDO",
"DOT",
"ZRO",
"PEPE",
"SKY",
"ARB",
"FF",
"POL",
"APT",
"CRV",
"ZAMA",
"SENT",
"ETHFI",
"PENDLE",
"ENS",
"FET",
"LDO",
"EIGEN",
"SPX",
"EDGE",
"IMX",
"AXS",
"BAT",
"GRT",
"SYRUP",
"FLOKI",
"COMP",
"SAND",
"APE",
"PROM",
"ALT",
"GALA",
"NIL",
"ERA"
],
"default": "BTC"
},
"category": {
"type": "string"
},
"cursor": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 3000,
"default": 100
}
},
"required": [
"asset"
],
"additionalProperties": false
}🟢get_metric_metadata(asset, metric)
Read the current metric definition, supported intervals, method, coverage and source limitations.
Input Schema
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"enum": [
"BTC",
"ETH",
"SOL",
"XRP",
"TRX",
"BNB",
"DOGE",
"TON",
"LINK",
"HYPE",
"WBTC",
"ADA",
"NEAR",
"XLM",
"BCH",
"LTC",
"UNI",
"AVAX",
"SUI",
"HBAR",
"WLD",
"WLFI",
"LIT",
"MNT",
"SHIB",
"QNT",
"ENA",
"MORPHO",
"AAVE",
"ONDO",
"DOT",
"ZRO",
"PEPE",
"SKY",
"ARB",
"FF",
"POL",
"APT",
"CRV",
"ZAMA",
"SENT",
"ETHFI",
"PENDLE",
"ENS",
"FET",
"LDO",
"EIGEN",
"SPX",
"EDGE",
"IMX",
"AXS",
"BAT",
"GRT",
"SYRUP",
"FLOKI",
"COMP",
"SAND",
"APE",
"PROM",
"ALT",
"GALA",
"NIL",
"ERA"
],
"default": "BTC"
},
"metric": {
"type": "string",
"minLength": 1
}
},
"required": [
"metric"
],
"additionalProperties": false
}🟢fetch_metric(asset, metric, interval, start, end, ...)
Read exact unreduced BTC, ETH, SOL, XRP, TRX, BNB, DOGE, TON, LINK, HYPE, WBTC, ADA, NEAR, XLM, BCH, LTC, UNI, AVAX, SUI, HBAR, WLD, WLFI, LIT, MNT, SHIB, QNT, ENA, MORPHO, AAVE, ONDO, DOT, ZRO, PEPE, SKY, ARB, FF, POL, APT, CRV, ZAMA, SENT, ETHFI, PENDLE, ENS, FET, LDO, EIGEN, SPX, EDGE, IMX, AXS, BAT, GRT, SYRUP, FLOKI, COMP, SAND, APE, PROM, ALT, GALA, NIL or ERA observations with decimal strings, original source clocks, revision, finality and gaps. End is exclusive. Metric-specific interval and retained-publication restrictions apply. No new observation is acquired.
Input Schema
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"enum": [
"BTC",
"ETH",
"SOL",
"XRP",
"TRX",
"BNB",
"DOGE",
"TON",
"LINK",
"HYPE",
"WBTC",
"ADA",
"NEAR",
"XLM",
"BCH",
"LTC",
"UNI",
"AVAX",
"SUI",
"HBAR",
"WLD",
"WLFI",
"LIT",
"MNT",
"SHIB",
"QNT",
"ENA",
"MORPHO",
"AAVE",
"ONDO",
"DOT",
"ZRO",
"PEPE",
"SKY",
"ARB",
"FF",
"POL",
"APT",
"CRV",
"ZAMA",
"SENT",
"ETHFI",
"PENDLE",
"ENS",
"FET",
"LDO",
"EIGEN",
"SPX",
"EDGE",
"IMX",
"AXS",
"BAT",
"GRT",
"SYRUP",
"FLOKI",
"COMP",
"SAND",
"APE",
"PROM",
"ALT",
"GALA",
"NIL",
"ERA"
],
"default": "BTC"
},
"metric": {
"type": "string",
"minLength": 1
},
"interval": {
"type": "string",
"default": "24h"
},
"start": {
"type": "integer",
"description": "Inclusive UNIX seconds UTC."
},
"end": {
"type": "integer",
"description": "Exclusive UNIX seconds UTC."
},
"sma": {
"type": "integer",
"minimum": 0,
"default": 0
},
"smoothing": {
"type": "string",
"enum": [
"sma",
"ema",
"median"
],
"default": "sma"
},
"publication": {
"type": "string",
"description": "An actual retained publication ID; only supported metric/interval pairs accept it."
}
},
"required": [
"metric"
],
"additionalProperties": false
}🟢fetch_bulk_metrics(requests)
Read multiple metric selections sequentially. Each item retains its own provenance and revision; this is not one atomic snapshot. Unsupported selections are explicit per-item errors. The existing 200000-observation and response-byte bounds apply to the combined result.
Input Schema
{
"type": "object",
"properties": {
"requests": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"asset": {
"type": "string",
"enum": [
"BTC",
"ETH",
"SOL",
"XRP",
"TRX",
"BNB",
"DOGE",
"TON",
"LINK",
"HYPE",
"WBTC",
"ADA",
"NEAR",
"XLM",
"BCH",
"LTC",
"UNI",
"AVAX",
"SUI",
"HBAR",
"WLD",
"WLFI",
"LIT",
"MNT",
"SHIB",
"QNT",
"ENA",
"MORPHO",
"AAVE",
"ONDO",
"DOT",
"ZRO",
"PEPE",
"SKY",
"ARB",
"FF",
"POL",
"APT",
"CRV",
"ZAMA",
"SENT",
"ETHFI",
"PENDLE",
"ENS",
"FET",
"LDO",
"EIGEN",
"SPX",
"EDGE",
"IMX",
"AXS",
"BAT",
"GRT",
"SYRUP",
"FLOKI",
"COMP",
"SAND",
"APE",
"PROM",
"ALT",
"GALA",
"NIL",
"ERA"
],
"default": "BTC"
},
"metric": {
"type": "string",
"minLength": 1
},
"interval": {
"type": "string",
"default": "24h"
},
"start": {
"type": "integer",
"description": "Inclusive UNIX seconds UTC."
},
"end": {
"type": "integer",
"description": "Exclusive UNIX seconds UTC."
},
"sma": {
"type": "integer",
"minimum": 0,
"default": 0
},
"smoothing": {
"type": "string",
"enum": [
"sma",
"ema",
"median"
],
"default": "sma"
},
"publication": {
"type": "string",
"description": "An actual retained publication ID; only supported metric/interval pairs accept it."
}
},
"required": [
"metric"
],
"additionalProperties": false
}
}
},
"required": [
"requests"
],
"additionalProperties": false
}Community
Evidence