Neo N3 MCP Server

MIT License
2
2
  • Linux
  • Apple

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 サーバー

Neo N3 ブロックチェーンとのシームレスな統合を提供する MCP サーバー。これにより、Claude はブロックチェーン データと対話し、ウォレットを管理し、資産を転送し、スマート コントラクトを呼び出すことができます。

📚 ドキュメント

🚀 機能

  • デュアルネットワークサポート:単一サーバーでNeo N3メインネットとテストネットの両方のネットワークと対話します。
  • ブロックチェーン情報: ブロックチェーンの高さ、バリデータ、ネットワークの状態を照会する
  • ブロックとトランザクションデータ: ブロックとトランザクションに関する詳細情報を取得します
  • アカウント管理: 残高の確認、ウォレットの作成とインポートを安全に行う
  • 資産操作: NEO、GAS、その他のトークンをアドレス間で転送する
  • スマートコントラクトインタラクション:Neo N3ブロックチェーン上でスマートコントラクトを展開および呼び出します
  • 有名な契約のサポート:NeoFS、NeoBurger、Flamingo、NeoCompound、GrandShare、GhostMarket と連携
  • 取引監視: 確認追跡で詳細な取引ステータスを確認します
  • ガス料金の見積もり: 送金を実行する前に、ガス料金の見積もりを計算します。
  • レジリエントRPC通信:指数バックオフによる自動再試行メカニズム
  • セキュリティ重視: 入力検証、安全なウォレット保管、秘密鍵の保護
  • Docker サポート: Docker と Docker Compose による簡単なデプロイ
  • ワンクリックインストール:Claude統合のためのシンプルなセットアッププロセス

🔄 v1.0.8 の新機能

  • 強化された RPC の信頼性: 両方のネットワークで安全な HTTPS エンドポイントを使用します。
    • メインネット: https://mainnet1.neo.coz.io:443
    • テストネット: https://testnet1.neo.coz.io:443
  • 包括的なウェブサイト: 詳細なドキュメント、ユーザーガイド、統合例を掲載した新しいウェブサイト
  • 開発ツールの改善: 再構築スクリプトとダークモードのサポートを追加
  • ドキュメントの改善: ドキュメントの構成と読みやすさが向上

MCPを使用した構成

さまざまな方法で、Neo N3 MCP サーバーを Claude MCP 構成に簡単に追加できます。

NPM の使用 (クイック スタートに推奨)

これをclaude_desktop_config.jsonまたは MCP 設定に追加します。

{ "mcpServers": { "neo-n3": { "command": "npx", "args": [ "-y", "@r3e/neo-n3-mcp" ] } } }

これにより、ローカル インストールなしで、Neo N3 MCP サーバーが自動的にダウンロードされ、実行されます。

Dockerの使用

これをclaude_desktop_config.jsonまたは MCP 設定に追加します。

{ "mcpServers": { "neo-n3": { "command": "docker", "args": [ "run", "--rm", "-i", "r3e/neo-n3-mcp" ] } } }

Docker イメージをローカルでビルドするには:

docker build -t r3e/neo-n3-mcp .

インストール

Dockerの使用(推奨)

# Clone the repository git clone https://github.com/R3E-Network/neo-n3-mcp.git cd neo-n3-mcp # Start the server with Docker Compose docker-compose up -d

手動インストール

# Clone the repository git clone https://github.com/R3E-Network/neo-n3-mcp.git cd neo-n3-mcp # Install dependencies npm install # Build the project npm run build # Start the server npm start

MCP設定への追加

Neo N3 MCP サーバーを MCP 設定に追加するには、提供されているスクリプトを使用できます。

# Build the project first npm run build # Add to MCP settings npm run add-to-mcp

これにより、Neo N3 MCP サーバーが Claude MCP 設定ファイルに自動的に追加され、Claude で使用できるようになります。

構成

