Integrations
Enables containerized deployment of the Neo N3 MCP server, supporting isolated and consistent execution environments across different platforms.
Hosts the source code repository for the Neo N3 MCP server, enabling version control and collaboration on the codebase.
Supports comprehensive testing of the Neo N3 MCP server functionality, ensuring reliability of blockchain interactions.
Neo N3 MCP Server
An MCP server that provides seamless integration with the Neo N3 blockchain, allowing Claude to interact with blockchain data, manage wallets, transfer assets, and invoke smart contracts.
📚 Documentation
- Website - Comprehensive website with documentation, user guides and examples
- API Reference - Detailed API documentation for all tools and resources
- Deployment Guide - Comprehensive deployment options and configuration
- Testing Guide - Testing approach and instructions for verifying functionality
- Architecture - Detailed system architecture and design decisions
- Network Architecture - Dual-network support and configuration details
- Network Configuration - Configure which networks (mainnet, testnet, or both) are enabled
🚀 Features
- Dual Network Support: Interact with both Neo N3 mainnet and testnet networks in a single server
- Blockchain Information: Query blockchain height, validators, and network status
- Block & Transaction Data: Get detailed information about blocks and transactions
- Account Management: Check balances, create and import wallets securely
- Asset Operations: Transfer NEO, GAS, and other tokens between addresses
- Smart Contract Interaction: Deploy and invoke smart contracts on the Neo N3 blockchain
- Famous Contracts Support: Interact with NeoFS, NeoBurger, Flamingo, NeoCompound, GrandShare, and GhostMarket
- Transaction Monitoring: Check detailed transaction status with confirmation tracking
- Gas Fee Estimation: Calculate estimated gas fees for transfers before executing them
- Resilient RPC Communication: Automatic retry mechanisms with exponential backoff
- Security Focused: Input validation, secure wallet storage, and protection of private keys
- Docker Support: Easy deployment with Docker and Docker Compose
- One-Click Installation: Simple setup process for Claude integration
🔄 What's New in v1.0.8
- Enhanced RPC Reliability: Using secure HTTPS endpoints for both networks:
- Mainnet:
https://mainnet1.neo.coz.io:443
- Testnet:
https://testnet1.neo.coz.io:443
- Mainnet:
- Comprehensive Website: New website with detailed documentation, user guides, and integration examples
- Improved Development Tools: Added rebuild scripts and dark mode support
- Better Documentation: Enhanced documentation organization and readability
Configuration with MCP
You can easily add the Neo N3 MCP server to your Claude MCP configuration in different ways:
Using NPM (Recommended for Quick Start)
Add this to your claude_desktop_config.json
or MCP settings:
This will automatically download and run the Neo N3 MCP server without any local installation.
Using Docker
Add this to your claude_desktop_config.json
or MCP settings:
To build the Docker image locally:
Installation
Using Docker (recommended)
Manual Installation
Adding to MCP Settings
To add the Neo N3 MCP server to your MCP settings, you can use the provided script:
This will automatically add the Neo N3 MCP server to your Claude MCP settings file, making it available for use with Claude.
Configuration
The server can be configured using environment variables:
NEO_RPC_URL
: Default URL of the Neo N3 RPC node (default: https://mainnet1.neo.coz.io:443)NEO_MAINNET_RPC_URL
: URL of the Neo N3 mainnet RPC node (default: same as NEO_RPC_URL or https://mainnet1.neo.coz.io:443)NEO_TESTNET_RPC_URL
: URL of the Neo N3 testnet RPC node (default: https://testnet1.neo.coz.io:443)NEO_NETWORK
: Default network type: 'mainnet' or 'testnet' (default: mainnet)NEO_NETWORK_MODE
: Network mode: 'mainnet_only', 'testnet_only', or 'both' (default: both)WALLET_PATH
: Path to the wallet files (default: ./wallets)LOG_LEVEL
: Log level: 'debug', 'info', 'warn', 'error' (default: info)LOG_CONSOLE
: Whether to log to console (default: true)LOG_FILE
: Whether to log to file (default: false)LOG_FILE_PATH
: Path to log file (default: ./logs/neo-n3-mcp.log)MAX_REQUESTS_PER_MINUTE
: Maximum number of requests per minute (default: 60)REQUIRE_CONFIRMATION
: Whether to require confirmation for sensitive operations (default: true)
Usage
Network Configuration Tools
The server provides tools to get and set the network mode at runtime:
get_network_mode
Get the current network mode configuration.
set_network_mode
Set the active network mode.
Blockchain Tools
All tools support an optional network
parameter to specify which network to use ('mainnet' or 'testnet').
get_blockchain_info
Get general information about the Neo N3 blockchain.
get_block
Get block details by height or hash.
get_transaction
Get transaction details by hash.
get_balance
Get account balance for a specific address.
transfer_assets
Transfer assets between addresses.
invoke_contract
Invoke a smart contract method.
create_wallet
Create a new wallet.
import_wallet
Import an existing wallet from WIF or encrypted key.
Resources
Neo N3 Network Status
Default network (based on configuration):
Specific networks:
Neo N3 Block by Height
Default network:
Specific networks:
Neo N3 Address Balance
Default network:
Specific networks:
Testing
The Neo N3 MCP server includes comprehensive tests to ensure its functionality. There are multiple ways to run tests:
Using Jest (TypeScript Tests)
Jest tests provide comprehensive testing with proper mocking:
The test suite includes tests for:
- Core Services:
- Neo service (blockchain interactions)
- Contract service (smart contract interactions)
- Utilities:
- Validation (input parameter validation)
- Error handling (standardized error responses)
- Cache (in-memory caching with TTL)
- Rate limiting (request throttling)
- Website Components:
- Main page functionality
- Documentation page navigation
- API playground interactions
- Block explorer functionality
- Chat interface
Using Simple Test Runner (JavaScript)
Simplified JavaScript test runners are also available for quick testing:
These tests cover core API functionality without requiring TypeScript compilation.
Development and Contributing
Publishing
To publish the package to NPM and/or Docker registries:
Development Setup
For development, use:
Security Considerations
- Private keys are never exposed in responses
- Sensitive operations (transfers, contract invocations) require explicit confirmation
- Input validation is performed for all parameters
- Error messages are designed to be informative without exposing sensitive information
Technical Details
Service Architecture
The Neo N3 MCP server is structured around several key components:
- MCP Interface: Implemented in
src/index.ts
- Handles MCP protocol communication - Neo Service: Implemented in
src/services/neo-service.ts
- Core Neo N3 blockchain interactions - Validation: Implemented in
src/utils/validation.ts
- Parameter validation - Error Handling: Implemented in
src/utils/error-handler.ts
- Standardized error responses
Error Handling
Errors are standardized through the handleError
function which:
- Converts Neo N3 specific errors to user-friendly messages
- Masks sensitive information
- Provides clear actionable information to users
Networking
The server automatically handles network retries and errors when connecting to the Neo N3 blockchain network. Connection parameters like timeouts and retry attempts can be configured through environment variables.
Project Structure
The project is organized as follows:
Acknowledgments
This project would not be possible without the following:
- @cityofzion/neon-js - The official JavaScript SDK for Neo N3 blockchain, providing the core functionality for interacting with the Neo N3 network. Special thanks to the City of Zion team for their ongoing development and maintenance of this essential library.
- MCP Protocol - For providing the standardized protocol for AI systems to interact with external tools and resources.
License
This MCP server is licensed under the MIT License. See the LICENSE file for details.
Famous Neo N3 Contracts Support
The Neo N3 MCP Server now includes support for interacting with famous Neo N3 contracts like:
- NeoFS: Decentralized storage system on Neo N3 blockchain
- NeoBurger: Neo N3 staking service
- Flamingo (FLM): Neo N3 DeFi platform
- NeoCompound: Automatic yield farming protocol on Neo N3
- GrandShare: Profit sharing protocol on Neo N3
- GhostMarket: NFT marketplace on Neo N3
Contract Tools
Listing and Information
list_famous_contracts
: List all supported famous Neo N3 contractsget_contract_info
: Get details about a specific famous contract
NeoFS Tools
neofs_create_container
: Create a storage container in NeoFSneofs_get_containers
: Get containers owned by an address
NeoBurger Tools
neoburger_deposit
: Deposit NEO to NeoBurger to receive bNEO tokensneoburger_withdraw
: Withdraw NEO from NeoBurger by returning bNEO tokensneoburger_get_balance
: Get bNEO balance of an accountneoburger_claim_gas
: Claim accumulated GAS rewards from NeoBurger
Flamingo Tools
flamingo_stake
: Stake FLM tokens on Flamingoflamingo_unstake
: Unstake FLM tokens from Flamingoflamingo_get_balance
: Get FLM token balance
NeoCompound Tools
neocompound_deposit
: Deposit assets into NeoCompoundneocompound_withdraw
: Withdraw assets from NeoCompoundneocompound_get_balance
: Get balance of deposited assets in NeoCompound
GrandShare Tools
grandshare_deposit
: Deposit assets into GrandShare poolgrandshare_withdraw
: Withdraw assets from GrandShare poolgrandshare_get_pool_details
: Get details about a GrandShare pool
GhostMarket Tools
ghostmarket_create_nft
: Create a new NFT on GhostMarketghostmarket_list_nft
: List an NFT for sale on GhostMarketghostmarket_buy_nft
: Buy a listed NFT on GhostMarketghostmarket_get_token_info
: Get information about an NFT on GhostMarket
Examples
Getting a List of Famous Contracts
Getting Contract Information
Depositing to NeoBurger
Staking on Flamingo
Depositing to NeoCompound
Creating an NFT on GhostMarket
Getting GrandShare Pool Details
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
An MCP server that provides seamless integration with the Neo N3 blockchain, allowing Claude to interact with blockchain data, manage wallets, transfer assets, and invoke smart contracts.
Related MCP Servers
- -securityAlicense-qualityAn MCP server that allows accessing and managing ledger files through Claude by providing account listing, balance checking, and transaction register viewing capabilities.Last updated -1PythonGPL 3.0
- AsecurityFlicenseAqualityAn MCP server that connects Claude to BrianKnows' blockchain knowledge base, allowing users to search for blockchain/DeFi information and interact with a specialized agent across multiple knowledge bases.Last updated -3JavaScript
- -securityFlicense-qualityAn MCP server that connects Claude for Desktop with blockchain functionality, allowing users to check balances and send tokens on EVM and Solana chains through natural language interactions.Last updated -TypeScript
- -securityAlicense-qualityA meta-server that allows Claude to install other MCP servers from npm or PyPi, enabling easy expansion of Claude's capabilities with external tools.Last updated -4,3211MIT License