Neo N3区块链集成
STDIOAI代理与Neo N3区块链交互的标准接口
AI代理与Neo N3区块链交互的标准接口
MCP Server for Neo N3 Blockchain Integration | Version 1.5.0
A production-ready MCP server providing Neo N3 blockchain integration with 34 tools and 9 resources for wallet management, asset transfers, contract interactions, and blockchain queries.
# Install globally npm install -g @r3e/neo-n3-mcp # Or install locally npm install @r3e/neo-n3-mcp
# Run with default configuration npx @r3e/neo-n3-mcp # Or if installed globally neo-n3-mcp
# Specify network neo-n3-mcp --network testnet # Custom RPC endpoints neo-n3-mcp --mainnet-rpc https://mainnet1.neo.coz.io:443 --testnet-rpc https://testnet1.neo.coz.io:443 # Enable logging neo-n3-mcp --log-level info --log-file ./neo-mcp.log # Complete example 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
Create a neo-mcp-config.json
file:
{ "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.5.0" }, "wallets": { "directory": "./wallets" } }
Run with config file:
neo-n3-mcp --config ./neo-mcp-config.json
# Basic run docker run -p 3000:3000 r3e/neo-n3-mcp:1.5.0 # With environment variables 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 \ r3e/neo-n3-mcp:1.5.0 # With volume for persistent data docker run -p 3000:3000 \ -v $(pwd)/wallets:/app/wallets \ -v $(pwd)/logs:/app/logs \ -e NEO_NETWORK=testnet \ r3e/neo-n3-mcp:1.5.0
Create a docker-compose.yml
:
version: '3.8' services: neo-mcp: image: r3e/neo-n3-mcp:1.5.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
Run with:
docker-compose up -d
FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY dist/ ./dist/ COPY config/ ./config/ # Create necessary directories RUN mkdir -p wallets logs EXPOSE 3000 CMD ["node", "dist/index.js"]
Variable | Description | Default |
---|---|---|
NEO_NETWORK | Default network (mainnet/testnet) | testnet |
NEO_MAINNET_RPC | Mainnet RPC endpoint | https://mainnet1.neo.coz.io:443 |
NEO_TESTNET_RPC | Testnet RPC endpoint | https://testnet1.neo.coz.io:443 |
LOG_LEVEL | Logging level (debug/info/warn/error) | info |
LOG_FILE | Log file path | ./logs/neo-mcp.log |
WALLET_DIR | Wallet storage directory | ./wallets |
Option | Description |
---|---|
--network | Set default network |
--mainnet-rpc | Mainnet RPC URL |
--testnet-rpc | Testnet RPC URL |
--log-level | Set logging level |
--log-file | Set log file path |
--config | Load configuration from JSON file |
--help | Show help information |
Add to your Claude Desktop config (~/.cursor/mcp.json
or similar):
{ "mcpServers": { "neo-n3": { "command": "npx", "args": [ "-y", "@r3e/neo-n3-mcp", "--network", "testnet" ], "disabled": false, "env": { "NEO_NETWORK": "testnet", "LOG_LEVEL": "info" } } } }
For mainnet configuration:
{ "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_mode
get_blockchain_info
, get_block_count
, get_block
, get_transaction
create_wallet
, import_wallet
get_balance
, transfer_assets
, estimate_transfer_fees
invoke_contract
, list_famous_contracts
, get_contract_info
claim_gas
, estimate_invoke_fees
neo://network/status
, neo://mainnet/status
, neo://testnet/status
neo://mainnet/blockchain
, neo://testnet/blockchain
neo://mainnet/contracts
, neo://testnet/contracts
neo://mainnet/assets
, neo://testnet/assets
MIT License - see LICENSE file for details.