サーバーは環境変数を使用して設定できます。

  • NEO_RPC_URL : Neo N3 RPCノードのデフォルトURL(デフォルト: https://mainnet1.neo.coz.io:443
  • NEO_MAINNET_RPC_URL : Neo N3 メインネット RPC ノードの URL (デフォルト: NEO_RPC_URL と同じ、またはhttps://mainnet1.neo.coz.io:443 )
  • NEO_TESTNET_RPC_URL : Neo N3 テストネット RPC ノードの URL (デフォルト: https://testnet1.neo.coz.io:443 )
  • NEO_NETWORK : デフォルトのネットワークタイプ: 'mainnet' または 'testnet' (デフォルト: mainnet)
  • NEO_NETWORK_MODE : ネットワークモード: 'mainnet_only'、'testnet_only'、または 'both' (デフォルト: both)
  • WALLET_PATH : ウォレットファイルへのパス(デフォルト: ./wallets)
  • LOG_LEVEL : ログレベル: 'debug'、'info'、'warn'、'error' (デフォルト: info)
  • LOG_CONSOLE : コンソールにログを記録するかどうか(デフォルト: true)
  • LOG_FILE : ファイルにログを記録するかどうか(デフォルト: false)
  • LOG_FILE_PATH : ログファイルへのパス (デフォルト: ./logs/neo-n3-mcp.log)
  • MAX_REQUESTS_PER_MINUTE : 1分あたりのリクエストの最大数(デフォルト: 60)
  • REQUIRE_CONFIRMATION : 機密操作に対して確認を要求するかどうか (デフォルト: true)

使用法

ネットワーク構成ツール

サーバーは、実行時にネットワーク モードを取得および設定するためのツールを提供します。

get_network_mode

現在のネットワーク モード構成を取得します。

{ "name": "get_network_mode", "arguments": {} }
ネットワークモードの設定

アクティブなネットワーク モードを設定します。

{ "name": "set_network_mode", "arguments": { "mode": "testnet_only" } }

ブロックチェーンツール

すべてのツールは、使用するネットワーク (「mainnet」または「testnet」) を指定するためのオプションのnetworkパラメータをサポートしています。

ブロックチェーン情報を取得する

Neo N3 ブロックチェーンに関する一般情報を入手します。

{ "name": "get_blockchain_info", "arguments": { "network": "testnet" } }
ブロックを取得する

高さまたはハッシュでブロックの詳細を取得します。

{ "name": "get_block", "arguments": { "hashOrHeight": 12345, "network": "mainnet" } }
get_transaction

ハッシュでトランザクションの詳細を取得します。

{ "name": "get_transaction", "arguments": { "txid": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890", "network": "testnet" } }
残高を取得する

特定のアドレスのアカウント残高を取得します。

{ "name": "get_balance", "arguments": { "address": "NXV7ZhHiyM1aHXwvUNBLNAkCwZ6wgeKyMZ", "network": "mainnet" } }
資産移転

アドレス間で資産を転送します。

{ "name": "transfer_assets", "arguments": { "fromWIF": "KwDZGCUXYAB1cUNmZKQ5RFUBAYPjwXvpavQQHvpeH1qM5pJ3zurn", "toAddress": "NXV7ZhHiyM1aHXwvUNBLNAkCwZ6wgeKyMZ", "asset": "NEO", "amount": "1", "confirm": true, "network": "testnet" } }
呼び出し契約

スマート コントラクト メソッドを呼び出します。

{ "name": "invoke_contract", "arguments": { "fromWIF": "KwDZGCUXYAB1cUNmZKQ5RFUBAYPjwXvpavQQHvpeH1qM5pJ3zurn", "scriptHash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", "operation": "transfer", "args": [ { "type": "Hash160", "value": "NXV7ZhHiyM1aHXwvUNBLNAkCwZ6wgeKyMZ" }, { "type": "Hash160", "value": "NXV7ZhHiyM1aHXwvUNBLNAkCwZ6wgeKyMZ" }, { "type": "Integer", "value": "1" }, { "type": "Any", "value": null } ], "confirm": true, "network": "testnet" } }
ウォレットを作成する

新しいウォレットを作成します。

{ "name": "create_wallet", "arguments": { "password": "your-secure-password", "network": "mainnet" } }
インポートウォレット

WIF または暗号化キーから既存のウォレットをインポートします。

{ "name": "import_wallet", "arguments": { "key": "KwDZGCUXYAB1cUNmZKQ5RFUBAYPjwXvpavQQHvpeH1qM5pJ3zurn", "password": "your-secure-password", "network": "testnet" } }

リソース

Neo N3 ネットワークステータス

デフォルトのネットワーク(構成に基づく):

neo://network/status

特定のネットワーク:

neo://mainnet/status neo://testnet/status
高さ別ネオN3ブロック

デフォルトネットワーク:

neo://block/{height}

特定のネットワーク:

neo://mainnet/block/{height} neo://testnet/block/{height}
Neo N3 アドレス残高

デフォルトネットワーク:

neo://address/{address}/balance

特定のネットワーク:

neo://mainnet/address/{address}/balance neo://testnet/address/{address}/balance

テスト

Neo N3 MCPサーバーには、その機能性を保証するための包括的なテストが含まれています。テストを実行する方法は複数あります。

Jest (TypeScript テスト) の使用

Jest テストは適切なモックを使用した包括的なテストを提供します。

# Install dependencies first npm install # Run all Jest tests npm test # Run specific test files npx jest tests/utils/validation.test.ts npx jest tests/contracts/contract-service.test.ts

テスト スイートには次のテストが含まれます。

  • コアサービス:
    • Neoサービス(ブロックチェーンインタラクション)
    • 契約サービス(スマートコントラクトのやり取り)
  • ユーティリティ:
    • 検証(入力パラメータの検証)
    • エラー処理(標準化されたエラー応答)
    • キャッシュ(TTL によるメモリ内キャッシュ)
    • レート制限(リクエストスロットリング)
  • ウェブサイトのコンポーネント:
    • メインページの機能
    • ドキュメントページのナビゲーション
    • APIプレイグラウンドのインタラクション
    • ブロックエクスプローラー機能
    • チャットインターフェース

シンプルなテストランナーの使用(JavaScript)

簡単なテストのために、簡略化された JavaScript テスト ランナーも利用できます。

# Run the simplified test node tests/simple-test.js # Run network test node tests/network-test.js # Run transaction status test node tests/transaction-status-test.js

これらのテストは、TypeScript のコンパイルを必要とせずにコア API 機能をカバーします。

開発と貢献

出版

パッケージを NPM および/または Docker レジストリに公開するには:

# Publish to NPM npm run publish:npm # Build and publish Docker image npm run publish:docker # Publish to both npm run publish:all

開発セットアップ

開発には以下を使用します:

# Build with TypeScript watching npm run dev

セキュリティに関する考慮事項

  • 応答では秘密鍵が決して公開されない
  • 機密性の高い操作(転送、契約の呼び出し)には明示的な確認が必要です
  • すべてのパラメータに対して入力検証が実行されます
  • エラーメッセージは、機密情報を公開することなく、有益な情報を提供するように設計されています。

技術的な詳細

サービスアーキテクチャ

Neo N3 MCP サーバーは、いくつかの主要コンポーネントを中心に構成されています。

  1. MCP インターフェース: src/index.tsに実装 - MCP プロトコル通信を処理します
  2. Neo サービス: src/services/neo-service.tsに実装 - コア Neo N3 ブロックチェーンのインタラクション
  3. 検証: src/utils/validation.tsに実装 - パラメータ検証
  4. エラー処理: src/utils/error-handler.tsに実装 - 標準化されたエラー応答

エラー処理

エラーは、次のhandleError関数を通じて標準化されます。

  • Neo N3特有のエラーをユーザーフレンドリーなメッセージに変換します
  • 機密情報をマスクする
  • ユーザーに明確で実用的な情報を提供する

ネットワーキング

サーバーは、Neo N3ブロックチェーンネットワークへの接続時に、ネットワークの再試行とエラーを自動的に処理します。タイムアウトや再試行などの接続パラメータは、環境変数で設定できます。

プロジェクト構造

プロジェクトは次のように構成されています。

neo-n3-mcp/ ├── src/ │ ├── services/ │ │ └── neo-service.ts # Core Neo N3 blockchain interaction │ ├── utils/ │ │ ├── validation.ts # Input validation │ │ └── error-handler.ts # Error handling and responses │ ├── config.ts # Configuration settings │ └── index.ts # MCP server and tool definitions ├── tests/ │ ├── neo-service.test.ts # Jest tests for NeoService │ └── simple-test.js # Simple JavaScript test runner ├── scripts/ │ ├── add-to-mcp-settings.js # Script to add to MCP settings │ ├── publish-npm.js # Script to publish to NPM │ └── publish-docker.sh # Script to build and publish Docker image ├── wallets/ # Wallet storage directory ├── dist/ # Compiled TypeScript output ├── docker-compose.yml # Docker Compose configuration ├── Dockerfile # Docker container definition ├── package.json # Node.js package definition └── tsconfig.json # TypeScript configuration

謝辞

このプロジェクトは、以下のものがなければ実現できません。

  • @cityofzion/neon-js - Neo N3ブロックチェーンの公式JavaScript SDK。Neo N3ネットワークと連携するためのコア機能を提供します。この重要なライブラリの継続的な開発とメンテナンスに尽力いただいているCity of Zionチームに深く感謝いたします。
  • MCP プロトコル- AI システムが外部ツールやリソースと対話するための標準化されたプロトコルを提供します。

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。詳細はLICENSEファイルをご覧ください。

有名なNeo N3契約サポート

Neo N3 MCP サーバーには、次のような有名な Neo N3 コントラクトとのやり取りのサポートが含まれるようになりました。

  • NeoFS : Neo N3ブロックチェーン上の分散型ストレージシステム
  • NeoBurger : Neo N3 ステーキングサービス
  • フラミンゴ(FLM) :Neo N3 DeFiプラットフォーム
  • NeoCompound : Neo N3 の自動イールドファーミングプロトコル
  • GrandShare : Neo N3の利益分配プロトコル
  • GhostMarket : Neo N3のNFTマーケットプレイス

契約ツール

リストと情報
  • list_famous_contracts : サポートされているすべての有名な Neo N3 契約を一覧表示します
  • get_contract_info : 特定の有名な契約の詳細を取得する
NeoFSツール
  • neofs_create_container : NeoFS にストレージコンテナを作成する
  • neofs_get_containers : アドレスが所有するコンテナを取得する
ネオバーガーツール
  • neoburger_deposit : NeoBurgerにNEOを入金してbNEOトークンを受け取る
  • neoburger_withdraw : bNEOトークンを返却してNeoBurgerからNEOを引き出す
  • neoburger_get_balance : アカウントのbNEO残高を取得する
  • neoburger_claim_gas : NeoBurger から蓄積された GAS 報酬を請求する
フラミンゴツール
  • flamingo_stake : FlamingoでFLMトークンをステークする
  • flamingo_unstake : FlamingoからFLMトークンをアンステークする
  • flamingo_get_balance : FLMトークン残高を取得する
ネオコンパウンドツール
  • neocompound_deposit : NeoCompoundに資産を入金する
  • neocompound_withdraw : NeoCompoundから資産を引き出す
  • neocompound_get_balance : NeoCompound に預けられた資産の残高を取得します
GrandShareツール
  • grandshare_deposit : GrandShareプールに資産を預ける
  • grandshare_withdraw : GrandShareプールから資産を引き出す
  • grandshare_get_pool_details : GrandShare プールの詳細を取得する
GhostMarketツール
  • ghostmarket_create_nft : GhostMarketで新しいNFTを作成する
  • ghostmarket_list_nft : GhostMarket で NFT を販売する
  • ghostmarket_buy_nft : GhostMarket で上場されている NFT を購入する
  • ghostmarket_get_token_info : GhostMarket 上の NFT に関する情報を取得する

有名な契約のリストを入手する
const result = await callTool('list_famous_contracts', { network: 'mainnet' });
契約情報の取得
const result = await callTool('get_contract_info', { contractName: 'flamingo', network: 'mainnet' });
NeoBurgerへの入金
const result = await callTool('neoburger_deposit', { fromWIF: 'your-private-key-wif-format', confirm: true, network: 'mainnet' });
フラミンゴへのステーキング
const result = await callTool('flamingo_stake', { fromWIF: 'your-private-key-wif-format', amount: '100', confirm: true, network: 'mainnet' });
NeoCompoundへの入金
const result = await callTool('neocompound_deposit', { walletPath: '/path/to/wallet.json', walletPassword: 'your-password', assetId: '0xd2a4cff31913016155e38e474a2c06d08be276cf', amount: '100', network: 'mainnet' });
GhostMarketでNFTを作成する
const result = await callTool('ghostmarket_create_nft', { walletPath: '/path/to/wallet.json', walletPassword: 'your-password', tokenURI: 'https://example.com/nft/metadata.json', properties: [ { key: "artist", value: "ExampleArtist" }, { key: "edition", value: "1/1" } ], network: 'mainnet' });
GrandShareプールの詳細を取得する
const result = await callTool('grandshare_get_pool_details', { poolId: 1, network: 'mainnet' });
-
security - not tested
A
license - permissive license
-
quality - not tested

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.

Neo N3 ブロックチェーンとのシームレスな統合を提供する MCP サーバー。これにより、Claude はブロックチェーン データと対話し、ウォレットを管理し、資産を転送し、スマート コントラクトを呼び出すことができます。

  1. 📚 Documentation
    1. 🚀 Features
      1. 🔄 What's New in v1.0.8
        1. Configuration with MCP
          1. Using NPM (Recommended for Quick Start)
          2. Using Docker
        2. Installation
          1. Using Docker (recommended)
          2. Manual Installation
          3. Adding to MCP Settings
        3. Configuration
          1. Usage
            1. Network Configuration Tools
            2. Blockchain Tools
            3. Resources
          2. Testing
            1. Using Jest (TypeScript Tests)
            2. Using Simple Test Runner (JavaScript)
          3. Development and Contributing
            1. Publishing
            2. Development Setup
          4. Security Considerations
            1. Technical Details
              1. Service Architecture
              2. Error Handling
              3. Networking
            2. Project Structure
              1. Acknowledgments
                1. License
                  1. Famous Neo N3 Contracts Support
                    1. Contract Tools
                    2. Examples

                  Related MCP Servers

                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that allows accessing and managing ledger files through Claude by providing account listing, balance checking, and transaction register viewing capabilities.
                    Last updated -
                    1
                    Python
                    GPL 3.0
                    • Apple
                  • A
                    security
                    F
                    license
                    A
                    quality
                    An 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 -
                    3
                    JavaScript
                  • -
                    security
                    F
                    license
                    -
                    quality
                    An 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
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A 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,321
                    1
                    MIT License
                    • Apple

                  View all related MCP servers

                  ID: u2xsj86nbp