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가 블록체인 데이터와 상호 작용하고, 지갑을 관리하고, 자산을 이체하고, 스마트 계약을 호출할 수 있도록 지원합니다.

📚 문서

  • 웹사이트 - 문서, 사용자 가이드 및 예제가 포함된 포괄적인 웹사이트
  • API 참조 - 모든 도구 및 리소스에 대한 자세한 API 문서
  • 배포 가이드 - 포괄적인 배포 옵션 및 구성
  • 테스트 가이드 - 기능 검증을 위한 테스트 접근 방식 및 지침
  • 아키텍처 - 세부적인 시스템 아키텍처 및 설계 결정
  • 네트워크 아키텍처 - 듀얼 네트워크 지원 및 구성 세부 정보
  • 네트워크 구성 - 어떤 네트워크(메인넷, 테스트넷 또는 둘 다)가 활성화되는지 구성합니다.

🚀 특징

  • 듀얼 네트워크 지원 : 단일 서버에서 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를 사용한 구성

다음과 같은 다양한 방법으로 Claude MCP 구성에 Neo N3 MCP 서버를 쉽게 추가할 수 있습니다.

NPM 사용(빠른 시작에 권장)

claude_desktop_config.json 또는 MCP 설정에 다음을 추가하세요.

지엑스피1

이렇게 하면 로컬 설치 없이 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 설정에 추가

MCP 설정에 Neo N3 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 : 기본 네트워크 유형: '메인넷' 또는 '테스트넷'(기본값: 메인넷)
  • 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 : 분당 최대 요청 수(기본값: 60)
  • REQUIRE_CONFIRMATION : 민감한 작업에 대한 확인을 요구할지 여부(기본값: true)

용법

네트워크 구성 도구

서버는 런타임에 네트워크 모드를 가져오고 설정하는 도구를 제공합니다.

get_network_mode

현재 네트워크 모드 구성을 가져옵니다.

{ "name": "get_network_mode", "arguments": {} }
네트워크 모드 설정

활성 네트워크 모드를 설정합니다.

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

블록체인 도구

모든 도구는 어떤 네트워크를 사용할지('메인넷' 또는 '테스트넷') 지정하는 선택적 network 매개변수를 지원합니다.

블록체인 정보 얻기

Neo N3 블록체인에 대한 일반 정보를 알아보세요.

{ "name": "get_blockchain_info", "arguments": { "network": "testnet" } }
블록을 얻으세요

높이 또는 해시로 블록 세부 정보를 가져옵니다.

{ "name": "get_block", "arguments": { "hashOrHeight": 12345, "network": "mainnet" } }
거래 받기

해시로 거래 세부 정보를 가져옵니다.

{ "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
높이별 Neo 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

테스트 모음에는 다음에 대한 테스트가 포함되어 있습니다.

  • 핵심 서비스:
    • 네오 서비스(블록체인 상호작용)
    • 계약 서비스(스마트 계약 상호작용)
  • 유용:
    • 검증(입력 매개변수 검증)
    • 오류 처리(표준화된 오류 응답)
    • 캐시(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 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 라이선스 파일을 참조하세요.

유명한 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_deposit : GrandShare 풀에 자산 입금
  • grandshare_withdraw : GrandShare 풀에서 자산 인출
  • grandshare_get_pool_details : GrandShare 풀에 대한 세부 정보를 가져옵니다.
고스트마켓 도구
  • 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