加密货币市场数据服务器

一个基于Python和FastAPI的MCP服务器,提供实时和历史加密货币市场数据,支持数据查询、实时更新和历史记录功能。

  • by Priya-1514
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Priya-1514/MCP_Server

使用说明

MCP加密市场数据服务器

该项目是一个基于Python的MCP服务器,提供实时和历史加密货币市场数据。服务器是使用FastAPI构建的,它通过CCXT从主要交易所获取数据。这个项目的目标是了解MCP服务器是如何工作的,如何与加密API交互,以及如何构建一个干净、模块化的Python后端。

*我为什么建造它

该任务需要一个具有以下功能的小型MCP服务器:

用于获取数据的端点

支持实时更新

历史查询

缓存

结构化代码

测试覆盖率

我保持了代码的简单性,这样任何人都可以轻松阅读,同时保持结构的整洁。

*已实现的功能

实时价格查询

历史OHLCV(1小时蜡烛,过去24小时)

轻量级缓存

错误处理

使用pytest进行测试

清理文件夹结构

**项目结构

mcp服务器/ ├─ app/ │ ├─ main.py │ ├─ services/ccxt_client.py │ ├─ cache.py │ ├─ models.py │ └─ 例外情况.py ├─ tests/test_api.py ├─ 需求.txt └─ README.md

***使用的技术

快速API

仓储管理系统

Pytest

Uvicorn

python

**端点

  1. 根 得到/ 答复: {“消息”:“加密MCP服务器正在运行”}

  2. 最新价格 GET/价格/{符号} 示例:/价格/BTC

  3. 历史OHLCV GET/历史/{符号} 示例:/历史/ETH

***如何跑步

  1. 安装依赖项 pip安装-r要求.txt

  2. 启动服务器 uvicorn app.main:应用程序--reload

  3. 测试API http://127.0.0.1:8000/price/BTC http://127.0.0.1:8000/history/ETH

  4. 运行测试 pytest

***假设

Binance是默认交易所。

假设对USDT交易的符号。

缓存过期时间:10秒。

历史时间:1小时。

***可能的改进

支持多个交换

WebSocket流媒体

Redis缓存

更详细的测试

环境变量

结论

该项目通过清晰的Python代码、实时加密数据、历史查询、缓存、结构化布局和测试覆盖率满足MCP分配要求。