加密数据MCP服务器
本项目是HarshNidhi Ventures全栈开发实习任务的提交。
它是一个基于Python的MCP(模型上下文协议)服务器,旨在为连接的LLM提供实时和历史加密货币数据。服务器使用 ccxt 库从币安交易所获取实时数据。
______________________________________________________________________
🚀 核心功能
- MCP服务器: 使用官方
mcp-server-sdk作为LLM的工具。 - 实时数据工具: 包括a
get_current_price(symbol)获取交易对的最新价格、买卖和24小时统计数据的工具。 - 历史数据工具: 包括a
get_historical_price(symbol, timeframe, limit)用于获取历史OHLCV(开盘、高、低、收盘、成交量)数据的工具。 - 智能缓存: 这
get_current_price该工具缓存结果60秒,以提高性能并避免API速率限制问题。 - 稳健的错误处理: 优雅地处理无效符号、网络错误和错误的输入参数,返回用户友好的错误消息。
- 高测试覆盖率: 包括一个全面的测试套件(
test_main.py)与 16项通过测试 模拟所有外部API调用以进行安全可靠的测试。
______________________________________________________________________
🛠️ 使用的技术
- Python 3.11+ (与
asyncio) - mcp服务器sdk: 用于核心MCP服务器功能。
- ccxt: 用于连接到币安交易所并从中获取数据。
- pytest & pytest异步: 用于异步单元测试。
- unittest.mock: 用于在测试期间模拟外部API调用。
______________________________________________________________________
⚙️ 设置和安装
要运行此项目,您需要安装Python 3。
1.克隆存储库(或下载源代码):
# This step is for the reviewer
git clone [Your-GitHub-Repo-Link-Here]
cd [your-project-folder-name]