面向 AI 智能体的 MCP 服务器
Blocklens 提供了一个 MCP 服务器,让 AI 智能体能够在对话过程中直接查询链上分析数据。无需手动复制粘贴 API 响应,你的智能体会自行发现可用工具并自主调用它们。
什么是 MCP?
Model Context Protocol(MCP,模型上下文协议)是由 Anthropic 创建的开放标准,它定义了 AI 应用如何连接到外部数据源和工具。可以把它看作一个通用适配器——任何兼容 MCP 的智能体(Claude、Cursor、Windsurf 等)都能连接到任意 MCP 服务器,无需编写定制的集成代码。
借助 MCP,智能体不仅能读取数据——它还能发现有哪些工具可用、理解这些工具的参数,并以正确的参数调用它们。这使得交互比手动构造 API 调用自然得多。
远程访问(无需安装)
最快的连接方式是通过我们托管的 MCP 端点——无需安装任何软件包,也无需任何本地配置。
Claude.ai
- 进入 Settings → Connectors
- 点击 + 添加一个新的连接器
- 粘贴 URL:
https://mcp.blocklens.co - 将 Client ID 和 Client Secret 留空 → 点击 Add
- 在出现提示时使用你的 API 密钥进行授权
Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"blocklens": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.blocklens.co"]
}
}
}
ChatGPT
- 启用 Developer Mode:Settings → General → Developer Mode
- 进入 Settings → Developer → MCP Servers
- 点击 Add Server,输入名称 “Blocklens” 和 URL:
https://mcp.blocklens.co - 在出现提示时使用你的 API 密钥进行授权
Cursor / Windsurf
- 打开 Settings → MCP Servers
- 添加一个远程服务器,URL 为:
https://mcp.blocklens.co - 在出现提示时使用你的 API 密钥进行授权
对于 Cursor,你也可以将以下内容添加到 .cursor/mcp.json:
{
"mcpServers": {
"blocklens": {
"url": "https://mcp.blocklens.co"
}
}
}
任意 MCP HTTP 客户端
使用 Streamable HTTP 传输向 https://mcp.blocklens.co 发起 POST 请求。该服务器支持完整的 MCP 协议——工具发现、调用以及流式响应。
远程端点提供与 npm 包相同的 19 个工具。它可在浏览器中运行,无需任何本地依赖,并且开箱即支持演示模式。
身份验证
MCP 服务器支持两种访问模式:
免费访问(无需 API 密钥)
无需任何凭据即可连接,访问免费层级的指标:价格、持有者供应量、估值、ETF 聚合数据、币天数以及区块链数据。最多可获取 60 天的历史数据。
完整访问(使用 API 密钥)
解锁包括 Pro 与 Enterprise 层级在内的所有指标。首次连接时,会出现一个 Blocklens 授权页面,你可在其中输入 API 密钥。该流程使用安全的 OAuth 机制——无需 Client ID 或 Secret。
请在 blocklens.co/api-mcp 获取你的 API 密钥。
为什么选择 Blocklens + MCP?
Blocklens 为链上分析提供原生 MCP 支持,让 AI 智能体无需定制集成即可直接查询指标。
这在实践中意味着:
- 实时链上查询——向你的 AI 智能体提问“比特币现在是否被高估?”,它会调用
get_holder_valuation来查看 MVRV、Realized Cap 等数据 - 无需手动操作 API——智能体自动发现工具并为你格式化响应
- 以对话速度进行研究——将多个查询串联起来:先查价格,再查供应量,然后查盈利情况,全部在一次对话中完成
- 自动化报告——让你的智能体使用实时数据生成每周链上健康报告
本地安装(备选方案)
最简单的设置方式请参阅远程访问——无需任何软件包或本地配置。
安装
npm install -g blocklens-mcp-server
Claude Desktop
将以下内容添加到你的 Claude Desktop 配置文件(claude_desktop_config.json):
{
"mcpServers": {
"blocklens": {
"command": "npx",
"args": ["-y", "blocklens-mcp-server"],
"env": {
"BLOCKLENS_API_KEY": "your_api_key_here"
}
}
}
}
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
保存后,重启 Claude Desktop。你应当能在可用的 MCP 工具列表中看到 “blocklens”。
Cursor / Windsurf
添加到你的 MCP 设置中(.cursor/mcp.json 或等效文件):
{
"mcpServers": {
"blocklens": {
"command": "npx",
"args": ["-y", "blocklens-mcp-server"],
"env": {
"BLOCKLENS_API_KEY": "your_api_key_here"
}
}
}
}
演示模式(无需 API 密钥)
你可以在没有 API 密钥的情况下试用 MCP 服务器。在演示模式下:
- 可用:
list_metrics、search_metrics、get_metric、get_categories,以及基础(grade 0)指标的数据端点,最多 60 天历史数据 - 需要 API 密钥: 盈利指标(SOPR、Realized P/L)、扩展历史数据、Enterprise 层级指标
要以演示模式运行,只需在配置中省略 BLOCKLENS_API_KEY:
{
"mcpServers": {
"blocklens": {
"command": "npx",
"args": ["-y", "blocklens-mcp-server"]
}
}
}
可用工具
MCP 服务器暴露了 19 个工具,覆盖完整的 Blocklens 分析套件:市场数据、持有者供应量、估值、盈利情况、年龄 Cohort、UTXO 历史、币天数、ETF 分析、区块链统计、周期边界以及图表渲染。全部构建于统一的 TypeScript 代码库之上。
层级要求
| 层级 | 工具 |
|---|---|
| Free | list_metrics、search_metrics、get_metric、get_categories、get_latest_metrics、get_prices、get_holder_supply、get_holder_valuation、get_etf_data、get_coindays、get_blockchain、get_cycle_boundaries |
| Pro | get_holder_profit、get_cohort_metrics、get_utxo_history |
| Pro | get_dat_entity |
| 取决于指标 | render_chart——免费指标无需密钥即可渲染;Pro/Enterprise 指标需要对应层级 |
list_metrics
Free
列出所有可用的链上指标,包含描述、类别和层级要求。
参数: 无
使用场景: 从这里开始,发现有哪些数据可用。返回完整目录,其中包含你在其他工具中所需的指标 ID。
示例响应(节选):
[
{
"id": "price",
"name": "BTC Price",
"category": "price",
"unit": "USD",
"endpoint": "prices",
"grade": 0
},
{
"id": "lth_supply",
"name": "LTH Supply",
"category": "supply",
"unit": "BTC",
"endpoint": "holder/supply",
"grade": 0
},
{
"id": "funding_binance",
"name": "Binance Funding Rate",
"category": "exchanges",
"endpoint": "funding/exchange",
"grade": 1,
"params": { "exchange": "binance" },
"params_schema": {
"exchange": {
"type": "string",
"required": true,
"description": "Exchange identifier",
"values_endpoint": "/v1/funding/exchanges"
}
}
}
]
部分指标需要附加参数(例如 exchange、ticker、id)。请查看 params 字段了解默认值,并查看 params_schema 了解参数描述和可用值的端点。
get_prices
Free
获取每日 OHLC 价格(以 USD 计的开盘价/最高价/最低价/收盘价)、市值以及 24 小时交易量。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
symbol | string | "BTC" | 加密货币符号 |
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD)。会覆盖 days。 |
end_date | string | — | 结束日期(YYYY-MM-DD)。默认为今天。 |
使用场景: 为任何分析提供价格背景。与估值指标配合使用,可评估当前价格是否得到链上基本面的支撑。
get_holder_supply
Free
获取 LTH/STH 供应量细分:长期持有者供应量(持有 >155 天)、短期持有者供应量(持有 <155 天)以及总流通供应量。所有数值均以 BTC 计。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 追踪积累与派发。LTH 供应量上升 = 信念坚定/积累。STH 供应量上升 = 新资金入场/前方可能出现派发。
get_holder_valuation
Free
获取比特币估值指标:Realized Cap、Realized Price、LTH/STH Realized Cap 与 Realized Price、MVRV 比率以及未实现盈亏。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 核心估值框架。从历史上看,MVRV > 3.5 预示市场过热;MVRV < 1 预示被低估。对比 LTH 与 STH 的 Realized Price,以判断市场结构。
get_holder_profit
Pro
获取比特币盈利指标:LTH/STH Realized P/L(USD)以及 SOPR(Spent Output Profit Ratio,已花费输出盈利比率)。需要 Pro 层级 API 密钥。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 了解币是在盈利还是亏损状态下转移的。SOPR > 1 表示持有者在盈利时卖出;SOPR < 1 表示在亏损时卖出(通常预示投降抛售或底部形成)。
get_cohort_metrics
Pro
获取年龄 Cohort 指标:特定 UTXO 年龄区间的供应量(BTC)、Realized Cap(USD)以及 Realized Price(USD)。用于 HODL Waves 分析。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
cohort | enum | 必填 | 年龄区间(见下文) |
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
有效的 cohort: 24h、1d_1w、1w_1m、1m_3m、3m_6m、6m_12m、1y_2y、2y_3y、3y_5y、5y_7y、7y_10y、10y_plus
使用场景: 深入分析特定年龄群组。例如,检查 3m_6m cohort 是否在增长(新积累逐渐成熟),或 10y_plus 的币是否终于开始移动(长期沉睡的供应被唤醒)。
get_utxo_history
Pro
按年龄 Cohort 获取 UTXO 集细分。展示某一日期下每个 cohort 的代币数量(BTC)和 USD 价值。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
date_processed | string | — | 特定快照日期(YYYY-MM-DD) |
cohort_start | string | — | cohort 日期范围的起点 |
cohort_end | string | — | cohort 日期范围的终点 |
days | integer | 1000 | 记录数量(1–50,000) |
使用场景: 分析币的沉睡与积累模式。当沉睡供应开始移动时,往往预示着重大的价格波动。
get_latest_metrics
Free
通过单次调用获取所有指标类别(价格、供应量、估值、盈利)的最新快照。
参数: 无
使用场景: 快速市场概览。一次调用即可获得所有关键指标的当前状态——非常适合每日查看或开启更深入的分析。
search_metrics
Free
按关键词在名称、描述和 ID 中搜索可用指标。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
query | string | 必填 | 搜索词(例如 "realized price"、"MVRV"、"supply") |
使用场景: 当你大致知道要找什么但不清楚确切 ID 时,找到合适的指标。返回匹配的指标及其端点和层级要求。
get_metric
Free
通过 ID 获取单个指标的完整定义,包括名称、描述、类别、端点、单位以及访问层级。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
metric_id | string | 必填 | 指标标识符(例如 "lth_supply"、"price"、"sth_sopr") |
使用场景: 在获取数据之前,准确查明某个指标衡量什么、如何计算以及需要哪个层级。当指标需要附加参数(例如 exchange、ticker、id)时,响应中会包含 params 和 params_schema。
get_categories
Free
列出所有指标类别,包含每个类别的数量以及其中的指标 ID。
参数: 无
使用场景: 按主题(价格、供应量、估值、盈利)获得结构化的可用数据概览。
get_coindays
Free
获取币天数指标:Coin Days Destroyed(CDD,已销毁币天数)、liveliness(活跃度)、vaultedness(封存度)以及 dormancy(沉睡度)。这些指标衡量币在被花费前被持有了多久,揭示出信念与活动模式。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 检测长期沉睡的币何时开始移动。CDD 的高峰往往先于重大价格波动出现。liveliness 上升 = 旧币正在被花费;vaultedness 上升 = 币被长期锁仓持有。
get_etf_data
Free
获取比特币 ETF 聚合数据:总持仓量(BTC)、AUM(USD,管理资产规模)、每日净流入、累计流入、ETF 主导度以及 ETF Realized Price。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 通过 ETF 流向追踪机构需求。AUM 上升和净流入为正预示机构正在积累。将 ETF Realized Price 与现货价格对比,可判断 ETF 持有者是否处于盈利状态。
get_blockchain
Free
获取区块链指标:区块高度或每日挖出的区块数。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
metric | enum | 必填 | "block_height" 或 "blocks_mined" |
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 监控网络健康状况与挖矿活动。每日挖出的区块数偏离 ~144 可能表明算力变化或难度调整。
get_dat_aggregate
Free
获取 Digital Asset Treasuries 聚合数据:机构与政府持有的总 BTC、公司数量、净流入,以及上市公司/私人/政府的细分。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
days | integer | 30 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 追踪机构对比特币的采用。企业与主权金库中 BTC 总量的上升预示机构信念日益增强。
如需按实体类型(政府、上市公司、私人)查看 Realized Price(每枚 BTC 的成本基础),请使用 render_chart 并配合指标 dat_rp_total、dat_rp_public、dat_rp_government、dat_rp_private,或使用模板 dat-realized-price-by-type。
get_dat_registry
Free
列出所有受追踪的 Digital Asset Treasury 实体(企业、基金、政府),其元数据包括名称、ticker、实体类型和国家。
参数: 无
使用场景: 发现哪些实体持有比特币。使用返回的 id 字段,配合 get_dat_entity 查询单个实体的数据。
get_dat_entity
Pro
获取单个实体的 Digital Asset Treasury 数据:BTC 持仓量、AUM、净流入、累计流入、市场份额、Realized Price(每枚 BTC 的平均成本)以及总成本基础。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
id | integer | 必填 | 实体/公司 ID(来自 get_dat_registry) |
days | integer | 365 | 每日数据点数量(1–10,000) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
使用场景: 分析特定实体的比特币策略——追踪持仓量增长,将 Realized Price 与市场价格对比以得出未实现盈亏,监控积累模式。
示例: get_dat_entity({ id: 1 }) 返回 Strategy(前 MicroStrategy)的数据,包括 762K BTC 持仓量和 $75,694 的 Realized Price。
get_cycle_boundaries
Free
获取比特币减半周期边界:每个减半纪元的起始日期、结束日期、持续天数以及周期编号。
参数: 无
使用场景: 识别周期阶段以进行对比分析。配合 render_chart 和 x_axis: "day_offset" 使用,可叠加周期表现图表,使所有周期都从第 0 天开始。
示例响应(节选):
[
{ "cycle": 1, "start_date": "2009-01-03", "end_date": "2012-11-28", "duration_days": 1426 },
{ "cycle": 2, "start_date": "2012-11-28", "end_date": "2016-07-09", "duration_days": 1319 },
{ "cycle": 3, "start_date": "2016-07-09", "end_date": "2020-05-11", "duration_days": 1402 },
{ "cycle": 4, "start_date": "2020-05-11", "end_date": "2024-04-20", "duration_days": 1441 },
{ "cycle": 5, "start_date": "2024-04-20", "end_date": null, "duration_days": null }
]
render_chart
取决于指标
将比特币链上分析图表渲染为 PNG 图像或 SVG 矢量图。在对话中内联返回图像。支持单一指标、多个指标、模板以及完全自定义。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
metric | string | — | 单一指标 ID(例如 "price"、"lth_supply") |
metrics | array | — | 多个指标,以字符串或配置对象形式提供 |
template | string | — | 图表模板(例如 "mvrv_ratio"、"holder_supply") |
days | integer | 365 | 历史天数(7–3,650) |
start_date | string | — | 起始日期(YYYY-MM-DD) |
end_date | string | — | 结束日期(YYYY-MM-DD) |
overlay | "price" | — | 添加 BTC 价格叠加层 |
theme | "light" / "dark" | "light" | 配色主题 |
width | integer | 1200 | 图像宽度(像素) |
height | integer | 600 | 图像高度(像素) |
title | string | 自动 | 图表标题 |
style | "line" / "area" / "bar" | 自动 | 默认图表样式 |
scale | "linear" / "log" | "linear" | Y 轴刻度 |
y_axes | array | — | 带垂直区间的自定义 Y 轴。每个对象:{ id, side, scale?, format?, range?, domain_min?, domain_max?, no_padding? }。参见 Snapshot API — 自定义 Y 轴。 |
x_axis | "date" / "day_offset" | "date" | X 轴模式。对于周期表现叠加图使用 "day_offset"。要求所有 metrics 都来自同一 cycle_ath_*、cycle_low_* 或 cycle_halving_* 系列。 |
heatmap_id | "cost-basis-distribution" | — | 渲染热力图而非折线图。与 metric / metrics / template 互斥。参见热力图渲染。 |
heatmap_period | "3m" / "6m" / "1y" / "2y" / "3y" / "5y" / "all" | "1y" | 热力图分箱的时间窗口。 |
heatmap_color_scale | "viridis" / "plasma" / "inferno" / "magma" / "cividis" | "viridis" | 热力图单元格的配色方案。 |
heatmap_y_scale | "linear" / "log" | "linear" | 热力图价格分箱的 Y 轴刻度。 |
params | object | — | 用于带参数指标的单次调用参数(例如 { exchange: "binance" }、{ ticker: "IBIT" })。当指标的 params_schema 声明了必填字段时为必需。 |
format | "png" / "svg" / "json" | "png" | 输出格式。"png" 返回栅格图像,"svg" 返回可缩放矢量图(适合嵌入幻灯片或打印),"json" 仅返回图表元数据(不渲染)。 |
使用场景: 直接在对话中可视化任意指标。智能体会返回内联显示的图表图像——无需打开浏览器或仪表板。
示例调用:
render_chart({ metric: "price" })
render_chart({ template: "mvrv_ratio", days: 730 })
render_chart({ metrics: ["lth_supply", "sth_supply"], style: "area", days: 730 })
render_chart({ metric: "funding_binance" })
render_chart({ metrics: [{ id: "funding_binance", params: { exchange: "binance" } }] })
render_chart({ metrics: ["cycle_ath_1","cycle_ath_2","cycle_ath_3","cycle_ath_4","cycle_ath_5"], x_axis: "day_offset", scale: "log" })
render_chart({ heatmap_id: "cost-basis-distribution", heatmap_period: "1y", theme: "dark" })
render_chart({ template: "mvrv_ratio", format: "svg" }) // vector output
部分指标需要参数(如 exchange 或 ticker)。当使用配置对象形式的 metrics 数组时,请从指标定义中包含 params。
有关图表渲染选项的完整文档,请参阅 Snapshot API。
使用场景与示例提示词
以下是连接 Blocklens MCP 服务器后,你可以提供给 AI 智能体的具体提示词。
市场估值分析
“比特币当前是否被高估?查看 MVRV 比率,并将 LTH 与 STH 的 Realized Price 同当前现货价格对比。”
智能体会调用 get_holder_valuation 和 get_prices,然后综合这些数据来评估当前市场价值高于还是低于整体成本基础。
HODL Waves 研究
“向我展示过去一年中各年龄 cohort 的供应分布如何变化。长期持有者是在积累还是在派发?”
智能体会以 days: 365 为多个 cohort 调用 get_cohort_metrics,然后分析每个年龄区间的趋势,以识别积累与派发模式。
每周链上报告
“生成一份每周比特币链上健康报告,涵盖价格走势、供应动态、持有者盈利情况以及 MVRV。”
智能体会调用 get_latest_metrics 获取快照,然后深入 get_prices、get_holder_supply、get_holder_valuation 和 get_holder_profit 以获取 7 天趋势,生成结构化摘要。
周期阶段识别
“Realized Cap 趋势对当前市场阶段有何提示?将 Realized Cap 增长率与前几个月对比。”
智能体会以更长的时间窗口调用 get_holder_valuation,并分析 Realized Cap 的走势,以判断我们处于积累、拉升、派发还是下跌阶段。
投降抛售检测
“检查过去 30 天内 STH SOPR 是否跌破 1——这表明短期持有者在亏损卖出。”
智能体会以 days: 30 调用 get_holder_profit,并检查 STH SOPR 数值,以标记投降抛售事件。
访问层级
| 层级 | MCP 访问 | 历史数据 | 指标 | 每日请求数 |
|---|---|---|---|---|
| Demo(无密钥) | 是 | 60 天 | 基础(grade 0) | 无限制 |
| Pro($50/月) | 是 | 无限制 | 全部(grade 0–1) | 10,000 |
| Enterprise($900/月) | 是 | 无限制 | 全部(grade 0–2) | 100,000 |
MCP 服务器适用于所有层级。演示模式是订阅前探索这些工具的绝佳方式。获取 API 密钥以解锁完整访问。
获取你的 API 密钥
访问 blocklens.co/api-mcp 创建 API 密钥,并查看你的订阅层级和用量。
资源
- 远程 MCP 端点: mcp.blocklens.co
- npm 包: blocklens-mcp-server
- 源代码: GitHub
- llms.txt: docs.blocklens.co/llms.txt
- AI 插件清单: docs.blocklens.co/.well-known/ai-plugin.json
- Snapshot API 文档: Chart Snapshot API
- API 参考: 交互式 API 文档
- 获取 API 密钥: blocklens.co/api-mcp
- MCP 协议: modelcontextprotocol.io