项目简介

这是一个基于Model Context Protocol (MCP) 实现的服务器,专门用于与 Neo N3 区块链进行交互。它允许集成 MCP 的 AI 系统(如某些版本的Claude、ChatGPT等)直接通过标准化的协议访问 Neo N3 链上的数据、执行交易、管理钱包以及调用智能合约。

主要功能点

  • 双网络支持: 可同时与 Neo N3 主网 (mainnet) 和测试网 (testnet) 交互。
  • 区块链信息: 获取区块链高度、验证人列表、网络状态等。
  • 区块与交易: 查询特定区块或交易的详细信息。
  • 账户与资产: 查看地址余额,创建/导入钱包,以及在地址间转移 NEO、GAS 或其他通证。
  • 智能合约交互: 支持部署、调用智能合约,包括读写操作。
  • 著名合约支持: 内置支持与 NeoFS, NeoBurger, Flamingo, NeoCompound, GrandShare, GhostMarket 等流行合约进行交互。
  • 交易状态追踪: 检查交易的当前状态和确认数。
  • 费用估算: 在执行转账前估算所需的 GAS 费用。
  • 安全: 包含输入验证、私钥保护等机制。
  • 多部署方式: 支持 Docker 和手动安装/运行。

安装步骤

要运行 Neo N3 MCP 服务器,您需要 Node.js (>=16) 和 npm。如果使用 Docker 方式,需要安装 Docker。

使用 Docker (推荐)

  1. 克隆仓库:
    git clone https://github.com/R3E-Network/neo-n3-mcp.git
    cd neo-n3-mcp
  2. 使用 Docker Compose 启动服务:
    docker-compose up -d
    这将在后台启动服务器。

手动安装

  1. 克隆仓库:
    git clone https://github.com/R3E-Network/neo-n3-mcp.git
    cd neo-n3-mcp
  2. 安装依赖:
    npm install
  3. 构建项目 (使用 TypeScript):
    npm run build
  4. 启动服务器:
    npm start

MCP 客户端配置

MCP 服务器通常由 MCP 客户端启动和管理。您需要将 Neo N3 MCP 服务器添加到您的 MCP 客户端(例如 Claude Desktop)的配置文件中,以便客户端知道如何启动并连接到它。典型的配置文件是 'claude_desktop_config.json' 或类似的 MCP 设置文件。

以下是配置示例,您需要根据您的安装方式选择其中一种,并添加到您的 MCP 客户端配置的 'mcpServers' 部分:

通过 NPM 启动 (推荐)

此方法无需您手动全局安装 '@r3e/neo-n3-mcp' 包。MCP 客户端会使用 'npx' 临时下载并运行它。

配置信息:

  • 'server name': neo-n3 (客户端用于引用此服务器的名称)
  • 'command': npx (用于执行 npm 包的命令)
  • 'args': ["-y", "@r3e/neo-n3-mcp"] (传递给 'npx' 的参数,'-y' 自动确认安装,'@r3e/neo-n3-mcp' 是要运行的包名)
  • 其他可选参数如 'env' (环境变量), 'disabled' (是否禁用), 'autoApprove' (自动批准列表) 等,根据需要添加。

通过 Docker 启动

此方法假设您已经构建或拉取了 'r3e/neo-n3-mcp' Docker 镜像。

配置信息:

  • 'server name': neo-n3
  • 'command': docker (启动 Docker 容器的命令)
  • 'args': ["run", "--rm", "-i", "r3e/neo-n3-mcp"] (传递给 'docker' 的参数,'--rm' 在容器停止时自动删除,'-i' 保持标准输入打开以支持 Stdio 协议)
  • 其他可选参数如 'env', 'disabled', 'autoApprove' 等。如果需要映射数据卷(如钱包文件),可能需要在 'args' 或 'env' 中配置。

通过手动安装的本地文件启动

此方法假设您已经手动安装并构建了项目,并且 MCP 客户端可以直接访问项目文件。

配置信息:

  • 'server name': neo-n3
  • 'command': node (启动 Node.js 程序的命令)
  • 'args': ["/path/to/your/neo-n3-mcp/dist/index.js"] ('index.js' 文件的绝对路径)
  • 'env': 可以设置环境变量来配置服务器行为,例如:
    • 'NEO_RPC_URL': Neo N3 RPC 节点 URL (例如: http://localhost:10332)
    • 'NEO_NETWORK': 默认网络 ('mainnet' 或 'testnet')
    • 'WALLET_PATH': 钱包文件存储路径

示例 MCP 配置片段 (仅供参考结构,请勿直接复制到最终配置)

{
  "mcpServers": {
    "neo-n3": {
      "command": "...", // 上述 command
      "args": [...],    // 上述 args
      "env": {          // 可选的环境变量配置
        "NEO_NETWORK": "mainnet",
        "WALLET_PATH": "/path/to/wallets" 
      },
      "disabled": false, // 是否启用
      "autoApprove": []  // 自动批准的请求列表
    }
    // 其他 MCP 服务器...
  },
  // 其他客户端配置...
}

请根据您的 MCP 客户端软件的具体文档找到配置文件位置并进行编辑。

基本使用方法

一旦配置完成并成功连接到 MCP 客户端,AI 就可以通过 MCP 协议与 Neo N3 MCP 服务器进行交互。AI 可以:

  • 调用预定义的工具 (Tools),例如请求 'get_blockchain_info' 工具来获取区块链信息,请求 'transfer_assets' 工具来执行转账。
  • 访问预定义的资源 (Resources),例如通过 'neo://mainnet/network/status' URI 来读取主网状态。

具体的交互方式取决于您的 AI 模型和客户端软件如何利用 MCP 功能。通常,您可以通过自然语言提问或指令来触发 AI 调用这些工具和资源。

信息

分类

AI与计算