Neo N3 区块链集成的 MCP 服务器 | 版本 1.6.0
一个生产就绪的 MCP 服务器,提供与 Neo N3 区块链的集成,包括 34 个工具和 9 个资源,用于钱包管理、资产转移、合约交互和区块链查询。
# 全局安装
npm install -g @r3e/neo-n3-mcp
# 或者本地安装
npm install @r3e/neo-n3-mcp
# 使用默认配置运行
npx @r3e/neo-n3-mcp
# 或者如果全局安装了
neo-n3-mcp
# 指定网络
neo-n3-mcp --network testnet
# 自定义 RPC 端点
neo-n3-mcp --mainnet-rpc https://mainnet1.neo.coz.io:443 --testnet-rpc https://testnet1.neo.coz.io:443
# 启用日志
neo-n3-mcp --log-level info --log-file ./neo-mcp.log
# 完整示例
neo-n3-mcp \
--network mainnet \
--mainnet-rpc https://mainnet1.neo.coz.io:443 \
--testnet-rpc https://testnet1.neo.coz.io:443 \
--log-level debug \
--log-file ./logs/neo-mcp.log
创建一个 neo-mcp-config.json 文件:
{
"network": "mainnet",
"rpc": {
"mainnet": "https://mainnet1.neo.coz.io:443",
"testnet": "https://testnet1.neo.coz.io:443"
},
"logging": {
"level": "info",
"file": "./logs/neo-mcp.log",
"console": true
},
"server": {
"name": "neo-n3-mcp-server",
"version": "1.6.0"
},
"wallets": {
"directory": "./wallets"
}
}
使用配置文件运行:
neo-n3-mcp --config ./neo-mcp-config.json
# 基础运行
docker run -p 3000:3000 r3enetwork/neo-n3-mcp:1.6.0
# 使用环境变量
docker run -p 3000:3000 \
-e NEO_NETWORK=mainnet \
-e NEO_MAINNET_RPC=https://mainnet1.neo.coz.io:443 \
-e NEO_TESTNET_RPC=https://testnet1.neo.coz.io:443 \
-e LOG_LEVEL=info \
r3enetwork/neo-n3-mcp:1.6.0
# 使用卷保存持久数据
docker run -p 3000:3000 \
-v $(pwd)/wallets:/app/wallets \
-v $(pwd)/logs:/app/logs \
-e NEO_NETWORK=testnet \
r3enetwork/neo-n3-mcp:1.6.0
创建一个 docker-compose.yml 文件:
version: '3.8'
services:
neo-mcp:
image: r3enetwork/neo-n3-mcp:1.6.0
ports:
- "3000:3000"
environment:
- NEO_NETWORK=mainnet
- NEO_MAINNET_RPC=https://mainnet1.neo.coz.io:443
- NEO_TESTNET_RPC=https://testnet1.neo.coz.io:443
- LOG_LEVEL=info
- LOG_FILE=/app/logs/neo-mcp.log
volumes:
- ./wallets:/app/wallets
- ./logs:/app/logs
- ./config:/app/config
restart: unless-stopped
运行:
docker-compose up -d
# 使用 Docker Compose 快速开始
git clone https://github.com/r3e-network/neo-n3-mcp.git
cd neo-n3-mcp
docker-compose -f docker/docker-compose.yml up -d
# 或手动构建和运行
npm run docker:build
npm run docker:run
# 开发模式
npm run docker:up:dev
# 构建生产镜像
./scripts/docker-build.sh --tag v1.6.0
# 使用自定义配置运行
docker run -d \
--name neo-mcp-prod \
-p 3000:3000 \
-e NEO_NETWORK=mainnet \
-v neo-mcp-logs:/app/logs \
neo-n3-mcp:v1.6.0
# 构建开发镜像
./scripts/docker-build.sh --dev
# 运行带有热重载和调试
docker-compose -f docker/docker-compose.dev.yml up -d
| 变量 | 描述 | 默认值 |
|---|---|---|
NEO_NETWORK | 默认网络(主网/测试网) | testnet |
NEO_MAINNET_RPC | 主网 RPC 端点 | https://mainnet1.neo.coz.io:443 |
NEO_TESTNET_RPC | 测试网 RPC 端点 | https://testnet1.neo.coz.io:443 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
LOG_FILE | 日志文件路径 | ./logs/neo-mcp.log |
WALLET_DIR | 钱包存储目录 | ./wallets |
| 选项 | 描述 |
|---|---|
--network | 设置默认网络 |
--mainnet-rpc | 主网 RPC URL |
--testnet-rpc | 测试网 RPC URL |
--log-level | 设置日志级别 |
--log-file | 设置日志文件路径 |
--config | 从 JSON 文件加载配置 |
--help | 显示帮助信息 |
添加到你的 Claude Desktop 配置中(~/.cursor/mcp.json 或类似文件):
{
"mcpServers": {
"neo-n3": {
"command": "npx",
"args": [
"-y",
"@r3e/neo-n3-mcp",
"--network",
"testnet"
],
"disabled": false,
"env": {
"NEO_NETWORK": "testnet",
"LOG_LEVEL": "info"
}
}
}
}
对于主网配置:
{
"mcpServers": {
"neo-n3": {
"command": "npx",
"args": [
"-y",
"@r3e/neo-n3-mcp",
"--network",
"mainnet"
],
"disabled": false,
"env": {
"NEO_NETWORK": "mainnet",
"NEO_MAINNET_RPC": "https://mainnet1.neo.coz.io:443",
"NEO_TESTNET_RPC": "https://testnet1.neo.coz.io:443",
"LOG_LEVEL": "info"
}
}
}
}
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
const transport = new StdioClientTransport({
command: 'npx',
args: ['@r3e/neo-n3-mcp', '--network', 'mainnet']
});
const client = new Client(
{ name: 'my-neo-client', version: '1.0.0' },
{ capabilities: {} }
);
await client.connect(transport);
get_network_mode, set_network_modeget_blockchain_info, get_block_count, get_block, get_transactioncreate_wallet, import_walletget_balance, transfer_assets, estimate_transfer_feesinvoke_contract, list_famous_contracts, get_contract_infoclaim_gas, estimate_invoke_feesneo://network/status, neo://mainnet/status, neo://testnet/statusneo://mainnet/blockchain, neo://testnet/blockchainneo://mainnet/contracts, neo://testnet/contractsneo://mainnet/assets, neo://testnet/assets此项目遵循 语义化版本控制 并通过自动化 CI/CD 管道进行发布。详情请参阅我们的 版本管理指南。
# 1. 首先,执行一次干跑以查看会发生什么
./scripts/prepare-release.sh --type minor --dry-run
# 2. 如果一切看起来都很好,执行实际的发布准备
./scripts/prepare-release.sh --type minor
# 3. 推送更改(脚本会引导你完成)
git push
# 4. 创建 GitHub 发布(触发完整的 CI/CD 管道)
gh release create v1.7.0 --generate-notes
# 查看当前版本
npm run version:check
# 手动更新版本
npm run version:patch # 1.6.0 → 1.6.1 (修复错误)
npm run version:minor # 1.6.0 → 1.7.0 (新功能)
npm run version:major # 1.6.0 → 2.0.0 (重大变更)
# 然后提交并推送
git add . && git commit -m "chore: bump version to 1.7.0"
git push
# 使用 GitHub CLI
gh release create v1.7.0 --generate-notes
# 或通过 GitHub Web 界面手动创建:
# 1. 访问 https://github.com/r3e-network/neo-n3-mcp/releases
# 2. 点击“创建新发布”
# 3. 标签:v1.7.0,标题:“发布 v1.7.0”
# 4. 自动生成发布说明
# 5. 发布
自动化 CI/CD 管道触发以下工作流:
| 类型 | 版本变化 | 使用场景 | 示例 |
|---|---|---|---|
| 补丁 | 1.6.0 → 1.6.1 | 修复错误,安全补丁 | ./scripts/prepare-release.sh --type patch |
| 次要 | 1.6.0 → 1.7.0 | 新功能,增强 | ./scripts/prepare-release.sh --type minor |
| 主要 | 1.6.0 → 2.0.0 | 重大变更 | ./scripts/prepare-release.sh --type major |
# 对于下一个次要版本(推荐用于新功能)
./scripts/prepare-release.sh --type minor
# 对于补丁版本(修复错误)
./scripts/prepare-release.sh --type patch
# 对于主要版本(重大变更)
./scripts/prepare-release.sh --type major
# 测试会发生什么(干跑)
./scripts/prepare-release.sh --type minor --dry-run
NPM_TOKEN - 用于 NPM 注册表发布DOCKER_USERNAME - Docker Hub 用户名DOCKER_PASSWORD - Docker Hub 访问令牌MIT 许可证 - 详情见 LICENSE 文件。