加密货币数据服务

一个基于Python FastAPI的服务器,提供加密货币数据获取工具端点和WebSocket流,适用于加密货币数据分析和交易开发。

  • by kanishkmishra-afk
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kanishkmishra-afk/MCP-Crypto-Server-CCXT-

使用说明

MCP加密服务器

这是什么

一个小型Python FastAPI服务器,它公开了MCP风格的工具端点和一个 WebSocket流使用CCXT获取加密货币数据。专为 评估:可靠性、测试覆盖率和清晰度。

设置

  1. 创建一个Python 3.10+虚拟环境
  2. 安装要求: pip install -r requirements.txt
  3. 在本地运行服务器: uvicorn server:app --reload --port 8000

端点

  • POST/mcp/工具
  • JSON正文:{“action”:“get_ticker”,“params”: {“交易所”:“二进制”,“符号”:“BTC/USDT”}}
  • 操作:get_ticker | get_ohlcv
  • WebSocket/ws/流
  • 发送JSON:{“op”:“订阅”,“符号”:“BTC/USDT”}
  • 服务器将推送 {"type":"ticker","symbol":...,"data":...} 消息 定期

测试

运行: pytest-q

设计说明(面向JavaScript开发人员)

  • 快速API ~ Express:类似的路由模型。使用异步def处理程序 而不是 async (req,res) => {}.
  • 仓储管理系统:JS和Python之间的API形状相同。在JS中,你调用 await exchange.fetchTicker(symbol);在Python中 await exchange.fetch_ticker(symbol) (蛇病例)。
  • 缓存:这里的TTL缓存类似于 node-cache 或 lru-cache 在Node中。
  • 双向通信:FastAPI使用 WebSocket 对象;在Node中,您将使用 ws 或 插座。IO。

假设

  • 默认交换: binance (公共终结点不需要API密钥)
  • 符号是CCXT风格的(例如。, BTC/USDT)
  • 内存中的小缓存可用于分配。用于生产,使用 Redis。