加密货币数据服务

一个完全兼容MCP协议的加密货币数据服务器,提供多种加密货币市场数据和工具,适用于金融分析和投资决策。

  • by desk3
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 desk3/cryptocurrency-mcp-server

使用说明

Desk3 MCP 服务器

完全兼容 MCP(模型上下文协议) Desk3加密数据服务器,支持Dify、Claude、Notion MCP等客户端。

主要特点

  • 实现了所有Desk3加密数据端点作为MCP资源和工具
  • 支持HTTP、SSE和JSON-RPC 2.0接口
  • 一键启动,使用 uv run desk3_service
  • Docker 支持

资源

服务器提供了以下资源:

  • desk3://gas/suggest
    EIP1559 燃气建议(获取 EIP1559 燃气建议,需提供 chainid 查询参数)
  • desk3://market/exchangeRate
    Fiat Exchange Rate List(法币汇率列表)翻译成中文为:“法定货币汇率列表”。
  • desk3://market/mini/24hr
    24小时迷你行情(24小时币价迷你行情,支持symbol参数,如ETHUSDT)
  • desk3://market/price
    代币价格信息(获取实时代币价格,支持symbol参数,如ETHUSDT、BTCUSDT)
  • desk3://market/circulating
    代币流通量与总供应量(获取代币的流通量和总供应量,symbol 参数必传,格式 BTC -> BTCUSDT, ETH -> ETHUSDT)
  • desk3://market/fear-greed
    加密货币贪婪与恐惧指数(分析市场情绪,助力明智投资决策,提供实时与历史数据支持)
  • desk3://market/btc/trend
    BTC 趋势(3个月)(获取近3个月BTC趋势图表,格式:[[日期, 当日价格, 活跃地址数, 新增地址数, 发生交易地址数]])
  • desk3://market/eth/trend
    ETH 趋势(3 个月)(获取近 3 个月 ETH 趋势图表,格式:[[日期, 当日价格, 活跃地址数, 新增地址数]])
  • desk3://market/altcoin/season
    Altcoin Season Index(山寨币季节指数,基于前100名山寨币与比特币90天的表现,实时判断市场是否处于山寨币季节,包含详细图表与指标)
  • desk3://market/bitcoin/dominance
    比特币主导率(衡量比特币在整个加密货币市场市值占比)
  • desk3://market/cycle/indicators
    加密货币市场周期顶部指标(返回字段:指标/当前/24小时%参考价格/已触发)
  • desk3://market/pi-cycle-top
    BTC Pi周期顶部指标(利用111日移动平均线和2倍350日移动平均线识别比特币市场顶部)
  • desk3://market/rainbow
    比特币彩虹价格图(使用对数增长曲线和色带说明市场情绪,识别潜在买入或卖出区域)
  • desk3://market/puell-multiple
    Puell Multiple(皮勒乘数计算,通过每日发行量除以其365天平均值来评估比特币矿工收入,反映市场挖矿压力)
  • desk3://market/cycles
    简易指标:Puell多重状态/Pi周期顶部状态/加密货币市场周期顶部指标
  • desk3://market/calendar
    经济日历(显示重要市场和政策事件,支持日期参数格式为YYYY-MM,如2025-09,不传参则默认获取当前月份)

工具

  • get_suggest_gas
    获取 EIP1559 估算 Gas 信息(需要 chainid)
    • 链ID区块链网络的链ID(例如,以太坊主网为1,Polygon为137)
  • get_exchange_rate
    获取法币汇率列表
  • get_mini_24hr
    获取24小时迷你行情信息,支持symbol参数
    • 符号交易对符号,格式如BTCUSDT、ETHUSDT等。留空以获取所有符号
  • get_token_price
    获取实时代币价格信息,支持symbol参数
    • 符号交易对符号,格式如BTCUSDT、ETHUSDT等。留空以获取所有符号
  • get_token_circulating_supply
    获取代币流通量与总供应量信息
    • 符号交易对符号(必填),格式为BTC -> BTCUSDT,ETH -> ETHUSDT
  • get_fear_greed_index
    了解我们的贪婪与恐惧指数……(分析市场情绪,助力明智投资决策,提供实时与历史数据支持)
  • get_btc_trend
    获取近3个月BTC趋势图表。..)
  • get_eth_trend
    获取过去三个月的ETH趋势图表。..)
  • get_altcoin_season_index
    “Altcoin Season Index”页面提供实时洞察……(山寨币季节指数)..)
  • get_bitcoin_dominance
    比特币(BTC)主导率是一个指标……..)
  • get_cycle_indicators
    获取加密货币市场周期顶部指标,返回字段:指标/当前/24小时%/参考价格/已触发
  • get_pi_cycle_top
    Pi周期顶部指标利用111日移动平均线(DMA)和2倍350日移动平均线(DMA)来识别比特币市场的顶部。
  • get_rainbow_chart
    比特币彩虹图采用带有色带的对数增长曲线来阐述市场情绪,并突出显示潜在的买入或卖出区域。
  • get_puell_multiple
    Puell 多重指标通过将每日发行量(美元)除以 365 天的平均值来评估比特币矿工的收入。
  • get_cycles
    比特币四年周期是否存在?揭秘加密货币市场周期指标,助您把握加密货币牛市巅峰
  • get_market_calendar
    获取指定月份的经济日历。显示重要市场或政治事件。参数:date(可选),格式为YYYY-MM(例如,2025-09)。如果未提供,则返回当前月份的数据。

配置

- 需要有效的 DESK3_API_KEY (设置在您的环境中或 .env 文件)。~~

快速入门

先决条件

  • Python 3.12或更高版本
  • 紫外线 包管理器

安装并运行

uv sync
uv run desk3_service

Docker

docker build -t desk3-service .
docker run -e -p 8100:8100 desk3-service

启动模式

此项目支持两种启动模式:

1. HTTP/SSE 服务器(推荐)

在0.0.0.0:8100/sse(即http://127.0.0.1:8100/sse)启动一个Starlette HTTP/SSE服务器,用于与Dify、Claude、Notion MCP等配合使用。

# Recommended: run directly with Python
PYTHONPATH=src python -m desk3_service.http_server
# Or run the Starlette MCP server variant
PYTHONPATH=src python -m desk3_service.starlette_mcp_server

或者,如果你想使用 uv/pyproject.toml 脚本,请为 http_server 或 starlette_mcp_server 添加一个脚本条目。

2. MCP Studio 服务器(高级版)

启动一个纯MCP标准控制台服务器,用于CLI或高级集成(非HTTP/SSE):

uv run desk3_service

如果您希望在标准输入/输出(stdin/stdout)上使用MCP,则需要此模式(不推荐大多数用户使用)。

故障排除

  • 确保 uv 已安装并且在你的PATH环境变量中。 - 确保您的 DESK3_API_KEY 是有效的。再见 - 如果使用 Docker,请通过以下方式设置 API 密钥: -e DESK3_API_KEY=....~~