使用说明
加密MCP服务器(Python版)
这个项目提供了一个通过标准输入输出(stdio)实现的简单MCP服务器,该服务器暴露了一个工具,可以通过CoinGecko API获取加密货币价格。
特点/特性
- 使用MCP stdio服务器
mcp.server.fastmcp.FastMCP - 异步HTTP客户端
httpx) 带重试/退避机制 - 工具:
get_crypto_prices(coin_ids: List[str], vs_currencies?: List[str])
要求
- Python 3.10及以上版本
设置
cd crypto-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
运行MCP服务器(标准输入输出)
你可以直接运行它(便于快速测试):
python main.py
这通过标准输入输出启动了MCP服务器。它设计为由MCP兼容的客户端(例如,集成开发环境或代理主机)来启动。
快速进行测试,使用 stdio (手册)
MCP通过stdio上的JSON-RPC 2.0协议进行操作。对于手动冒烟测试,您可以使用诸如……之类的工具 jq 以及管道,或者使用MCP客户端。推荐的方式是使用一个配置了MCP的客户端,比如Cursor/Claude。
光标MCP配置(示例)
在 Cursor 中,添加一个类似以下的服务器配置条目:
{
"mcpServers": {
"crypto-mcp": {
"command": "python",
"args": ["/path to main.py"],
"env": {
}
}
}
}
添加完成后,重启MCP主机。该工具 get_crypto_prices 应该是可用的。示例工具调用:
{
"tool": "get_crypto_prices",
"arguments": {"coin_ids": ["bitcoin", "ethereum"], "vs_currencies": ["usd", "eur"]}
}
注释
- CoinGecko API 有速率限制。客户端具有简单的重试机制,采用指数退避策略。
- 如果您需要额外的字段,请切换到其他CoinGecko的端点或丰富响应内容
coingecko_client.py。 - HTTP/2 可选依赖:此项目默认使用 HTTP/1.1,因此无需额外依赖。如果您偏好使用 HTTP/2,请安装
httpx带有HTTP/2额外功能,并将客户端切换为httpx.AsyncClient(http2=True)在coingecko_client.py:如果你看到类似“使用 http2=True,但未安装 'h2' 包”的错误,请安装上述额外组件或将客户端回退到默认设置pip install "httpx[http2]"httpx.AsyncClient()。
