Skip to main content
Glama

Substrate MCP Server

기판 MCP 서버

Rust로 작성된 Substrate 블록체인용 모델 컨텍스트 프로토콜 (MCP) 서버입니다. 이 프로젝트는 MCP 프로토콜을 통해 동적 Substrate 블록체인 작업(잔액, 블록, 팔레트, 스토리지, 이벤트 등)을 제공하며, 환경 변수를 통해 완벽하게 구성할 수 있습니다.

하위 상자와 인터페이스하도록 설계되었습니다.

✨ 특징

  • 계정 잔액 및 저장 공간을 동적으로 쿼리합니다.
  • 팔레트와 해당 항목 목록
  • 이벤트 및 외부 이벤트 가져오기 및 필터링
  • 동적으로 서명된 거래를 제출하고 감시합니다.
  • 시스템 접근 및 정보 차단
  • Substrate 노드에 대한 사용자 정의 RPC 호출

🚀 잠재적 사용 사례

  1. AI 기반 블록체인 운영
    • LLM(Cursor나 Claude 등)과 통합하여 사용자가 자연어로 질문할 수 있도록 합니다(예: "앨리스가 마지막으로 전송한 내용은 무엇이었나요?"). 질문은 MCP 도구 호출로 변환됩니다.
    • MCP 서버를 백엔드로 사용하여 질문에 답하고, 잔액을 가져오고, 체인 내 활동을 설명할 수 있는 챗봇을 구축하세요.
    • MCP 서버를 사용하면 잔액 변화나 거래 상태와 같은 체인 내 활동에 대한 실시간 업데이트를 VSCode, Cursor, Claude Code 등의 개발 도구에 제공할 수 있습니다.
  2. 사용자 정의 대시보드 및 모니터링
    • Substrate 블록체인을 위한 맞춤형 대시보드 및 모니터링 시스템을 만드세요
    • 블록체인 운영에 대한 실시간 데이터와 분석을 표시합니다.
    • 중요 이벤트에 대한 알림 및 경고 설정
    • AI 에이전트를 사용하여 이벤트와 외부 요인을 실시간으로 분석하여 의심스러운 활동을 감지합니다.

🛠️ 요구 사항

  • Substrate 노드 엔드포인트(WebSocket)에 대한 액세스
  • 유효한 서명 키 쌍(16진수)
  • 대상 체인에 대한 런타임 메타데이터 파일(이름 지정 및 배치는 아래 참조)

📦 설치

저장소를 복제하고 빌드합니다.

지엑스피1

⚙️ 구성

프로젝트 루트에 다음 변수를 사용하여 .env 파일을 만듭니다.

# WebSocket endpoint for the Substrate node RPC_URL=wss://your-node-url.example.com # Signing keypair as hex (32 bytes, e.g. output of subkey inspect-key --scheme Sr25519) SIGNING_KEYPAIR_HEX=your_signing_keypair_hex_here

서명 키 쌍 생성

subkey를 사용하여 키 쌍을 생성하고 16진수 형태의 비밀 시드를 얻을 수 있습니다.

subkey generate --scheme Sr25519 --output-type Json

SIGNING_KEYPAIR_HEXsecretSeed 필드를 사용합니다(0x 접두사가 있으면 제거).

런타임 메타데이터 획득 및 배치

노드에서 런타임 메타데이터를 내보내고 artifacts/metadata.scale 에 저장합니다.

subxt metadata -f bytes > artifacts/metadata.scale

중요: 빌드하기 전에 파일 이름을 metadata.scale 로 지정하고 artifacts/ 디렉터리에 저장해야 합니다. 이 파일이 없거나 이름이 잘못 지정되면 빌드가 실패합니다.

▶️ 사용법

MCP 서버를 시작하려면:

cargo run --release

서버가 시작되어 stdio를 통해 MCP 요청을 수신합니다.

🖇️ 커서와 통합

이 MCP 서버를 Cursor 와 함께 사용하려면 Cursor MCP 구성에 추가해야 합니다. 이렇게 하면 Cursor가 Substrate MCP 서버를 검색하고 상호 작용할 수 있습니다.

  1. 릴리스 모드로 서버를 빌드하세요.
    cargo build --release
  2. 빌드된 바이너리(일반적으로 target/release/substrate-mcp-rs )의 경로를 찾습니다.
  3. 프로젝트(또는 전역) .cursor/mcp.json 파일에 서버 항목을 추가하세요. 예:
    { "mcpServers": { "substrate-mcp-rs": { "command": "$PROJECT_ROOT_ABSOLUTE_PATH/target/release/substrate-mcp-rs", "args": [] } } }
    • 빌드한 바이너리의 절대 경로와 다르다면 command 경로를 해당 경로로 바꾸세요.
  4. Cursor를 다시 시작하세요. 이제 Substrate MCP 서버를 감지하고 연결하여 Cursor 도구를 사용할 수 있게 됩니다.

자세한 내용은 커서 설명서모델 컨텍스트 프로토콜 소개를 참조하세요.

🧰 사용 가능한 도구

서버는 다음을 포함하여 Substrate 블록체인과 상호 작용하기 위한 도구 세트를 제공합니다.

  • query_balance : 계정 잔액을 가져옵니다.
  • list_pallets : 런타임에 모든 팔레트를 나열합니다.
  • list_pallet_entries : 팔레트에 대한 모든 저장 항목을 나열합니다.
  • dynamic_runtime_call : 런타임 API 호출을 실행합니다.
  • send_dynamic_signed_transaction : 트랜잭션을 구성하고 서명하고 전송합니다.
  • query_storage : 팔레트 및 항목별 저장소 쿼리
  • get_latest_events : 최신 블록의 모든 이벤트를 가져옵니다.
  • find_events : 팔레트 및 변형별로 특정 이벤트 찾기
  • get_latest_block : 최신 블록에 대한 세부 정보를 가져옵니다.
  • get_block_by_hash : 해시로 블록 세부 정보 가져오기
  • find_extrinsics : 최신 블록에서 외부 항목을 찾습니다.
  • get_system_info : RPC를 통해 시스템 정보를 가져옵니다.
  • custom_rpc : 사용자 정의 RPC 호출을 만듭니다.

자세한 내용과 매개변수는 src/tooling/substrate.rs 참조하세요.

🗂️ 프로젝트 구조

  • src/main.rs : 진입점, 로깅 설정 및 MCP 서버 시작
  • src/tooling/ : 기판 도구 구현이 포함되어 있습니다.
  • artifacts/ : 런타임 메타데이터 파일을 metadata.scale 로 여기에 배치합니다(빌드 전에 필요함)

📈 다음 단계 및 목표

  • [ ] E2E 테스트 추가
  • [ ] 단위 테스트 추가
  • [ ] 도구 추가

🤝 기여하기

기여를 환영합니다! 이슈를 개설하거나 풀 리퀘스트를 보내주세요. 더 큰 변경 사항은 먼저 이슈를 개설하여 제안에 대해 논의해 주세요.

  • Rust 모범 사례를 따르고 코드가 문서화되도록 하세요.
  • 제출하기 전에 cargo fmtcargo clippy 실행하세요.
  • 가능한 경우 테스트를 추가하세요

📄 라이센스

MIT

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThomasMarches/substrate-mcp-rs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server