使用说明
项目简介
Coin MCP Server 是一个基于 FastMCP 框架开发的 MCP 服务器,旨在为 LLM 应用提供实时的加密货币市场数据。它通过集成 Bitget 交易所的 API,提供了查询代币价格和最新公告的功能。该服务器使用 JSON-RPC 协议通过标准输入输出 (stdio) 与客户端通信,易于部署和使用。
主要功能点
- 获取代币价格 (getTokenPrice): 查询指定加密货币(USDT交易对)在 Bitget 交易所的最新价格。
- 获取最新公告 (getAnnoucements): 查询 Bitget 交易所指定类型的最新公告,支持多种公告类型,如最新事件、新币上市、交易竞赛和促销、维护/系统升级、代币下架信息等。
- 数据验证: 使用 Zod 进行参数验证,确保请求参数的有效性。
- 错误处理: 提供基本的错误处理和日志记录,方便问题排查。
- 灵活配置: 支持通过环境变量 'BGURL' 自定义 Bitget API 的根 URL。
安装步骤
- 安装 Deno: Coin MCP Server 基于 Deno 运行时环境,请确保已安装 Deno。安装指南请参考 Deno 官网。
- 克隆仓库: 将代码仓库克隆到本地:
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"' (如果使用本地文件,请确保在仓库根目录下启动客户端)。
基本使用方法
-
启动服务器: 在仓库根目录下,使用 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 客户端的请求。
-
客户端请求示例: 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