MCP服务器-加密+宏工具v3
用于加密货币金融和宏观经济数据的统一MCP服务器,提供8个核心工具和一个全面的链上分析套件。
📋 特性
✅ 已实施的工具
核心工具:
crypto_overview-全面的代币概述(基本面、市场指标、供应、持有者、社会、行业、开发活动)market_microstructure-市场数据和微观结构分析derivatives_hub-统一衍生品数据访问crypto_news_search-加密新闻搜索web_research_search-网络和研究搜索(新闻、报告、并行多源查询)grok_social_trace-通过Grok追踪X/Twitter社交媒体来源(来源账户、推广可能性、基于深度搜索的解释)macro_hub-宏观指标、美联储数据、指数和仪表板sentiment_aggregator-多源情绪聚合(电报、推特/Grok、新闻)draw_chart-图表可视化(基于绘图)
市场拓展:
etf_flows_holdings-ETF流量和持有量快照(免费第一来源)cex_netflow_reserves-CEX保护区,配备可选的鲸鱼转移监测功能lending_liquidation_risk-带有可选清算数据的贷款收益率stablecoin_health-稳定币供应和链分销options_vol_skew-期权波动/偏斜快照(Deribit/OKX/Binance)blockspace_mev-MEV Boost和gas oracle统计数据hyperliquid_market-超流动市场数据(资金、OI、订单簿、交易)price_history-历史K线数据,包括指标和支撑/阻力sector_peers-行业与市场指标和TVL的比较
链上分析套件:
onchain_tvl_fees-协议TVL和费用/收入(DefiLama)onchain_stablecoins_cex-稳定币指标+CEX储备(DefiLlama)onchain_bridge_volumes-跨链桥体积(24h/7d/30d,DefiLama)onchain_dex_liquidity-Uniswap v3流动性和池/分时分布(图表)onchain_governance-治理建议(快照+统计)onchain_whale_transfers-大型转移监测(鲸鱼警报)onchain_token_unlocks-令牌解锁时间表onchain_activity-链上活动指标(Etherscan)onchain_contract_risk-合同风险分析(GoPlus/Slither)onchain_analytics- 新 链上分析(CryptoQuant):MVRV、SOPR、活动地址、交易流、矿工数据、融资率
原版onchain_hub已被弃用,取而代之的是粒度onchain_*上面的工具。
🏗️ 建筑
- 统一数据源注册表:可配置的回退链,具有自动降级功能
- 智能缓存:Redis支持的缓存,具有字段级TTL策略
- 冲突检测:基于阈值共识的跨源验证
- 完全可追溯性:完整的SourceMeta记录(提供者、端点、时间戳、TTL)
- 异步优先:完全异步设计,实现高并发性能
🚀 快速开始
先决条件
- Docker&Docker编写
- API密钥(请参阅下面的配置)
安装
- 克隆仓库
git clone
cd crypto_mcps- 配置环境
# Copy environment template
cp docker/.env.example docker/.env
# Edit .env and add your API keys
vim docker/.env- 配置API密钥
编辑 docker/.env 并至少添加:
COINGECKO_API_KEY(免费套餐可选)COINMARKETCAP_API_KEY(免费版可用)ETHERSCAN_API_KEY(持有人数据)GITHUB_TOKEN(用于开发活动,可选)TELEGRAM_SCRAPER_URL(用于crypto_news_search工具,可选)- 根据需要为链上工具添加额外的密钥
运行服务器
cd docker
# Start production MCP HTTP server
make start
# Server will be available at:
# - MCP HTTP: http://localhost:8001
# - Health: http://localhost:8001/health
# - Tools: http://localhost:8001/tools其他命令:
make stop # Stop the server
make restart # Restart the server
make logs # View server logs验证
# Check health
curl http://localhost:8001/health
# List available tools (lightweight)
curl http://localhost:8001/tools
# Get executable tool registry (schemas, examples, capabilities, freshness)
curl http://localhost:8001/tools/registry
# Get a single tool definition (GET). Use POST on the same path to execute the tool.
curl http://localhost:8001/tools/crypto_overview🔌 HTTP工具注册表API
HTTP服务器为LLM/代理编排公开动态工具元数据。 所有注册表端点仅返回以下工具 由...启用 config/tools.yaml.
GET /tools/registry
返回所有已启用工具的可执行注册表,包括:
input_schema:Pydantic输入模型中的JSON模式。output_schema:Pydantic输出模型中的JSON模式。examples:规范调用和参数模式。capabilities:用于规划的语义标签。freshness:TTL提示和as_of_utc语义。limitations/cost_hints:提供者/密钥/延迟注释。
GET /tools/{name}
返回单个工具注册表项。\ 例子:
curl http://localhost:8001/tools/derivatives_hubGET /tools
轻量级发现列表(name/description/endpoint 仅)。
🧪 测试
运行测试
cd docker
# Build test containers
make build
# Run all tests (unit + integration)
make test
# Run specific test suites
make test-unit # Unit tests only
make test-integration # Integration tests only
make test-live-free # Live tests with free APIs (no keys required)
make test-live # Live tests with real API keys
# Run tests with coverage
make test-cov
# Re-run failed tests
make test-failed
# Run tests matching a pattern
make test-pattern PATTERN=crypto公共应用接口模块
# View test logs
make logs
# Open shell in test container
make shell
# Connect to test Redis
make redis-cli
# Clean up test containers
make clean📁 项目结构
crypto_mcps/
├── src/
│ ├── server/ # MCP server implementation
│ ├── core/ # Core abstractions (base classes, Registry, Models)
│ ├── tools/ # MCP tool implementations
│ ├── data_sources/ # Data source adapters
│ ├── middleware/ # Caching, rate limiting, circuit breakers
│ └── utils/ # Utility functions
├── config/ # Configuration files (TTL policies, data sources)
├── tests/ # Test suite
├── docker/ # Docker configuration & Makefile
│ ├── Dockerfile
│ ├── docker-compose.yml # Production
│ ├── docker-compose.test.yml # Testing
│ ├── Makefile
│ └── .env # Environment variables (create from .env.example)
└── scripts/ # Helper scripts📚 配置
config/ttl-policys.yaml
为每个工具定义字段级缓存TTL策略。
config/data_sources.yaml
定义数据源优先级、回退链和冲突阈值。
config/tools.yaml
为MCP服务器定义每个工具的启用/禁用开关。
- 格式:
crypto_overview:
enabled: true
market_microstructure:
enabled: true
# ...
grok_social_trace:
enabled: false- 如果
config/tools.yaml缺少或工具未列出,该工具将被视为 默认启用. - 新
grok_social_trace工具是 默认禁用 并且必须通过设置明确启用:
grok_social_trace:
enabled: truedocker/.env
环境变量和API密钥配置。
- 对于
grok_social_trace工具,则必须配置XAI API密钥:
- 集 XAI_API_KEY=... 在您的环境中或 docker/.env 文件 - stdio和HTTP服务器都使用此环境变量
- 对于
crypto_news_search工具,您必须配置Telegram Scraper URL:
- 集 TELEGRAM_SCRAPER_URL=... 在您的环境中或 docker/.env 文件 - 指向可访问的加密新闻搜索后端
🔧 工具使用示例
加密概述
请求:
{
"tool": "crypto_overview",
"arguments": {
"symbol": "BTC",
"include_fields": ["basic", "market", "supply", "holders"]
}
}答复:
{
"symbol": "BTC",
"data": {
"basic": {...},
"market": {...},
"supply": {...},
"holders": {...}
},
"source_meta": [
{
"provider": "coingecko",
"endpoint": "/coins/bitcoin",
"as_of_utc": "2025-12-06T12:00:00Z",
"ttl_seconds": 60,
"degraded": false
}
],
"conflicts": [],
"warnings": []
}📄 许可证
有关详细信息,请参阅LICENSE文件。
🐳 Docker服务
生产环境:
- MCP HTTP服务器:
http://localhost:8001 - Redis:
localhost:6380
测试环境:
- 单独的隔离容器用于测试
- 自动清理
make clean
