项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 应用提供访问比特币区块链数据的能力。它通过封装 Blockchain.com 的 Data 和 Query API,提供了一系列工具,允许 LLM 客户端查询比特币的区块、交易、地址等信息。

主要功能点

  • 数据查询工具: 提供丰富的工具集,可以查询比特币区块链的各种数据,包括:

    • 获取区块信息(通过区块哈希)
    • 获取交易信息(通过交易哈希)
    • 获取地址信息(通过地址)
    • 获取区块链难度、区块高度、哈希率等网络参数
    • 获取地址余额、交易大小、比特币总量等统计数据
    • 获取市场价格、区块间隔、区块奖励等经济指标
    • 获取最新区块哈希、未确认交易数量、24小时交易量等实时信息
  • 支持多种传输协议: 支持 'stdio' 和 'SSE' 两种传输协议,可以根据客户端的需求选择合适的通信方式。

安装步骤

  1. 安装 Python 虚拟环境 (venv):
    python -m venv venv
  2. 激活虚拟环境:
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate  # Windows
  3. 安装依赖包:
    pip install -r requirements.txt

服务器配置

为了让 MCP 客户端连接到此服务器,您需要提供以下配置信息。这是一个 JSON 格式的配置示例,您需要将其填入 MCP 客户端的服务器配置中。

{
  "serverName": "mcp-blockchain-query",
  "command": "python",
  "args": ["main.py"]
}

参数说明:

  • 'serverName': 服务器名称,可以自定义,用于在客户端识别服务器。这里设置为 "mcp-blockchain-query"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数列表,'["main.py"]' 表示执行 'main.py' 文件。

更多配置 (SSE 传输):

如果您希望使用 SSE 传输协议,可以使用以下配置,并指定端口号:

{
  "serverName": "mcp-blockchain-query",
  "command": "python",
  "args": ["main.py", "--transport", "sse", "--port", "8000"]
}

参数说明 (额外):

  • '--transport': 指定传输协议为 'sse' (Server-Sent Events)。
  • '--port': 指定 SSE 服务器监听的端口号,默认为 '8000'。您可以根据需要修改端口号。

注意: 客户端需要配置与服务器相同的传输协议和端口号才能成功连接。

基本使用方法

  1. 启动服务器:

    • Stdio 模式 (默认): 在激活虚拟环境后,直接运行以下命令启动服务器:
      python main.py
    • SSE 模式: 使用 '--transport sse' 参数和可选的 '--port' 参数启动服务器:
      python main.py --transport sse --port 8000
  2. 配置 MCP 客户端:

    • 将上面提供的服务器配置信息 (JSON 格式) 填入您的 MCP 客户端的服务器配置中。
    • 确保客户端配置的传输协议和端口号与服务器启动时使用的参数一致。
  3. 在 MCP 客户端中使用工具:

    • 客户端连接到服务器后,应该能够发现并调用服务器提供的各种区块链数据查询工具。
    • 根据工具的描述和输入参数,向服务器发送工具调用请求,获取比特币区块链数据。

例如,在支持 MCP 协议的 LLM 应用中,您可以指示 LLM 使用 'get_block' 工具查询特定区块哈希的信息,或者使用 'get_address_balance' 工具查询某个比特币地址的余额。

信息

分类

网页与API