返回 MCP 目录
public公开dns本地运行

neo-n3-mcp

Neo N3 Model Context Protocol (MCP) 是一个标准化的接口协议,用于AI代理和应用程序与Neo N3区块链的交互。它提供了简单易用的服务器实现,支持通过npx直接运行,无需手动配置环境。协议包含区块链信息查询、钱包管理、资产转移、智能合约交互等功能,并额外提供了HTTP服务器以RESTful API形式暴露功能。

article

README

🚀 Neo N3 MCP 服务器与 HTTP 服务器文档

Neo N3 MCP 服务器基于 Model Context Protocol (MCP) 协议实现,为区块链应用提供强大的功能支持。同时,该软件包配备的 HTTP 服务器,通过 RESTful API 接口将 Neo N3 功能对外暴露,极大地方便了开发者的使用。

🚀 快速开始

安装依赖

npm install neo-mcp-server http-restify

初始化项目

创建 server.js 文件:

const MCP = require('neo-mcp-server');
const restify = require('http-restify');

// 初始化 MCP 服务器
const mcpServer = new MCP.Server({
    network: 'test',
    contextPath: '/context'
});

// 初始化 HTTP 服务器
const httpServer = restify.createServer();

// 挂载 MCP 相关路由
mcpServer.applyRoutes(httpServer);

// 启动服务器
httpServer.listen(3000, () => {
    console.log('服务器已启动,监听地址:http://localhost:3000');
});

运行应用

node server.js

✨ 主要特性

  • MCP 协议支持:遵循 Model Context Protocol 标准,实现跨链数据交换和智能合约交互。
  • HTTP REST API:提供一系列 RESTful API 接口,方便开发者集成区块链功能到应用中。
  • 钱包管理:支持创建、导入和管理多种格式的钱包文件。
  • 智能合约操作:包括部署、调用和查询智能合约的功能。
  • 网络模式切换:支持主网和测试网的无缝切换。

📚 详细文档

MCP 协议

功能概述

MCP 协议允许应用通过订阅特定区块链事件,实现实时数据获取功能。其主要特点包括:

  • 事件订阅:开发者可以通过发布感兴趣的事件类型,实时接收链上发生的相关数据。
  • 状态变更通知:当区块链上的某个地址或合约发生状态变化时,系统会自动推送通知到订阅端。
  • 异步处理:所有事件处理都是异步进行的,确保高并发场景下的性能稳定。

MCP 服务器

初始化与配置
// 创建 MCP 实例并设置配置
const mcp = new MCP({
    network: 'test', // 网络环境:main 或 test
    contextPath: '/context' // 上下文路径,默认为 /context
});

// 启动服务器
await mcp.start();
事件处理示例
// 订阅某个地址的余额变更事件
mcp.subscribe('address-balance-changed', (event) => {
    console.log(`Address ${event.address} 的余额发生了变化,当前余额为 ${event.balance}`);
});

// 处理智能合约调用事件
mcp.on('contract-invoked', async (event) => {
    try {
        const result = await event.execute();
        console.log(`Contract ${event.contract} 调用成功,返回结果:${result}`);
    } catch (error) {
        console.error(`Contract ${event.contract} 调用失败,错误信息:${error.message}`);
    }
});

HTTP 服务器

功能概述

HTTP 服务器通过 RESTful API 提供以下功能:

  • 区块链信息查询:获取链上基本信息、区块详情和交易记录。
  • 钱包管理:创建新钱包、导入现有钱包以及查看钱包信息。
  • 智能合约操作:部署新合约、调用已部署的合约并查询合约状态。
  • 网络模式切换:在主网和测试网之间进行切换。

HTTP 端点

| 端点 | 方法 | 描述 | |----------------------|------|--------------------------| | /api/context/current | GET | 获取当前 MCP 上下文信息 | | /api/chains/main/info | GET | 获取主链基本信息 | | /api/blocks/height | GET | 查询当前网络高度 | | /api/transactions/hash| GET | 根据哈希获取交易详情 |

使用示例

# 获取区块链信息
curl http://localhost:3000/api/context/current

# 部署智能合约
curl -X POST http://localhost:3000/api/contracts \
  -H "Content-Type: application/json" \
  -d '{"contractName": "MyContract", "code":"..."}'

# 调用智能合约
curl -X POST http://localhost:3000/api/contracts/MyContract/call \
  -H "Content-Type: application/json" \
  -d '{"method":"balanceOf","params":["userAddress"]}'

💡 使用说明

  • 日志监控:建议在生产环境中启用详细日志记录,便于排查问题。
  • 性能调优:根据实际需求调整服务器配置参数,如连接数和超时设置。
  • 版本升级:定期检查依赖库的更新,确保系统安全性和稳定性。

⚠️ 安全注意事项

  • 钱包密钥保护:确保所有钱包私钥的安全性,避免明文存储或传输。
  • 网络隔离:在测试环境中进行充分的测试,防止误操作影响主网。
  • 访问控制:建议在生产环境启用身份认证和权限管理功能。

🛠️ 技术支持

如有任何问题或建议,请联系我们的技术支持团队:support@neonetwork.org

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端