MCP Crypto Wallet EVM

by dcSpark
Verified
MIT License
30
2
  • Apple
  • Linux

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides tools for Ethereum blockchain operations including wallet creation, balance checking, and transaction sending via the Ethereum Virtual Machine

  • Leverages ethers.js v5 to enable wallet management, blockchain interactions, and smart contract operations on EVM-compatible networks

  • Runs as a Node.js application to provide blockchain access capabilities

MCP 암호화폐 지갑 EVM

이 저장소에는 Claude가 ethers.js v5를 통해 이더리움 및 EVM 호환 블록체인 작업에 액세스할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 서버가 포함되어 있습니다. 이 서버를 통해 Claude는 지갑 생성, 잔액 확인, 거래 전송, EVM 호환 블록체인에서 스마트 계약과의 상호작용 등의 작업을 수행할 수 있습니다.

개요

MCP 서버는 Claude에게 다음 도구를 제공합니다.

지갑 생성 및 관리

  • wallet_create_random : 임의의 개인 키로 새 지갑을 생성합니다.
  • wallet_from_private_key : 개인 키로부터 지갑을 생성합니다.
  • wallet_from_mnemonic : 니모닉 문구로 지갑을 생성합니다.
  • wallet_from_encrypted_json : 암호화된 JSON 지갑을 복호화하여 지갑을 생성합니다.
  • wallet_encrypt : 비밀번호로 지갑을 암호화합니다.

지갑 속성

  • wallet_get_address : 지갑 주소를 가져옵니다
  • wallet_get_public_key : 지갑 공개 키를 가져옵니다.
  • wallet_get_private_key : 적절한 보안 경고와 함께 지갑 개인 키를 가져옵니다.
  • wallet_get_mnemonic : 지갑 니모닉 문구를 가져옵니다(사용 가능한 경우)

블록체인 방법

  • wallet_get_balance : 지갑의 잔액을 가져옵니다
  • wallet_get_chain_id : 지갑이 연결된 체인 ID를 가져옵니다.
  • wallet_get_gas_price : 현재 가스 가격을 가져옵니다
  • wallet_get_transaction_count : 이 계정에서 보낸 거래 수를 가져옵니다(nonce)
  • wallet_call : 트랜잭션을 보내지 않고 계약 메서드를 호출합니다.

거래 방법

  • wallet_send_transaction : 거래 전송
  • wallet_sign_transaction : 거래를 보내지 않고 서명합니다.
  • wallet_populate_transaction : 누락된 필드로 거래를 채웁니다.

서명 방법

  • wallet_sign_message : 메시지에 서명합니다
  • wallet_sign_typed_data : 유형화된 데이터 서명(EIP-712)
  • wallet_verify_message : 서명된 메시지를 확인합니다.
  • wallet_verify_typed_data : 서명된 유형 데이터 확인

제공자 메서드

  • provider_get_block : 숫자 또는 해시로 블록을 가져옵니다.
  • provider_get_transaction : 해시로 트랜잭션을 가져옵니다.
  • provider_get_transaction_receipt : 거래 영수증 받기
  • provider_get_code : 주소에서 코드를 가져옵니다.
  • provider_get_storage_at : 주소에 대한 위치의 저장소를 가져옵니다.
  • provider_estimate_gas : 거래에 필요한 가스량을 추정합니다.
  • provider_get_logs : 필터와 일치하는 로그를 가져옵니다.
  • provider_get_ens_resolver : 이름에 대한 ENS 확인자를 가져옵니다.
  • provider_lookup_address : 주소에 대한 ENS 이름을 조회합니다.
  • provider_resolve_name : ENS 이름을 주소로 변환합니다.

네트워크 방법

  • network_get_network : 현재 네트워크 정보를 가져옵니다
  • network_get_block_number : 현재 블록 번호를 가져옵니다.
  • network_get_fee_data : 현재 수수료 데이터(기본 수수료, 최대 우선 수수료 등)를 가져옵니다.

필수 조건

  • Node.js(v16 이상)
  • 클로드 데스크톱 애플리케이션

설치

옵션 1: npx 사용(권장)

npx를 사용하면 설치 없이 MCP 서버를 직접 실행할 수 있습니다.

지엑스피1

이렇게 하면 npm에서 서버를 직접 다운로드하고 실행할 수 있습니다.

옵션 2: 수동 설치

  1. 이 저장소를 복제하세요:
    git clone https://github.com/dcSpark/mcp-cryptowallet-evm.git cd mcp-cryptowallet-evm
  2. 종속성 설치:
    npm ci
  3. 프로젝트를 빌드하세요:
    npm run build

구성

환경 변수

MCP 서버는 다음과 같은 환경 변수를 지원합니다.

  • PRIVATE_KEY : 지갑이 명시적으로 제공되지 않을 때 지갑 작업에 사용할 선택적 개인 키

Claude Desktop 구성

이 MCP 서버를 사용하도록 Claude Desktop을 구성하려면:

  1. 클로드 데스크톱 열기
  2. Claude Desktop 구성 파일로 이동합니다.
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • 리눅스: ~/.config/Claude/claude_desktop_config.json
  3. MCP 서버 구성을 추가합니다.
{ "mcpServers": { "mcp-cryptowallet-evm": { "command": "npx", "args": [ "@mcp-dockmaster/mcp-cryptowallet-evm" ] } } }

또는 패키지를 로컬로 설치한 경우:

{ "mcpServers": { "mcp-cryptowallet-evm": { "command": "node", "args": [ "/path/to/your/mcp-cryptowallet-evm/build/index.js" ] } } }

지역적으로 실행

node build/index.js

용법

구성이 완료되면 Claude Desktop을 다시 시작하세요. 이제 Claude가 Ethereum 및 EVM 호환 블록체인 도구에 액세스할 수 있습니다. Claude에게 다음 작업을 요청할 수 있습니다.

  1. 새로운 지갑을 만드세요:
    Can you create a new Ethereum wallet for me?
  2. 지갑 잔액 확인:
    What's the balance of the Ethereum wallet address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
  3. 거래 보내기:
    Can you help me send 0.1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?

클로드는 MCP 서버를 사용하여 Ethereum 블록체인과 직접 상호 작용합니다.

개발

새로운 도구 추가

MCP 서버에 새로운 도구를 추가하려면:

  1. src/tools.ts 에 도구를 정의하세요
  2. 적절한 핸들러 파일에 핸들러 함수를 생성합니다.
  3. src/tools.tshandlers 객체에 핸들러를 추가합니다.

건물

npm run build

특허

MIT

ID: iwjmbo1gl1