项目简介
这是一个基于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 (推荐)
- 克隆仓库:
git clone https://github.com/R3E-Network/neo-n3-mcp.git cd neo-n3-mcp - 使用 Docker Compose 启动服务:
这将在后台启动服务器。docker-compose up -d
手动安装
- 克隆仓库:
git clone https://github.com/R3E-Network/neo-n3-mcp.git cd neo-n3-mcp - 安装依赖:
npm install - 构建项目 (使用 TypeScript):
npm run build - 启动服务器:
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与计算