Neo N3 모델 컨텍스트 프로토콜(MCP) v1.4.0
Neo N3 모델 컨텍스트 프로토콜(MCP)은 AI 에이전트와 애플리케이션이 Neo N3 블록체인과 상호 작용할 수 있도록 표준화된 인터페이스를 제공합니다. 이 서버 구현은 표준 사용을 위해 수동 환경 구성 없이 npx 통해 직접 실행되어 단순성과 사용 편의성을 제공합니다.
클라이언트(예: VS Code)에 MCP 추가
npx 통해 클라이언트가 표준 I/O 서버를 사용하도록 구성하세요.
옵션 A: VS Code 사용자 설정(JSON)
사용자 설정 JSON에 다음을 추가합니다( Ctrl+Shift+P > Preferences: Open User Settings (JSON) ):
지엑스피1
옵션 B: 작업 공간 구성(
.vscode 디렉터리 안에 mcp.json 이라는 파일을 만듭니다.
{
"servers": {
"neo-n3": { // You can choose any name
"command": "npx",
"args": [
"-y", // Auto-confirm npx installation/update
"@r3e/neo-n3-mcp"
]
}
}
}
옵션 C: 다른 클라이언트(예: 커서)
클라이언트의 지시에 따라 명령을 사용하여 MCP 서버를 추가하세요. npx 명령과 ["-y", "@r3e/neo-n3-mcp"] 인수를 제공하세요.
Related MCP server: Salesforce MCP Server
사용 가능한 도구
자세한 매개변수와 예제는
구성 및 네트워크
도구 | 설명 | 주요 매개변수 |
get_network_mode
| 현재 구성된 네트워크 모드를 가져옵니다 | 없음 |
set_network_mode
| 이후 통화에 대한 활성 네트워크 모드를 설정합니다. | mode : "mainnet_only", "testnet_only" 또는 "둘 다"
|
블록체인 정보
도구 | 설명 | 주요 매개변수 |
get_blockchain_info
| 현재 키와 일반적인 네트워크 정보를 얻으세요 | network
|
get_block_count
| 현재 블록 높이를 가져옵니다 | network
|
get_block
| 해시 또는 높이로 블록 세부 정보 가져오기 | network , hashOrHeight
|
get_transaction
| 거래 ID로 거래 세부 정보 가져오기 | network , txid
|
check_transaction_status
| 거래가 확인되었는지 확인하세요 | network , txid
|
지갑 및 계정 관리
도구 | 설명 | 주요 매개변수 |
create_wallet
| 새로운 암호화된 지갑 파일을 만듭니다 | password
|
import_wallet
| WIF/개인 키에서 기존 지갑 가져오기 | key , password
|
get_balance
| 주소에 대한 토큰 잔액 가져오기 | network , address
|
자산 이전
도구 | 설명 | 주요 매개변수 |
transfer_assets
| NEO, GAS 또는 기타 NEP-17 토큰을 보내세요 | network , fromWIF , toAddress , asset , amount , confirm
|
estimate_transfer_fees
| 전송에 대한 네트워크 및 시스템 수수료 추정 | network , fromAddress , toAddress , asset , amount
|
스마트 계약 상호 작용
도구 | 설명 | 주요 매개변수 |
list_famous_contracts
| 서버에서 지원하는 잘 알려진 계약을 나열합니다. | network
|
get_contract_info
| 유명 계약의 세부 정보(해시, 메서드)를 가져옵니다. | network , contractName
|
invoke_contract (invoke_read/write를 대체)
| 스마트 계약 메서드 호출(읽기 또는 쓰기) | network , scriptHash , operation , args , fromWIF (쓰기용), confirm (쓰기용)
|
NeoFS(탈중앙화 스토리지)
도구 | 설명 | 주요 매개변수 |
neofs_create_container
| NeoFS 스토리지 컨테이너 생성 | network , fromWIF , ownerId , rules , confirm
|
neofs_get_containers
| ID가 소유한 컨테이너 나열 | network , ownerId
|
네오버거(스테이킹 서비스)
도구 | 설명 | 주요 매개변수 |
neoburger_deposit
| bNEO를 받으려면 NEO를 입금하세요 | network , fromWIF , confirm
|
neoburger_withdraw
| bNEO를 반환하여 NEO를 인출하세요 | network , fromWIF , amount , confirm
|
요청 예시
블록체인 정보 얻기
요구:
{
"name": "get_blockchain_info",
"arguments": {
"network": "mainnet"
}
}
응답:
{
"result": {
"height": 3456789,
"network": "mainnet"
}
}
자산 이전
요구:
{
"name": "transfer_assets",
"arguments": {
"network": "testnet",
"fromWIF": "YourSenderWalletWIF",
"toAddress": "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
"asset": "NEO",
"amount": "1",
"confirm": true
}
}
응답:
{
"result": {
"txid": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"address": "NVbGwMfRQVudQCcChhCFwQRwSxr5tYEqQs",
"network": "testnet"
}
}
오류 처리
MCP 서버는 표준화된 오류 응답을 반환합니다.
{
"error": {
"code": "INVALID_PARAMETER",
"message": "Invalid network parameter. Must be 'mainnet' or 'testnet'."
}
}
일반적인 오류 코드:
INVALID_PARAMETER : 매개변수가 누락되었거나 잘못되었습니다.
NETWORK_ERROR : Neo N3 노드에 연결하는 중 오류가 발생했습니다.
BLOCKCHAIN_ERROR : Neo N3 블록체인 오류
WALLET_ERROR : 지갑 작업 오류
CONTRACT_ERROR : 스마트 계약 작업 오류
UNAUTHORIZED : 작업이 허용되지 않음
INTERNAL_ERROR : 예기치 않은 서버 오류
보안 모범 사례
WIF 처리: Wallet Import Format(WIF) 키를 제공할 때는 각별히 주의하십시오. MCP 서버가 실행되는 환경과 통신 채널의 보안을 유지해야 합니다. 서버를 로컬 또는 신뢰할 수 있는 네트워크에서 실행하는 것을 고려해 보십시오. 강력한 인증 및 전송 보안(HTTPS) 없이 서버를 공개적으로 노출하지 마십시오.
파일 기반 접근 방식을 사용하는 경우 지갑 파일을 안전하게 저장합니다(현재 API는 WIF 기반인 듯합니다).
모든 상태 변경 작업(전송, 계약 호출)에 대해 confirm: true 사용하여 트랜잭션이 네트워크에서 처리되도록 합니다.
강력한 비밀번호로 지갑 파일을 안전하게 저장하세요
개발 및 테스트에 테스트넷을 사용하세요
Neo N3 MCP 서버를 최신 버전으로 업데이트하세요.
HTTP 서버
이 패키지는 MCP 서버 외에도 RESTful API를 통해 Neo N3 기능을 제공하는 HTTP 서버를 제공합니다. HTTP 서버는 MCP 서버를 실행하면 자동으로 시작되며 기본적으로 3002 포트에서 수신 대기합니다.
HTTP 엔드포인트
엔드포인트 | 방법 | 설명 |
/api/blockchain/info
| 얻다 | 블록체인 정보 얻기 |
/api/blockchain/height
| 얻다 | 현재 블록 높이를 가져옵니다 |
/api/blocks/:height
| 얻다 | 높이별로 블록 세부 정보 가져오기 |
/api/transactions/:txid
| 얻다 | 거래 ID로 거래 세부 정보 가져오기 |
/api/accounts/:address/balance
| 얻다 | 주소에 대한 토큰 잔액 가져오기 |
/api/wallets
| 우편 | 새로운 지갑을 만드세요 |
/api/wallets/:address
| 얻다 | 지갑 정보 가져오기 |
/api/wallets/import
| 우편 | WIF 또는 개인 키에서 지갑 가져오기 |
/api/network/mode
| 얻다 | 현재 네트워크 모드를 가져옵니다 |
/api/contracts/:name/invoke
| 우편 | 스마트 계약 메서드 호출 |
/api/contracts/deploy
| 우편 | 새로운 스마트 계약 배포 |
HTTP 요청 예시
# Get blockchain information
curl http://localhost:3002/api/blockchain/info
# Get the current block height
curl http://localhost:3002/api/blockchain/height
# Get token balances for an address
curl http://localhost:3002/api/accounts/NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj/balance
# Create a new wallet
curl -X POST -H "Content-Type: application/json" -d '{"password":"your-password"}' http://localhost:3002/api/wallets
# Get the current network mode
curl http://localhost:3002/api/network/mode
# Deploy a smart contract
curl -X POST -H "Content-Type: application/json" -d '{
"wif": "your-private-key-wif",
"script": "base64-encoded-contract-script",
"manifest": {
"name": "MyContract",
"groups": [],
"features": {},
"abi": {
"methods": [
{
"name": "myMethod",
"parameters": [],
"returnType": "Boolean",
"offset": 0
}
],
"events": []
},
"permissions": [
{
"contract": "*",
"methods": "*"
}
],
"trusts": [],
"supportedStandards": []
}
}' http://localhost:3002/api/contracts/deploy
HTTP 서버의 이점
접근성 : MCP 프로토콜을 지원하지 않는 애플리케이션에 대해 Neo N3 블록체인 기능에 대한 액세스를 제공합니다.
단순성 : 모든 HTTP 클라이언트와 함께 사용할 수 있는 간단한 RESTful API
호환성 : 기존 웹 애플리케이션 및 프레임워크와 호환됩니다.
테스트 : MCP 프로토콜보다 테스트 및 디버깅이 더 쉽습니다.
테스트
이 패키지에는 MCP 서버와 HTTP 서버의 기능을 검증하기 위한 통합 테스트가 포함되어 있습니다.
테스트 실행
# Build the project
npm run build
# Run the core functionality tests
npm run test:core
# Run the HTTP integration tests
npm run test:http
# Run the MCP integration tests
npm run test:integration
자원
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.