项目简介

Midnight MCP 服务器是一个 Model Context Protocol (MCP) 实现,它允许 AI 模型以标准化的方式与 Midnight 加密货币网络进行交互。该服务器核心功能在于托管和管理 Midnight 区块链相关的资源,注册和执行工具以允许 LLM 调用钱包操作和市场功能,并支持可定制的 LLM 交互模式。它通过 STDIO 传输协议与 MCP 客户端通信,为 AI 应用提供安全、可扩展的上下文服务框架。

主要功能点

  • 钱包管理: 提供查询钱包状态、地址、余额、交易历史,以及发送资金等核心钱包功能。
  • 市场集成: 允许注册和验证用户在 Midnight 网络上的市场服务。
  • 标准化接口: 通过 Model Context Protocol (MCP) 提供统一的 JSON-RPC 接口,方便 LLM 客户端集成。
  • 会话管理: 支持多智能体并发运行,每个智能体拥有独立的存储空间和配置。
  • 可观测性: 集成审计跟踪和日志系统,提供事务处理和智能体决策的详细记录。
  • 易于部署: 支持 Node.js 和 Yarn,并提供 Docker Compose 配置,简化部署流程。

安装步骤

  1. 安装前置条件:
    • Node.js (推荐 v18.20.5)
    • Yarn 包管理器
    • Docker 和 Docker Compose (用于生产部署)
  2. 克隆仓库并安装依赖:
    git clone https://github.com/DEGAorg/midnight-mcp.git
    cd midnight-mcp
    yarn install
  3. 构建项目:
    yarn build
  4. 设置智能体 (Agent): 为您的 MCP 服务器设置一个独特的智能体。您可以选择使用系统生成的助记词,或者提供自己的助记词或十六进制种子。
    • 使用默认设置:
      yarn setup-agent -a <您的智能体名称>
    • 使用十六进制种子 (32字节熵):
      yarn setup-agent -a <您的智能体名称> -s "您的十六进制种子"
    • 使用 BIP39 助记词:
      yarn setup-agent -a <您的智能体名称> -m "您的BIP39助记词"
    按照终端提示完成设置。

服务器配置 (用于 MCP 客户端)

MCP 客户端需要以下配置信息来连接 Midnight MCP 服务器。请根据您实际部署服务器的路径和 Node.js 版本进行调整:

"mcp": {
  "servers": {
    "midnight-mcp": {
      "type": "stdio",
      "name": "Midnight MCP",
      "command": "bash",
      "args": [
        "-c",
        "source ~/.nvm/nvm.sh && AGENT_ID=<agent-id> nvm exec 22.15.1 node <path>/midnight-mcp/dist/stdio-server.js"
      ]
    }
  }
}

参数说明:

  • 'type': 服务器的传输协议,此处为 'stdio'。
  • 'name': 服务器的显示名称,例如 'Midnight MCP'。
  • 'command': 启动服务器的 shell 命令。这里是 'bash'。
  • 'args': 传递给 'command' 的参数列表。
    • '-c': 指示 'bash' 执行后续的字符串作为命令。
    • 'source ~/.nvm/nvm.sh': 如果您使用 'nvm' 管理 Node.js 版本,这行确保正确的 Node.js 环境被加载。如果不是,可以省略或替换为您的 Node.js 路径。
    • 'AGENT_ID=<agent-id>': 重要。替换 '<agent-id>' 为您在 'yarn setup-agent' 步骤中设置的智能体名称。每个智能体需要一个唯一的 ID 来隔离其钱包数据和交易记录。
    • 'nvm exec 22.15.1 node <path>/midnight-mcp/dist/stdio-server.js': 使用 'nvm' 执行特定版本的 Node.js 来启动 MCP 服务器。
      • '22.15.1': 替换为您的 Node.js 实际版本。
      • '<path>': 重要。替换为 'midnight-mcp' 仓库在您系统上的绝对路径。例如,如果仓库在 '/home/user/projects/midnight-mcp',则 '<path>' 应替换为 '/home/user/projects'。

基本使用方法

启动服务器后,MCP 客户端即可通过 JSON-RPC 协议与 Midnight MCP 服务器通信,调用以下工具:

  • 钱包工具:
    • 'walletStatus': 检查钱包同步状态。
    • 'walletAddress': 获取钱包接收地址。
    • 'walletBalance': 查看当前余额。
    • 'getTransactions': 列出交易历史。
    • 'getTransactionStatus': 根据交易 ID 获取交易状态。
    • 'sendFunds': 发送资金到其他地址。
    • 'verifyTransaction': 验证交易状态。
    • 'getWalletConfig': 获取钱包配置。
  • 市场工具:
    • 'registerInMarketplace': 在市场中注册用户。
    • 'verifyUserInMarketplace': 在市场中验证用户。

信息

分类

开发者工具