加密货币市场数据服务

一个基于Python/FastAPI的加密货币市场数据控制平面服务器,提供实时和历史市场数据查询及WebSocket推送功能。

  • by Nitish78004
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Nitish78004/MCP-server

使用说明

MCP服务器——Python/FastAPI(初学者)

概述

该项目实现了一个小型市场数据控制平面(MCP)服务器:

  • 使用CCXT获取加密货币市场行情(默认交易所:币安)
  • 在后台查询并缓存投票信息
  • 公开REST端点:
    • GET/ping
    • GET/tickers(缓存的股票代码)
    • GET/ticker/{符号}
    • GET/历史/{符号}?时间范围=1m,限制=200
  • 通过WebSocket/ws实时更新(服务器推送轮询的股票)

设置

  1. 创建virtualenv:
  2. 复制.env.example=>.env并设置COINMARKETCAP_API_KEY(如果需要CMC调用)。
  3. 运行服务器:
  4. API文件:http://127.0.0.1:8000/docs

注释和假设

  • CCXT用于交换数据。符号应采用CCXT格式(例如BTC/USDT)。
  • 实时更新基于轮询(可通过POLL_INTERVAL配置)。对于生产环境,如果可用,请集成exchange websockets。
  • 为了简单起见,使用内存中的TTL缓存;用Redis代替多进程部署。
  • 为边缘案例和历史查询添加更多测试覆盖率。

提交

  • 将代码上传到GitHub,并附上描述架构、依赖关系、假设和测试说明的README。
  • 包括requirements.txt和sample.env。