项目简介

这个项目是一个基于Model Context Protocol (MCP) 实现的服务器端应用,专门用于提供加密货币相关的上下文信息和功能。它通过集成CoinGecko API,将获取实时价格、市场数据、热门币种列表等功能封装为标准的MCP工具,并通过Prompt模板向大语言模型(LLM)客户端提供服务。服务器支持通过SSE等协议与客户端通信。

主要功能点

  • 获取加密货币信息: 通过内嵌的工具调用CoinGecko API,查询各种加密货币的实时价格、历史市场数据、交易量、市值等。
  • 提供热门币种列表: 获取当前CoinGecko平台上 trending 的加密货币列表。
  • 标准化接口: 将上述功能通过MCP协议暴露给LLM或其他客户端,提供结构化的数据和可调用的函数。
  • 支持Prompt交互: 定义了与工具对应的Prompt模板,方便LLM理解和生成调用请求。
  • 会话管理和能力声明: 作为MCP服务器,负责维护客户端会话状态并声明自身提供的工具和Prompt能力。

安装步骤

  1. 环境准备: 确保已安装 Python 3.9 或更高版本以及 pip。
  2. 安装依赖: 创建并激活Python虚拟环境,然后运行以下命令安装所需的库:
    pip install starlette uvicorn httpx mcp-server python-dotenv
  3. 配置API Key (可选): 在项目根目录创建名为 '.env' 的文件,并添加 'COINGECKO_API_KEY=你的API密钥'。免费 tier 通常不需要API Key,但提供 Key 可以提高请求限制。也可以在此文件中设置服务器监听端口 'PORT=你想要的端口号'。
  4. 保存代码: 将服务器代码保存为 'server.py' 文件。
  5. 启动服务器: 在终端中运行以下命令启动服务器(默认监听端口为 8000):
    python server.py --port 8000
    您也可以使用 '--host' 参数指定监听地址,使用 '--debug' 参数启用调试模式。

服务器配置 (供MCP客户端参考)

MCP客户端需要配置如何启动并连接到此服务器。通常,MCP客户端会通过一个 JSON 格式的配置来了解服务器信息。对于此项目,主要的启动信息如下:

  • 服务器名称: 'crypto-mcp-server'
  • 启动命令 ('command'): 'python'
  • 启动参数 ('args'): '["path/to/server.py", "--port", "端口号"]'。您需要将 '"path/to/server.py"' 替换为您实际保存 'server.py' 文件的路径,并将 '"端口号"' 替换为您希望服务器监听的端口(与启动命令中的 '--port' 参数一致)。
  • 传输协议 ('transport'): 此服务器支持 SSE 协议。客户端需要配置连接的URL,例如如果服务器运行在本地的 8000 端口,URL 通常是 'http://localhost:8000/sse'。

注意: 以上是供 MCP 客户端配置服务器时参考的信息说明,您作为用户无需手动编写或修改此 JSON 配置。您的 MCP 客户端应用会使用这些信息来启动并连接到服务器。

基本使用方法

服务器成功启动后,兼容 MCP 协议的 LLM 客户端或其他 MCP 客户端应用即可通过配置的连接方式(如 SSE URL)连接到此服务器。客户端可以通过标准的 JSON-RPC 请求发现服务器提供的工具(如 'get_price', 'get_market_data')和 Prompt 模板,然后根据 Prompt 模板的指引向服务器发送执行请求,并提供必要的参数(如要查询的币种 ID 或符号),服务器将调用 CoinGecko API 获取数据并返回给客户端。

信息

分类

网页与API