hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Handles environment variable configuration for the MCP Blockchain Server
Provides containerization support for running the PostgreSQL database, Redis cache, MCP Server, and Web DApp as a complete system
Enables reading balances, contract state, and other on-chain data from the Ethereum blockchain, as well as preparing unsigned transactions for user approval and signing
MCP 블록체인 서버 및 DApp
AI 보조자가 블록체인 스마트 계약과 상호 작용할 수 있도록 하는 동시에 사용자가 개인 키와 거래 서명에 대한 완전한 통제력을 유지할 수 있는 안전한 시스템입니다.
개요
이 프로젝트는 AI-블록체인 통합의 핵심 과제를 해결합니다. 즉, AI 보조원이 블록체인 데이터를 읽고 거래를 준비하는 동시에 사용자가 거래 서명 및 개인 키에 대한 독점적 제어권을 유지할 수 있도록 하는 것입니다.
이 시스템은 다음으로 구성됩니다.
- MCP 서버 : AI 어시스턴트가 사용할 수 있는 도구로 블록체인 작업을 노출하는 모델 컨텍스트 프로토콜 서버
- 웹 DApp : 지갑 연결 및 거래 서명을 위한 사용자 인터페이스를 제공하는 React 애플리케이션
- 데이터베이스 : 사용자, API 키, 거래 기록을 저장하기 위한 PostgreSQL 데이터베이스
- 캐싱 : 자주 액세스되는 데이터를 캐싱하기 위한 Redis
특징
MCP 서버 기능
- 블록체인 데이터 액세스 : 잔액, 계약 상태 및 기타 온체인 데이터 읽기
- 거래 준비 : 사용자 승인을 위한 서명되지 않은 거래 생성
- 다중 체인 지원 : Ethereum, Polygon 및 기타 EVM 호환 체인과 함께 작동합니다.
- 스마트 계약 상호 작용 : 지원되는 네트워크에서 검증된 스마트 계약에서 읽기
- 보안 우선 설계 : 개인 키는 사용자의 지갑을 떠나지 않습니다.
웹 DApp 기능
- 지갑 통합 : MetaMask 및 기타 Web3 지갑과 연결
- 거래 검토 : 서명하기 전에 거래 세부 정보를 검토하기 위한 명확한 UI
- 거래 서명 : 연결된 지갑으로 거래 서명
- 거래 추적 : 제출된 거래의 상태를 모니터링합니다.
- 모바일 호환성 : 반응형 디자인은 모든 기기에서 작동합니다.
보안 원칙
- 개인 키 격리 : 키는 사용자의 지갑을 떠나지 않습니다.
- 거래 확인 : 거래 세부 정보를 검토하기 위한 명확한 UI
- API 인증 : 안전한 API 키 관리
- 속도 제한 : 남용 방지
- 입력 검증 : 모든 입력을 정리합니다.
- 감사 로깅 : 모든 작업 추적
- HTTPS 전용 : 보안 통신
- 콘텐츠 보안 정책 : XSS 방지
거래 흐름
- AI 어시스턴트가 MCP 서버를 통해 거래를 요청합니다.
- MCP 서버는 UUID를 사용하여 서명되지 않은 트랜잭션을 준비합니다.
- MCP 서버는 AI 어시스턴트에게 트랜잭션 URL을 반환합니다.
- AI 어시스턴트가 사용자에게 URL을 제공합니다.
- 사용자가 브라우저에서 URL을 엽니다.
- 사용자가 지갑을 연결하고 거래 세부 정보를 검토합니다.
- 사용자는 지갑을 사용하여 거래를 승인하고 서명합니다.
- 웹 DApp이 서명된 거래를 블록체인에 제출합니다.
- 거래 상태가 업데이트되고 추적됩니다.
시작하기
필수 조건
- Node.js(v18 이상)
- npm 또는 yarn
- 포스트그레스큐엘
- Redis(선택 사항, 캐싱용)
- Infura API 키(블록체인 접근용)
- Etherscan API 키(계약 ABI용)
설치
- 저장소를 복제합니다.
지엑스피1
- 종속성 설치:
- 환경 변수 설정: 루트 디렉토리에
.env
파일을 만듭니다(또는.env.example
에서 복사).
- 데이터베이스 설정:
PostgreSQL을 설치하고 구성하는 방법에 대한 자세한 지침은 데이터베이스 설치 가이드를 참조하세요.
- 서버를 시작합니다:
Docker Compose 사용
Docker를 사용하여 빠르게 시작하려면 다음을 수행하세요.
이렇게 시작됩니다:
- PostgreSQL 데이터베이스
- Redis 캐시
- MCP 서버
- 웹 디앱
개발
서버 구조
src/mcp
: MCP 서버 구현src/services
: 핵심 비즈니스 로직 서비스src/utils
: 유틸리티 함수src/index.ts
: 메인 진입점
웹 DApp 구조
web/src/components
: React 컴포넌트web/src/hooks
: 사용자 정의 React 후크web/src/services
: API 서비스web/src/pages
: 페이지 구성 요소
MCP 서버 사용
MCP 서버는 AI 어시스턴트가 사용할 수 있는 여러 도구를 제공합니다.
get-chains
: 지원되는 블록체인 네트워크 목록을 가져옵니다.get-balance
: 주소에 대한 계좌 잔액을 가져옵니다.read-contract
: 스마트 계약에서 데이터를 읽습니다.prepare-transaction
: 사용자 승인을 위해 서명되지 않은 거래를 준비합니다.get-transaction-status
: 거래의 현재 상태를 가져옵니다.
도구 사용 예시
문제 해결
종속성 문제가 발생하는 경우:
데이터베이스 연결 문제에 대해서는 데이터베이스 설정 가이드를 참조하세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
This server cannot be installed
AI 보조자가 블록체인 데이터와 상호작용하고 거래를 준비하는 동시에 사용자가 개인 키와 거래 서명에 대한 독점적 통제권을 유지할 수 있는 안전한 시스템입니다.
- Overview
- Features
- Security Principles
- Transaction Flow
- Getting Started
- Development
- Using the MCP Server
- Troubleshooting
- License