Neo N3 模型上下文协议 (MCP) v1.4.0
Neo N3 模型上下文协议 (MCP) 为 AI 代理和应用程序与 Neo N3 区块链交互提供了标准化接口。该服务器实现旨在简化和易于使用,可直接通过npx运行,无需手动配置标准使用环境。
将 MCP 添加到客户端(例如 VS Code)
通过npx配置客户端使用标准 I/O 服务器:
选项 A:VS Code 用户设置 (JSON)
将以下内容添加到您的用户设置 JSON( Ctrl+Shift+P > Preferences: Open User Settings (JSON) ):
{
"mcp": {
"servers": {
"neo-n3": { // You can choose any name
"command": "npx",
"args": [
"-y", // Auto-confirm npx installation/update
"@r3e/neo-n3-mcp"
]
}
}
}
}
选项 B:工作区配置(
在.vscode目录中创建一个名为mcp.json的文件:
{
"servers": {
"neo-n3": { // You can choose any name
"command": "npx",
"args": [
"-y", // Auto-confirm npx installation/update
"@r3e/neo-n3-mcp"
]
}
}
}
选项 C:其他客户端(例如 Cursor)
按照客户端的说明,使用命令添加 MCP 服务器。输入命令npx和参数["-y", "@r3e/neo-n3-mcp"] 。
Related MCP server: Salesforce MCP Server
可用工具
详细参数及示例请参考
配置和网络
工具 | 描述 | 关键参数 |
get_network_mode
| 获取当前配置的网络模式 | 没有任何 |
set_network_mode
| 为后续呼叫设置主动网络模式 | mode :“mainnet_only”、“testnet_only”或“both”
|
区块链信息
工具 | 描述 | 关键参数 |
get_blockchain_info
| 获取当前高度和常规网络信息 | network
|
get_block_count
| 获取当前区块高度 | network
|
get_block
| 通过哈希值或高度获取区块详细信息 | network , hashOrHeight
|
get_transaction
| 通过交易ID获取交易详情 | network , txid
|
check_transaction_status
| 检查交易是否已确认 | network , txid
|
钱包和账户管理
工具 | 描述 | 关键参数 |
create_wallet
| 创建新的加密钱包文件 | password
|
import_wallet
| 从 WIF/私钥导入现有钱包 | key 、 password
|
get_balance
| 获取地址的代币余额 | network , address
|
资产转移
工具 | 描述 | 关键参数 |
transfer_assets
| 发送 NEO、GAS 或其他 NEP-17 代币 | network , fromWIF , toAddress , asset , amount , confirm
|
estimate_transfer_fees
| 估算转账的网络和系统费用 | network 、 fromAddress 、 toAddress 、 asset 、 amount
|
智能合约交互
工具 | 描述 | 关键参数 |
list_famous_contracts
| 列出服务器支持的知名合同 | network
|
get_contract_info
| 获取著名合约的详细信息(哈希值、方法) | network , contractName
|
invoke_contract (替换invoke_read/write)
| 调用智能合约方法(读取或写入) | network 、 scriptHash 、 operation 、 args 、 fromWIF (用于写入)、 confirm (用于写入)
|
NeoFS(去中心化存储)
工具 | 描述 | 关键参数 |
neofs_create_container
| 创建 NeoFS 存储容器 | network , fromWIF , ownerId , rules , confirm
|
neofs_get_containers
| 列出指定 ID 所拥有的容器 | network , ownerId
|
NeoBurger(权益质押服务)
工具 | 描述 | 关键参数 |
neoburger_deposit
| 存入 NEO 即可获得 bNEO | network , fromWIF , confirm
|
neoburger_withdraw
| 通过返回 bNEO 提取 NEO | network , fromWIF , amount , confirm
|
示例请求
获取区块链信息
要求:
{
"name": "get_blockchain_info",
"arguments": {
"network": "mainnet"
}
}
回复:
{
"result": {
"height": 3456789,
"network": "mainnet"
}
}
转移资产
要求:
{
"name": "transfer_assets",
"arguments": {
"network": "testnet",
"fromWIF": "YourSenderWalletWIF",
"toAddress": "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
"asset": "NEO",
"amount": "1",
"confirm": true
}
}
回复:
{
"result": {
"txid": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"address": "NVbGwMfRQVudQCcChhCFwQRwSxr5tYEqQs",
"network": "testnet"
}
}
错误处理
MCP 服务器返回标准化的错误响应:
{
"error": {
"code": "INVALID_PARAMETER",
"message": "Invalid network parameter. Must be 'mainnet' or 'testnet'."
}
}
常见错误代码:
INVALID_PARAMETER :参数缺失或无效
NETWORK_ERROR :连接 Neo N3 节点时出错
BLOCKCHAIN_ERROR :来自 Neo N3 区块链的错误
WALLET_ERROR :钱包操作错误
CONTRACT_ERROR :智能合约操作错误
UNAUTHORIZED :操作不允许
INTERNAL_ERROR :意外的服务器错误
安全最佳实践
**WIF 处理:**提供钱包导入格式 (WIF) 密钥时务必格外谨慎。确保 MCP 服务器运行环境和通信通道安全可靠。建议在本地或受信任的网络中运行服务器。避免在没有可靠身份验证和传输安全(HTTPS)的情况下公开服务器。
如果使用基于文件的方法,则安全地存储钱包文件(尽管当前 API 似乎基于 WIF)。
对所有状态改变操作(转移、合约调用)使用confirm: true以确保交易由网络处理。
使用强密码安全地存储钱包文件
使用测试网进行开发和测试
保持您的 Neo N3 MCP 服务器更新至最新版本
HTTP 服务器
除了 MCP 服务器之外,此软件包还提供了一个 HTTP 服务器,可通过 RESTful API 公开 Neo N3 功能。运行 MCP 服务器时,HTTP 服务器会自动启动,并默认监听 3002 端口。
HTTP 端点
端点 | 方法 | 描述 |
/api/blockchain/info
| 得到 | 获取区块链信息 |
/api/blockchain/height
| 得到 | 获取当前区块高度 |
/api/blocks/:height
| 得到 | 根据高度获取区块详情 |
/api/transactions/:txid
| 得到 | 通过交易ID获取交易详情 |
/api/accounts/:address/balance
| 得到 | 获取地址的代币余额 |
/api/wallets
| 邮政 | 创建新钱包 |
/api/wallets/:address
| 得到 | 获取钱包信息 |
/api/wallets/import
| 邮政 | 从 WIF 或私钥导入钱包 |
/api/network/mode
| 得到 | 获取当前网络模式 |
/api/contracts/:name/invoke
| 邮政 | 调用智能合约方法 |
/api/contracts/deploy
| 邮政 | 部署新的智能合约 |
HTTP 请求示例
# Get blockchain information
curl http://localhost:3002/api/blockchain/info
# Get the current block height
curl http://localhost:3002/api/blockchain/height
# Get token balances for an address
curl http://localhost:3002/api/accounts/NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj/balance
# Create a new wallet
curl -X POST -H "Content-Type: application/json" -d '{"password":"your-password"}' http://localhost:3002/api/wallets
# Get the current network mode
curl http://localhost:3002/api/network/mode
# Deploy a smart contract
curl -X POST -H "Content-Type: application/json" -d '{
"wif": "your-private-key-wif",
"script": "base64-encoded-contract-script",
"manifest": {
"name": "MyContract",
"groups": [],
"features": {},
"abi": {
"methods": [
{
"name": "myMethod",
"parameters": [],
"returnType": "Boolean",
"offset": 0
}
],
"events": []
},
"permissions": [
{
"contract": "*",
"methods": "*"
}
],
"trusts": [],
"supportedStandards": []
}
}' http://localhost:3002/api/contracts/deploy
HTTP 服务器的优点
测试
该包包括集成测试,以验证 MCP 服务器和 HTTP 服务器的功能。
运行测试
# Build the project
npm run build
# Run the core functionality tests
npm run test:core
# Run the HTTP integration tests
npm run test:http
# Run the MCP integration tests
npm run test:integration
资源
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。