加密货币价格服务

一个基于FastAPI和CCXT的微型加密货币价格服务器,提供实时价格、历史OHLCV数据、基本缓存层和全面测试。

  • by Hit246
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Hit246/crypto-mcp-server

使用说明

加密MCP服务器

一个最小的、结构良好的基于Python的微加密货币价格(MCP)服务器 快速API 和 仓储管理系统. 该存储库包含用于获取实时价格、历史OHLCV数据、基本缓存层和全面测试的端点。

你得到了什么

  • 带路由的FastAPI服务器:
    • GET /price?symbol=BTC/USDT --实时价格(缓存)
    • GET /historical?symbol=BTC/USDT&timeframe=1h&limit=50 --OHLCV数据
    • GET /status --健康检查
    • GET /list --样本支持市场
  • src/ 模块化结构代码
  • tests/ 通过pytest测试
  • requirements.txt 对于依赖关系

设置(本地)

  1. 创建一个venv:
python -m venv venv
source venv/bin/activate    # macOS / Linux
venv\Scripts\activate     # Windows
  1. 安装依赖项:
pip install -r requirements.txt
  1. 运行服务器:
uvicorn src.server:app --reload --port 8000
  1. 请求示例:
GET http://localhost:8000/price?symbol=BTC/USDT
GET http://localhost:8000/historical?symbol=BTC/USDT&timeframe=1h&limit=50
GET http://localhost:8000/status
GET http://localhost:8000/list

测试

运行:

pytest -q

假设和注意事项

  • 用途 ccxt 默认为币安。如果你需要另一个交换,改变 ExchangeClient 在 src/api/ccxt_client.py.
  • 带TTL的简单内存缓存——不适用于生产多工作器使用。
  • 通过直接获取实现“实时”;生产系统将使用websockets或交换流(如果可用)。
  • 速率限制:币安有请求限制;这个演示使用缓存来减少点击。