加密货币数据服务

基于Python的Model Context Protocol服务器,提供来自100多个交易所的实时和历史加密货币数据。

  • by Diya28-mehra
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Diya28-mehra/crypto_mcp_server

使用说明

加密货币MCP服务器

基于Python的模型上下文协议服务器,用于通过CCXT从100多个交易所获取实时和历史加密货币数据。

特性

  • 4个MCP工具:实时行情、历史OHLCV、市场列表、订单簿
  • 100+交易所:通过CCXT访问币安、Coinbase、Kraken等
  • 智能缓存:基于TTL的缓存以提高性能
  • 错误处理:自定义异常层次结构
  • 完整测试:全面的pytest覆盖率

设置

cd crypto-mcp-server
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

用法

运行服务器:

python -m crypto_mcp_server

运行测试:

pip install -r requirements-dev.txt
pytest tests/ -v

MCP检查员(可选)

您可以使用npm全局安装MCP检查器,并对包运行它。这对于检查MCP端点和有效载荷非常有用。

npm install -g @modelcontextprotocol/inspector
mcp-inspector python -m crypto_mcp_server

MCP工具

get_ticker

获取实时价格数据。

{"symbol": "BTC/USDT"}

get_ohlcv

获取历史烛台数据。

{"symbol": "BTC/USDT", "timeframe": "1d", "limit": 100}

获取_市场

列出所有可用市场。

{}

获取订单_预订

获取订单簿深度。

{"symbol": "BTC/USDT", "limit": 20}

配置

可选的 .env 文件:

CACHE_TTL=60
DEFAULT_EXCHANGE=binance
LOG_LEVEL=INFO

项目结构

crypto-mcp-server/
├── crypto_mcp_server/      # Core server
│   ├── server.py           # MCP implementation
│   ├── data_fetcher.py     # CCXT integration
│   ├── cache.py            # Caching layer
│   └── exceptions.py       # Error handling
├── tests/                  # Test suite
├── requirements.txt        # 3 dependencies
└── test_mcp_tools.py       # Integration test

依赖项

核心(3):

  • mcp-mcp服务器框架
  • ccxt-Exchange集成
  • python dotenv-配置

开发人员(2):

  • pytest-测试
  • pytest asyncio-异步测试

实施

  • 建筑:模块化设计,关注点分开
  • 异步/等待:完全异步支持
  • 缓存:内存中的TTL缓存
  • 测试:单元+集成测试

许可证

麻省理工学院