MCP ExplorerExplorer

Mcp Cryptowallet Evm

@dcSparkon a year ago
3 MIT
FreeCommunity
AI Systems
MCP Crypto Wallet EVM enables Ethereum operations like wallet creation and transactions.

Overview

What is Mcp Cryptowallet Evm

mcp-cryptowallet-evm is a Model Context Protocol (MCP) server that provides access to Ethereum and EVM-compatible blockchain operations using ethers.js v5. It allows users to create wallets, check balances, send transactions, and interact with smart contracts on EVM-compatible blockchains.

Use cases

Use cases for mcp-cryptowallet-evm include creating and managing cryptocurrency wallets, checking wallet balances, sending and receiving transactions, and interacting with smart contracts for various decentralized applications.

How to use

To use mcp-cryptowallet-evm, users can interact with various methods provided by the server, such as creating wallets, checking balances, sending transactions, and signing messages. Each operation is accessible through specific API calls defined in the server’s documentation.

Key features

Key features of mcp-cryptowallet-evm include wallet creation and management, balance checking, transaction sending, contract interaction, and message signing. It supports multiple wallet creation methods, including random generation, private key import, and mnemonic phrases.

Where to use

mcp-cryptowallet-evm can be used in areas such as decentralized finance (DeFi), non-fungible tokens (NFTs), and any application requiring interaction with Ethereum or EVM-compatible blockchains.

Content

MCP Crypto Wallet EVM

This repository contains a Model Context Protocol (MCP) server that provides Claude with access to Ethereum and EVM-compatible blockchain operations via ethers.js v5. The server enables Claude to perform operations like creating wallets, checking balances, sending transactions, and interacting with smart contracts on EVM-compatible blockchains.

Crypto Wallet EVM MCP server

Overview

The MCP server exposes the following tools to Claude:

Wallet Creation and Management

  • wallet_create_random: Create a new wallet with a random private key
  • wallet_from_private_key: Create a wallet from a private key
  • wallet_from_mnemonic: Create a wallet from a mnemonic phrase
  • wallet_from_encrypted_json: Create a wallet by decrypting an encrypted JSON wallet
  • wallet_encrypt: Encrypt a wallet with a password

Wallet Properties

  • wallet_get_address: Get the wallet address
  • wallet_get_public_key: Get the wallet public key
  • wallet_get_private_key: Get the wallet private key (with appropriate security warnings)
  • wallet_get_mnemonic: Get the wallet mnemonic phrase (if available)

Blockchain Methods

  • wallet_get_balance: Get the balance of the wallet
  • wallet_get_chain_id: Get the chain ID the wallet is connected to
  • wallet_get_gas_price: Get the current gas price
  • wallet_get_transaction_count: Get the number of transactions sent from this account (nonce)
  • wallet_call: Call a contract method without sending a transaction

Transaction Methods

  • wallet_send_transaction: Send a transaction
  • wallet_sign_transaction: Sign a transaction without sending it
  • wallet_populate_transaction: Populate a transaction with missing fields

Signing Methods

  • wallet_sign_message: Sign a message
  • wallet_sign_typed_data: Sign typed data (EIP-712)
  • wallet_verify_message: Verify a signed message
  • wallet_verify_typed_data: Verify signed typed data

Provider Methods

  • provider_get_block: Get a block by number or hash
  • provider_get_transaction: Get a transaction by hash
  • provider_get_transaction_receipt: Get a transaction receipt
  • provider_get_code: Get the code at an address
  • provider_get_storage_at: Get the storage at a position for an address
  • provider_estimate_gas: Estimate the gas required for a transaction
  • provider_get_logs: Get logs that match a filter
  • provider_get_ens_resolver: Get the ENS resolver for a name
  • provider_lookup_address: Lookup the ENS name for an address
  • provider_resolve_name: Resolve an ENS name to an address

Network Methods

  • network_get_network: Get the current network information
  • network_get_block_number: Get the current block number
  • network_get_fee_data: Get the current fee data (base fee, max priority fee, etc.)

Prerequisites

  • Node.js (v16 or higher)
  • Claude Desktop application

Installation

Option 1: Using npx (Recommended)

You can run the MCP server directly without installation using npx:

npx @mcp-dockmaster/mcp-cryptowallet-evm

This will download and execute the server directly from npm.

Option 2: Manual Installation

  1. Clone this repository:

    git clone https://github.com/dcSpark/mcp-cryptowallet-evm.git
    cd mcp-cryptowallet-evm
    
  2. Install dependencies:

    npm ci
    
  3. Build the project:

    npm run build
    

Configuration

Environment Variables

The MCP server supports the following environment variables:

  • PRIVATE_KEY: Optional private key to use for wallet operations when no wallet is explicitly provided

Configure Claude Desktop

To configure Claude Desktop to use this MCP server:

  1. Open Claude Desktop

  2. Navigate to the Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. Add the MCP server configuration:

{
  "mcpServers": {
    "mcp-cryptowallet-evm": {
      "command": "npx",
      "args": [
        "@mcp-dockmaster/mcp-cryptowallet-evm"
      ]
    }
  }
}

Alternatively, if you installed the package locally:

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

Running Locally

node build/index.js

Usage

Once configured, restart Claude Desktop. Claude will now have access to the Ethereum and EVM-compatible blockchain tools. You can ask Claude to:

  1. Create a new wallet:

    Can you create a new Ethereum wallet for me?
    
  2. Check a wallet balance:

    What's the balance of the Ethereum wallet address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    
  3. Send a transaction:

    Can you help me send 0.1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    

Claude will use the MCP server to interact with the Ethereum blockchain directly.

Development

Adding New Tools

To add new tools to the MCP server:

  1. Define the tool in src/tools.ts
  2. Create a handler function in the appropriate handler file
  3. Add the handler to the handlers object in src/tools.ts

Building

npm run build

License

MIT

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers