使用说明
加密MCP服务器
基于FastAPI的微服务,用于使用CCXT库获取实时和历史加密货币市场数据。
特性
- 实时票务数据:获取交易对的最新价格信息
- 历史OHLCV数据:使用可定制的时间框架检索烛台数据
- 交流信息:获取互联交易所的详细信息
- 市场列表:获取可用的交易对
- 错误处理:针对汇率问题和汇率限制的全面错误处理
设置
先决条件
- Python 3.8+
- 点
安装
- 克隆存储库:
git clone <repository-url>
cd crypto-mcp-server
- 安装依赖项:
pip install fastapi uvicorn ccxt pydantic pytest httpx
运行服务器
使用以下命令启动服务器:
uvicorn crypto_mcp_server:app --reload --port 8000
API文件将在以下网址提供:http://127.0.0.1:8000/docs
API终点
GET/api/v1/info
返回有关连接的交换机的信息。
GET/api/v1/markets
返回可用交易对列表。
GET/api/v1/ticker/{symbol}
获取某个交易品种的实时行情数据(例如BTC/USDT)。
GET/api/v1/ohlcv/{符号}
使用可选参数获取历史OHLCV数据:
timeframe:烛台间隔(1m、5m、15m、30m、1h、2h、4h、1d、1w、1m)limit:蜡烛数(1-1000,默认值100)since:开始时间戳(毫秒)
测试
使用以下工具运行测试:
pytest
配置
默认情况下,服务器配置为使用币安交易所。要更改交换,请修改 EXCHANGE_ID 在 crypto_mcp_server.py.
方法
此实现使用:
- 快速API:用于使用自动OpenAPI文档构建REST API
- 仓储管理系统:用于统一访问加密货币交易所
- 派丹蒂克:用于数据验证和序列化
- 异步/等待:用于非阻塞I/O操作
- 依赖注入:用于管理交换机连接
假设
- 默认交易所是币安(可以在代码中更改)
- 利率限制是一个好的API公民
- 初创公司加载市场以获得更快的后续请求
- 符号不区分大小写(内部转换为大写)
- 错误响应后面是HTTP状态代码和描述性消息
建筑
crypto_mcp_server.py:带端点的主FastAPI应用程序test_server.py:具有模拟功能的全面测试套件- 使用依赖注入进行交换管理
- CCXT操作的异步错误处理包装器
- 正确连接管理的启动/关闭事件