使用说明
加密MCP服务器
一个轻量级的MCP兼容服务器,使用Python和FastAPI构建,用于使用CCXT(带模拟回退)获取实时和历史加密货币市场数据。 包括缓存、错误处理、测试和用于评估的干净抽象。
🚀 特性
-
HTTP端点
/health–服务器状态/tick?symbol=BTC/USDT–最新市场价格/historical?symbol=BTC/USDT&limit=50–OHLCV历史数据
-
WebSocket端点
/ws–实时价格流(通过JSON订阅)
-
适配器
CCXTAdapter–使用公共交换端点(不需要API密钥)MockAdapter–当CCXT不可用时回退
-
其他功能
- 内存中TTL缓存
- 简单的错误处理
- 干净、模块化的架构
- 带pytest的完整测试套件
⚙️ 安装和设置
1.创建虚拟环境并安装依赖项
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e .
可选(如果使用紫外线):
pip install uv
uv pip install -e .
2.在本地运行服务器
uvicorn crypto_mcp.server:app --reload
📡 API示例
健康检查
GET http://localhost:8000/health
最新价格
GET http://localhost:8000/tick?symbol=BTC/USDT
历史OHLCV数据
GET http://localhost:8000/historical?symbol=BTC/USDT&limit=50
🔗 使用真实交易所(CCXT)
安装ccxt:
pip install ccxt
公开市场数据(无需API密钥)
您可以获取:
- 票务
- OHLCV
- 订单簿
使用公共、未经身份验证的端点。
可选:专用终结点的API密钥
export BINANCE_APIKEY="your_key"
export BINANCE_SECRET="your_secret"
支持的交换: 比恩斯、克拉肯、coinbasepro、bybit、bitfinex
测试CCXT适配器:
pytest tests/test_ccxt_adapter.py
🧪 运行测试
pytest -q
📝 假设和注意事项
这是为实习任务设计的最小演示。 在生产系统中,您将:
- 添加适当的适配器配置和密钥管理
- 对汇率限制使用重试/回退处理
- 使用分布式缓存(Redis)进行数据共享
- 添加沙箱交换的集成测试
- 实施结构化日志记录和监控
📄 许可证
该项目在MIT许可证下发布。 有关详细信息,请参阅LICENSE文件。