Skip to content

AI 에이전트 (MCP) ​

neurochain-mcp는 Model Context Protocol 서버입니다. AI 어시스턴트 — Claude Code, Claude Desktop 또는 모든 MCP 클라이언트 — 가 체인을 읽고, 여러분이 정한 한도 안에서 체인에 작업을 수행할 수 있게 해 줍니다.

AI 어시스턴트 ⇄ (stdio 기반 MCP) ⇄ neurochain-mcp ⇄ (HTTP) ⇄ gateway :3000 ⇄ 노드 :9933

서버는 저장소의 neurochain-mcp/에 있는 순수 Node.js입니다(빌드 단계 없음). gateway의 REST API와만 통신합니다.

안전을 유지하는 방법 ​

  • 쓰기 작업은 지갑의 마스터 키가 아니라 세션 키로 서명됩니다. 이 키는 마스터 키가 범위, 지출 한도, 만료를 지정해 부여하며, 모든 검증자가 합의 과정에서 이를 강제합니다 — 계정 추상화 → 세션 키를 참고하세요.
  • 세션 키로는 Sentinel 신뢰 목록을 관리하거나 보류된 송금을 확인할 수 없습니다. Sentinel이 위험한 송금을 보류하면, 그것을 통과시킬 수 있는 사람은 여러분뿐입니다.
  • 스테이킹, 위임, 거버넌스 투표는 에이전트에게 노출되지 않습니다.
  • 세션 키가 없으면 서버는 읽기 전용으로 동작합니다.

설정 ​

1. 설치 ​

bash
cd neurochain-mcp
npm install

2. 세션 키와 설정 파일 만들기 ​

웹 지갑에서 Agent 패널을 열고 세션 키를 만드세요 — 보낼 수 있는 주소(또는 *), 총 지출 한도, 유효한 블록 수를 선택한 뒤 — Export config를 클릭합니다. 다음과 같은 결과를 얻습니다.

json
{
  "node_rpc": "http://localhost:3000",
  "account": "neuro:<15 hex>.human",
  "session_pk": "<세션 공개 키, hex>",
  "sk_seed_hex": "<세션 키 시드, hex>",
  "scope": "*"
}
필드의미
node_rpcgateway URL(노드의 9933 포트가 아님). 지갑이 페이지 자체의 주소를 채워 넣으므로, gateway가 다른 곳에서 실행 중이면 변경하세요
account에이전트가 대신 작업하는 주소
session_pk, sk_seed_hex세션 키. 읽기 전용으로 쓰려면 둘 다 비워 두세요
scope참고용일 뿐입니다 — 실제로 강제되는 것은 체인에 기록된 권한입니다

저장소 밖에 저장하고 비공개로 유지하세요. sk_seed_hex는 비밀 값입니다.

3. 서버 등록 ​

Claude Code:

bash
claude mcp add neurochain \
  --env NEUROCHAIN_MCP_CONFIG=/absolute/path/to/neurochain-mcp.config.json \
  -- node /absolute/path/to/neurochain-mcp/src/index.js

Claude Desktop(claude_desktop_config.json) 또는 프로젝트의 .mcp.json:

json
{
  "mcpServers": {
    "neurochain": {
      "command": "node",
      "args": ["/absolute/path/to/neurochain-mcp/src/index.js"],
      "env": { "NEUROCHAIN_MCP_CONFIG": "/absolute/path/to/neurochain-mcp.config.json" }
    }
  }
}

절대 경로를 사용하세요. 클라이언트는 자신의 작업 디렉터리에서 서버를 시작합니다.

도구 ​

읽기 ​

도구매개변수반환
nc_get_accountaddress(기본값: 설정된 계정)잔액, nonce, 트랜잭션 수
nc_get_txsaddress, limit(1–200)트랜잭션 기록
nc_gas_estimate—기본 수수료와 수수료 추정치
nc_list_proposalsstatus, limit(1–100), offset집계가 포함된 거버넌스 제안
nc_list_validators—스테이크와 메트릭이 포함된 검증자
nc_get_contractaddress(.app)소유자, 코드 해시, 보안 점수
nc_analyze_contractbytecode_hexVMGuardian 분석 — 위험도, 위반 사항
nc_get_session_grantsaddress한도와 지출액이 포함된 계정의 세션 키
nc_get_heldaddressSentinel이 보류한 송금

쓰기 (세션 키 필요) ​

도구매개변수비고
nc_transferto, amount_nro(NRO, 소수 허용)Sentinel이 보류하면, 도구가 자동으로 해제되는지 아니면 여러분의 확인이 필요한지 알려 줍니다
nc_call_contractto(.app), function, args, value(uNRO, 기본값 0)
nc_deploybytecode_hex, name, description, template, init_args다른 배포와 마찬가지로 VMGuardian 게이트를 거칩니다

각 쓰기 작업은 다음 nonce를 읽고, 세션 키로 서명한 뒤 POST /api/v1/transactions로 전송합니다. 노드는 모든 검증자에서 권한을 확인합니다. 예를 들어 한도를 넘는 송금은 다음과 같이 반환됩니다.

Error: POST /api/v1/transactions failed: HTTP 401 — session spend cap exceeded

테스트 결과 ​

로컬 테스트 네트워크에서: 읽기 도구는 실시간 데이터를 반환했고, 한도가 5 NRO인 세션 키로 보낸 1 NRO nc_transfer는 확정되어 권한에 spent: 1000000으로 기록되었습니다. 이어서 보낸 10 NRO 송금은 위 오류와 함께 거부되었습니다. 세션 키가 설정되지 않은 상태에서는 쓰기 도구가 서명하지 않고 거부합니다.

철회 ​

지갑의 Agent 패널에서 키를 철회하거나, 마스터 키로 서명한 POST /api/v1/session/revoke를 사용하세요. 다음 블록부터는 이 키로 서명된 모든 것이 거부됩니다.