Integrates with the Neo N3 blockchain for wallet management, asset transfers, contract interactions, and blockchain queries.
MCP Server for Neo N3 Blockchain Integration | Version 1.6.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.6.0"
},
"wallets": {
"directory": "./wallets"
}
}
Run with config file:
neo-n3-mcp --config ./neo-mcp-config.json
# Basic run
docker run -p 3000:3000 r3enetwork/neo-n3-mcp:1.6.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 \
r3enetwork/neo-n3-mcp:1.6.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 \
r3enetwork/neo-n3-mcp:1.6.0
Create a 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
Run with:
docker-compose up -d
# Quick start with 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
# Or build and run manually
npm run docker:build
npm run docker:run
# Development mode
npm run docker:up:dev
# Build production image
./scripts/docker-build.sh --tag v1.6.0
# Run with custom configuration
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
# Build development image
./scripts/docker-build.sh --dev
# Run with hot reload and debugging
docker-compose -f docker/docker-compose.dev.yml up -d
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
This project follows Semantic Versioning with automated CI/CD pipeline for releases. See our Version Management Guide for detailed information.
# 1. First, do a dry run to see what will happen
./scripts/prepare-release.sh --type minor --dry-run
# 2. If everything looks good, run the actual release preparation
./scripts/prepare-release.sh --type minor
# 3. Push the changes (script will guide you)
git push
# 4. Create GitHub release (triggers full CI/CD pipeline)
gh release create v1.7.0 --generate-notes
# Check current version
npm run version:check
# Bump version manually
npm run version:patch # 1.6.0 β 1.6.1 (bug fixes)
npm run version:minor # 1.6.0 β 1.7.0 (new features)
npm run version:major # 1.6.0 β 2.0.0 (breaking changes)
# Then commit and push
git add . && git commit -m "chore: bump version to 1.7.0"
git push
# Using GitHub CLI
gh release create v1.7.0 --generate-notes
# Or manually through GitHub web interface:
# 1. Go to https://github.com/r3e-network/neo-n3-mcp/releases
# 2. Click "Create a new release"
# 3. Tag: v1.7.0, Title: "Release v1.7.0"
# 4. Auto-generate release notes
# 5. Publish release
The automated CI/CD pipeline triggers the following workflow:
Type | Version Change | Use Case | Example |
---|---|---|---|
patch | 1.6.0 β 1.6.1 | Bug fixes, security patches | ./scripts/prepare-release.sh --type patch |
minor | 1.6.0 β 1.7.0 | New features, enhancements | ./scripts/prepare-release.sh --type minor |
major | 1.6.0 β 2.0.0 | Breaking changes | ./scripts/prepare-release.sh --type major |
# For next minor release (recommended for new features)
./scripts/prepare-release.sh --type minor
# For patch release (bug fixes)
./scripts/prepare-release.sh --type patch
# For major release (breaking changes)
./scripts/prepare-release.sh --type major
# Test what would happen (dry run)
./scripts/prepare-release.sh --type minor --dry-run
NPM_TOKEN
- For NPM registry publishingDOCKER_USERNAME
- Docker Hub usernameDOCKER_PASSWORD
- Docker Hub access tokenMIT License - see LICENSE file for details.
Query information about dependencies in a Ruby project's Gemfile.
Single tool to control all 100+ API integrations, and UI components
Run Postman collections using Newman, with support for environment and global variables.
Advanced computer vision and object detection MCP server powered by Dino-X, enabling AI agents to analyze images, detect objects, identify keypoints, and perform visual understanding tasks.
An MCP server (and command-line tool) to provide a dynamic map of chat-related files from the repository with their function prototypes and related files in order of relevance. Based on the "Repo Map" functionality in Aider.chat
Connects Blender to Claude AI via the Model Context Protocol (MCP), enabling direct interaction and control for prompt-assisted 3D modeling, scene creation, and manipulation.
Share code context with LLMs via Model Context Protocol or clipboard.
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMaticβs API.
Automates the setup of new AI-powered MCP server development projects.
A unified framework for integrating various language models and embedding providers to generate text completions and embeddings.