使用说明

项目简介

'CoinGecko MCP Server' 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供加密货币相关的数据查询功能。它集成了 CoinGecko API,能够让大型语言模型(LLM)客户端通过标准化的 MCP 协议,便捷地获取各种加密货币的实时和历史市场数据。

主要功能点

  • 获取当前时间:提供服务器当前时间的工具函数。
  • 查询加密货币价格:允许 LLM 查询指定加密货币的当前价格,并支持指定目标货币单位。
  • 查询加密货币历史数据:支持查询加密货币在一定时间范围内的历史价格数据。
  • 获取加密货币详细信息:提供查询加密货币详细信息的工具,例如基本信息、市值、流通量等。
  • 获取热门币种:返回过去 24 小时内的热门加密货币列表。

所有功能均通过 MCP 协议的 Tool 机制暴露给客户端,客户端可以通过 JSON-RPC 调用这些工具来获取所需数据。

安装步骤

该项目无需安装步骤,因为它是一个独立的服务器程序。您只需要确保安装了 Python 运行环境和项目依赖即可。

  1. 安装 Python 依赖: 建议使用 'uv' 运行器,它会自动处理依赖。如果需要手动安装,请查看 'README.md' 或项目文件中的依赖信息,使用 pip 或其他包管理器安装 'pycoingecko' 和 'mcp-server' 等依赖包。

  2. 运行服务器: 在项目根目录下,可以直接使用 'uv' 运行服务器:

    uv run mcp-coingecko-server

    或者,如果您想更明确地指定运行模块和函数,可以运行:

    uv run mcp_coingecko_server.server:main

    服务器默认监听 '8003' 端口,并通过 SSE (Server-Sent Events) 协议与客户端通信。您可以在 'src/mcp_coingecko_server/server.py' 文件中修改端口和其他服务器配置。

服务器配置

为了让 MCP 客户端连接到 'CoinGecko MCP Server',您需要在客户端配置中添加服务器信息。以下是一个典型的 MCP 客户端服务器配置示例(JSON 格式):

{
  "server name": "coingecko-server",
  "command": "uv run",
  "args": [
    "mcp_coingecko_server.server:main"
  ],
  "transport": "sse",
  "port": 8003,
  "description": "CoinGecko MCP Server for cryptocurrency data"
}

配置参数说明:

  • '"server name"': 服务器的名称,客户端用于标识和管理连接。可以自定义,例如 '"coingecko-server"'。
  • '"command"': 启动服务器的命令。这里使用 'uv run',假设您的环境中已安装 'uv'。如果使用其他方式运行,请相应修改。
  • '"args"': 启动命令的参数,指定要运行的 Python 模块和主函数。 '"mcp_coingecko_server.server:main"' 指向 'src/mcp_coingecko_server/server.py' 文件中的 'main' 函数。
  • '"transport"': 服务器使用的传输协议,这里是 '"sse"' (Server-Sent Events)。
  • '"port"': 服务器监听的端口号,默认为 '8003'。请确保与服务器实际运行的端口一致。
  • '"description"': 服务器的描述信息,方便客户端用户了解服务器的功能。

注意: MCP 客户端需要根据此配置信息来启动和连接 'CoinGecko MCP Server'。请确保配置信息准确无误。 您可以根据实际情况调整端口号等配置。

基本使用方法

  1. 启动服务器:按照上述“运行服务器”步骤启动 'CoinGecko MCP Server'。
  2. 配置 MCP 客户端:在您的 MCP 客户端应用中,添加上述服务器配置信息。
  3. 连接服务器:在 MCP 客户端中,建立与 'CoinGecko MCP Server' 的连接。
  4. 发现工具:客户端连接成功后,可以发现服务器提供的工具列表,例如 'get_coin_price', 'get_coin_history' 等。
  5. 调用工具:客户端可以根据需要,调用相应的工具,并传入必要的参数(例如 'coin_id', 'vs_currency', 'days' 等)来获取加密货币数据。
  6. 接收数据:服务器将通过 JSON-RPC 响应返回请求的数据,客户端解析并使用这些数据。

例如,客户端可以调用 'get_coin_price' 工具,并传入 'coin_id: "bitcoin", vs_currency: "usd"' 参数,来获取比特币的美元价格。

信息

分类

网页与API