使用说明

项目简介

Coin MCP Server 是一个基于 FastMCP 框架开发的 MCP 服务器,旨在为 LLM 应用提供实时的加密货币市场数据。它通过集成 Bitget 交易所的 API,提供了查询代币价格和最新公告的功能。该服务器使用 JSON-RPC 协议通过标准输入输出 (stdio) 与客户端通信,易于部署和使用。

主要功能点

  • 获取代币价格 (getTokenPrice): 查询指定加密货币(USDT交易对)在 Bitget 交易所的最新价格。
  • 获取最新公告 (getAnnoucements): 查询 Bitget 交易所指定类型的最新公告,支持多种公告类型,如最新事件、新币上市、交易竞赛和促销、维护/系统升级、代币下架信息等。
  • 数据验证: 使用 Zod 进行参数验证,确保请求参数的有效性。
  • 错误处理: 提供基本的错误处理和日志记录,方便问题排查。
  • 灵活配置: 支持通过环境变量 'BGURL' 自定义 Bitget API 的根 URL。

安装步骤

  1. 安装 Deno: Coin MCP Server 基于 Deno 运行时环境,请确保已安装 Deno。安装指南请参考 Deno 官网
  2. 克隆仓库: 将代码仓库克隆到本地:
    git clone https://github.com/pwh-pwh/coin-mcp-server.git
    cd coin-mcp-server

服务器配置

MCP 客户端需要配置以下 JSON 格式的服务器信息以连接 Coin MCP Server:

{
  "serverName": "coin-mcp",
  "command": "deno",
  "args": [
    "run",
    "--allow-net",  // 允许网络请求,用于访问 Bitget API
    "--allow-read", // 允许读取本地文件,如果需要配置文件等
    "--allow-env",  // 允许访问环境变量,用于读取 BGURL
    "https://deno.land/x/[email protected]/main.ts" // 服务器入口文件 URL,或者使用本地 main.ts 文件路径
  ]
}

配置参数说明:

  • 'serverName': 自定义服务器名称,例如 "coin-mcp"。
  • 'command': 运行服务器的命令,这里是 "deno"。
  • 'args': 命令参数列表:
    • '"run"': Deno 的运行命令。
    • '"--allow-net"': 允许服务器发起网络请求,访问 Bitget API。
    • '"--allow-read"': 允许服务器读取本地文件(当前配置中未使用,但为了潜在的配置需求)。
    • '"--allow-env"': 允许服务器访问环境变量,用于读取 'BGURL' 环境变量(可选)。
    • '"https://deno.land/x/[email protected]/main.ts"': 服务器入口文件 URL,也可以使用本地文件路径 '"main.ts"' (如果使用本地文件,请确保在仓库根目录下启动客户端)。

基本使用方法

  1. 启动服务器: 在仓库根目录下,使用 Deno 运行 'main.ts' 文件,启动 Coin MCP Server。

    deno run --allow-net --allow-env --allow-read main.ts

    或者使用 URL 方式启动:

    deno run --allow-net --allow-env --allow-read https://deno.land/x/[email protected]/main.ts

    服务器默认以 stdio 模式运行,准备接收来自 MCP 客户端的请求。

  2. 客户端请求示例: MCP 客户端可以通过 JSON-RPC 格式发送请求到 Coin MCP Server。

    获取代币价格 (getTokenPrice) 请求示例:

    {
      "tool": "getTokenPrice",
      "parameters": {
        "token": "BTC"  // 要查询的代币符号,例如 BTC, ETH, BGB
      }
    }

    服务器响应示例 (价格为字符串):

    "42069.00"

    获取最新公告 (getAnnoucements) 请求示例:

    {
      "tool": "getAnnoucements",
      "parameters": {
        "anType": "latest_news"  // 公告类型,例如 latest_news, coin_listings, trading_competitions_promotions, maintenance_system_updates, symbol_delisting
      }
    }

    服务器响应示例 (公告信息 JSON 字符串):

    "{\"code\":\"00000\",\"msg\":\"success\",\"data\":[{\"title\":\"Bitget will suspend and delist SPELL\",\"content\":\"尊敬的用户:\\n为优化交易体验,Bitget 将于 2024 年 5 月 10 日 17:00 (UTC+8) 下线 SPELL/USDT 交易对。\\n具体安排如下:\\n2024 年 5 月 8 日 17:00 (UTC+8) 关闭 SPELL/USDT 交易对的充值和提币功能。\\n2024 年 5 月 10 日 17:00 (UTC+8) 下线 SPELL/USDT 交易对。\\n请您及时撤销挂单。若下线后您仍有 SPELL/USDT 挂单,系统将为您撤单,相关资产将划转至您的现货账户。\\n对于由此可能给您带来的不便,我们深感抱歉,敬请谅解。\\n感谢您长期以来的支持!\\n\\n风险提示\\n数字资产交易存在巨大风险,请您谨慎购买,并注意交易风险。Bitget 将持续不断地为您提供更优质的产品和服务!\\n\\n\\nBitget 团队\\n2024 年 5 月 7 日\",\"annTime\":\"2024-05-07 18:00:28\",\"link\":\"/zh-CN/support/articles/17881613814800\"},{\"title\":\"Bitget will suspend and delist QUICK\",\"content\":\"尊敬的用户:\\n为优化交易体验,Bitget 将于 2024 年 5 月 10 日 17:00 (UTC+8) 下线 QUICK/USDT 交易对。\\n具体安排如下:\\n2024 年 5 月 8 日 17:00 (UTC+8) 关闭 QUICK/USDT 交易对的充值和提币功能。\\n2024 年 5 月 10 日 17:00 (UTC+8) 下线 QUICK/USDT 交易对。\\n请您及时撤销挂单。若下线后您仍有 QUICK/USDT 挂单,系统将为您撤单,相关资产将划转至您的现货账户。\\n对于由此可能给您带来的不便,我们深感抱歉,敬请谅解。\\n感谢您长期以来的支持!\\n\\n风险提示\\n数字资产交易存在巨大风险,请您谨慎购买,并注意交易风险。Bitget 将持续不断地为您提供更优质的产品和服务!\\n\\n\\nBitget 团队\\n2024 年 5 月 7 日\",\"annTime\":\"2024-05-07 18:00:27\",\"link\":\"/zh-CN/support/articles/17881613679248\"}]}"

    注意: 'getAnnoucements' 工具返回的公告信息为 JSON 字符串,客户端需要自行解析 JSON 字符串以获取公告的详细内容。

信息

分类

网页与API