项目简介

Maestro比特币MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端服务,旨在将大型语言模型(LLM)客户端与Maestro比特币API平台无缝集成。它通过标准化的JSON-RPC协议,让LLM能够以结构化的方式访问和交互比特币区块链上的数据与功能。该服务器支持流式HTTP传输、API密钥认证,并可连接到比特币主网和测试网4。

主要功能点

  • 比特币区块链数据查询: 提供丰富的工具,用于查询比特币地址的活动、余额、BRC20代币和Runes资产,以及查看交易和区块的详细信息。
  • 内存池(Mempool)监控: 支持获取内存池中的地址余额、Runes UTXO、UTXO和交易详情,帮助分析未确认的链上活动。
  • 市场价格与DEX数据: 提供BTC-USD历史价格数据,以及DEX(去中心化交易所)上Runes的交易历史和OHLC(开盘价、最高价、最低价、收盘价)数据。
  • 事件管理: 允许创建、更新和删除事件管理器和触发器,以响应特定的区块链事件(如交易、发送者/接收者活动),并通过Webhook进行通知。
  • Node RPC功能: 提供访问比特币节点RPC接口的能力,包括获取最新区块、区块范围信息、内存池信息和广播原始交易等。
  • 标准化MCP接口: 完全实现了Model Context Protocol,确保与兼容MCP的LLM客户端进行高效、结构化的通信,从而扩展LLM在比特币生态中的能力。

安装步骤

  1. 环境准备: 确保您的系统已安装Node.js v20或更高版本。
  2. 获取代码: 从GitHub仓库克隆项目到本地。
    git clone https://github.com/maestro-org/maestro-mcp-server.git
    cd maestro-mcp-server
  3. 安装依赖: 在项目根目录运行以下命令安装所有必需的依赖项。
    npm install
  4. 构建项目:
    npm run build
  5. 配置API Key:
    • 复制 '.env.example' 文件到 '.env'。
      cp .env.example .env
    • 编辑 '.env' 文件,添加您的Maestro API密钥。您可以在Maestro官网获取API密钥。
      # .env 文件的示例内容
      API_BASE_URL=https://xbt-mainnet.gomaestro-api.org/v0 # 或使用测试网:https://xbt-testnet.gomaestro-api.org/v0
      # 添加您的Maestro API Key。服务器会从这里读取。
      API_KEY_api_key=YOUR_MAESTRO_API_KEY_HERE
      请将 'YOUR_MAESTRO_API_KEY_HERE' 替换为实际的Maestro API密钥。

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

MCP客户端需要以下JSON格式的配置信息来连接和使用此Maestro比特币MCP服务器。此配置描述了如何启动服务器进程以及客户端如何与之通信。

{
  "name": "Maestro比特币MCP服务器",
  "command": "npm",
  "args": ["run", "start:http"],
  "endpoints": [
    {
      "type": "StreamableHTTP",
      "url": "http://localhost:3000/mcp",
      "metadata": {
        "serverName": "Maestro Bitcoin API",
        "version": "v0.2.0"
      }
    }
  ],
  "env": {
    "API_BASE_URL": "https://xbt-mainnet.gomaestro-api.org/v0",
    "API_KEY_api_key": "YOUR_MAESTRO_API_KEY_HERE"
  },
  "description": "连接LLM与Maestro比特币API,通过MCP协议提供比特币区块链数据查询和交互工具。"
}

参数注释:

  • 'name': 服务器的显示名称,用于客户端界面识别。
  • 'command': 用于启动MCP服务器进程的命令,此处为 'npm'。
  • 'args': 传递给 'command' 的参数列表,此处为 'run start:http',指示启动项目的HTTP服务器脚本。
  • 'endpoints': MCP服务器的连接端点列表。
    • 'type': 端点类型,这里指定为 'StreamableHTTP',表示通过流式HTTP协议通信。
    • 'url': MCP服务器的完整访问URL,通常在本地运行在 'http://localhost:3000/mcp'。
    • 'metadata': 服务器自身声明的元数据,如服务器名称和版本号,供客户端识别。
  • 'env': 在启动MCP服务器进程时需要设置的环境变量。
    • 'API_BASE_URL': 指定Maestro API的基础URL,用于连接比特币主网或测试网。
    • 'API_KEY_api_key': 您的Maestro API密钥。此环境变量由服务器读取,用于进行上游Maestro API的认证。
  • 'description': MCP服务器的简要功能描述。

基本使用方法

  1. 启动MCP服务器: 在项目根目录运行以下命令来启动服务器。

    npm run start:http

    服务器将默认在3000端口启动,MCP端点位于 'http://localhost:3000/mcp'。请留意控制台输出的启动信息。

  2. LLM客户端集成与认证:

    • 配置您兼容MCP的LLM客户端,使其能够连接到上述MCP服务器的 'url' ('http://localhost:3000/mcp')。
    • 重要: LLM客户端在发出MCP请求时,必须在其请求的HTTP头中包含您的Maestro API密钥,格式为 'Authorization: Bearer YOUR_MAESTRO_API_KEY_HERE'。MCP服务器将使用此密钥对Maestro API发起认证调用。
  3. 通过LLM进行交互:

    • 一旦LLM客户端成功连接并认证,您可以通过LLM的自然语言接口,向其提问或发送指令,以利用Maestro比特币MCP服务器提供的工具。
    • 例如,您可以让LLM查询特定比特币地址的余额,获取最新区块的交易列表,或跟踪BRC20代币的活动。LLM将根据您的请求,自动通过MCP协议调用服务器上相应的工具,并返回结果。

信息

分类

网页与API