使用说明
🚀 加密MCP服务器
📌 概述
加密货币MCP服务器是一个与模型上下文协议(MCP)兼容的服务器,它使用ccxt提供实时和历史加密货币市场数据。 它公开了三个经过充分测试的工具:
get_ticker→ 实时价格和市场摘要
get_ohclv→ 历史烛台数据
stream_ticker→ 实时价格流(异步生成器)
该项目包括:
自定义错误处理
内存缓存
轻量级MCP服务器架构
完整的测试套件(pytest)
手动测试的本地客户端
✨ 特性
🔹 get_ticker
胎儿:
最后价格
高&低
基本体积
价格变动百分比
🔹 get_ohclv
取OHLCV蜡烛:
时间戳
打开
高
低
关闭
体积
🔹 stream_ticker
带有异步生成器的实时流式自动收报机,每N秒产生一次更新。
🧩 项目结构
加密mcp服务器/ │ ├── 服务器/ │ ├── main.py │ ├── mcp_server.py │ ├── cache.py │ ├── errors.py │ ├── 交换价格 │ └── 工具/ │ ├── get_ticker.py │ ├── get_ohclv.py │ └── stream_ticker.py │ ├── 测试/ │ ├── test_get_ticker.py │ ├── test_ohclv.py │ └── test_stream_ticker.py │ ├── client_test.py ├── README.md ├── 需求.txt :
🛠️ 技术栈
Python 3.10+
ccxt用于交换API
pytest用于测试
流媒体异步
MCP服务器协议风格
📦 安装
克隆https://github.com/yourusername/crypto-mcp-server cd加密mcp服务器 pip安装-r要求.txt
▶️ 运行MCP服务器
从服务器/目录:
python-m服务器主
您应该看到:
加密MCP服务器正在运行… 已注册的工具:get_ticker、get_ohclv、stream_ticker
🧪 运行测试
所有测试均在测试中/包括:
有效/无效符号
不支持的交换
API错误
流媒体行为
运行:
pytest-vv
📁 已实施的工具
🔹 get_ticker
手柄:
无效符号
不支持的交换
ccxt API异常
缓存响应20秒
🔹 get_ohclv
返回OHCLV历史蜡烛
验证时间框架和限制
引发自定义错误
🔹 stream_ticker
异步发生器
流式传输实时行情更新
使用asyncio.sleep()进行内部延迟
全面验证和错误处理
缓存层
cache.py实现了简单的内存TTL缓存:
保存(键、值、ttl)
get(键)
阻止额外的API调用
🧪 测试策略
单元测试(pytest)
每个工具都有:
成功测试
无效符号测试
无效交换测试
API失效试验
流媒体测试
使用asyncio.mark
模拟多个股票行情更新
检查发电机行为
🧪 无MCP CLI的本地测试
运行:
python客户端test.py
它打印:
get_ticker结果
get_ohclv蜡烛
3条流式股票行情更新
🔍 输出示例
---测试get_ticker--- {...}
---测试get_ohcv--- {...}
---测试stream_ticker--- {...}
📌 关键学习和亮点
设计全MCP风格的服务器
已实现异步流媒体工具
编写完整的测试套件
内置缓存+错误处理抽象
安全验证交换+符号输入
