logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-evm-chain-interface

Facilitates sophisticated interaction with the Ethereum Virtual Machine (EVM) ecosystem, covering wallet lifecycle management, asset inquiries, transaction submission, and contract invocation.

Author

mcp-evm-chain-interface logo

dcSpark

MIT License

Quick Info

GitHub GitHub Stars 6
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

cryptocryptowalletethereumcrypto dcsparkcryptowallet evmmcp cryptowallet

MCP EVM Blockchain Interaction Module

This repository furnishes a Model Context Protocol (MCP) service engineered to grant Claude programmatic access to operations on Ethereum and any EVM-compliant decentralized ledgers, leveraging the robust capabilities of ethers.js version 5. The service empowers Claude to execute critical functions such as generating new keypairs, querying account balances, dispatching on-chain transfers, and engaging with deployed smart contracts across EVM environments.

EVM Cryptographic Access Server

Toolset Exposed

The MCP daemon exposes the following functionalities for AI utilization:

Keypair and Account Administration

  • wallet_create_random: Provision a fresh cryptographic wallet instance via a randomly generated secret key.
  • wallet_from_private_key: Instantiate a wallet from a known private key string.
  • wallet_from_mnemonic: Derive a wallet structure using a standardized mnemonic phrase.
  • wallet_from_encrypted_json: Recover a wallet from a password-protected JSON keystore file.
  • wallet_encrypt: Secure a current wallet structure using a specified passphrase.

Account State Retrieval

  • wallet_get_address: Obtain the public hexadecimal address for the current wallet.
  • wallet_get_public_key: Retrieve the uncompressed public key.
  • wallet_get_private_key: Access the private key (use with extreme security caution).
  • wallet_get_mnemonic: Yield the seed phrase associated with the wallet, if applicable.

Ledger Query Operations

  • wallet_get_balance: Fetch the native token balance of the wallet.
  • wallet_get_chain_id: Determine the unique identifier of the connected blockchain network.
  • wallet_get_gas_price: Report the current network fee structure.
  • wallet_get_transaction_count: Retrieve the sequential transaction counter (nonce) for the address.
  • wallet_call: Execute a read-only interaction with a smart contract function.

Transaction Lifecycle Management

  • wallet_send_transaction: Broadcast a signed transaction to the network.
  • wallet_sign_transaction: Create a valid signature for a proposed transaction without broadcast.
  • wallet_populate_transaction: Fill in missing necessary parameters for a transaction object.

Cryptographic Signing Functions

  • wallet_sign_message: Generate a cryptographic signature for arbitrary raw data.
  • wallet_sign_typed_data: Sign data structures adhering to EIP-712 conventions.
  • wallet_verify_message: Validate the authenticity of a message signature against a sender address.
  • wallet_verify_typed_data: Confirm the validity of an EIP-712 signature.

Node Provider Utilities

  • provider_get_block: Retrieve block data based on its identifier (number or hash).
  • provider_get_transaction: Look up details for a specific transaction hash.
  • provider_get_transaction_receipt: Obtain the final execution status and logs for a transaction.
  • provider_get_code: Fetch the deployed bytecode at a given address.
  • provider_get_storage_at: Read a specific storage slot value from a contract address.
  • provider_estimate_gas: Calculate the computational cost of executing a transaction.
  • provider_get_logs: Query for historical events matching specified filter criteria.
  • provider_get_ens_resolver: Obtain the resolution service for an ENS name.
  • provider_lookup_address: Resolve a blockchain address back to its human-readable ENS name.
  • provider_resolve_name: Convert an ENS name into its corresponding blockchain address.

Network Status Functions

  • network_get_network: Fetch metadata regarding the currently configured network.
  • network_get_block_number: Report the latest confirmed block height.
  • network_get_fee_data: Acquire current data relevant to transaction pricing (e.g., base fee, priority fee).

Requirements

  • Execution environment must be Node.js (version 16 or newer is mandatory).
  • Requires the Claude Desktop application for integration.

Deployment Instructions

Method A: Direct Execution via npx (Suggested)

The service can be executed immediately without persistent installation using npx:

bash npx @mcp-dockmaster/mcp-cryptowallet-evm

This command fetches and runs the server directly from the npm registry.

Method B: Local Source Compilation

  1. Acquire the source code repository: bash git clone https://github.com/dcSpark/mcp-cryptowallet-evm.git cd mcp-cryptowallet-evm

  2. Install necessary dependencies: bash npm ci

  3. Compile the TypeScript source code: bash npm run build

Configuration Strategy

Environmental Parameters

The MCP daemon respects the following environment variable for pre-loading a keypair:

  • PRIVATE_KEY: An optional secret key utilized for operations when no active wallet context is established.

Integrating with Claude Desktop

To enable Claude Desktop to route requests to this service:

  1. Launch the Claude Desktop application.
  2. Locate and open the application's configuration file:
  3. macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  4. Windows: %APPDATA%\Claude\claude_desktop_config.json
  5. Linux: ~/.config/Claude/claude_desktop_config.json

  6. Insert the following configuration block into the mcpServers section:

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

Alternatively, if you opted for local compilation:

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

Local Execution Command

If running the compiled version directly:

bash node build/index.js

Operational Usage

After configuration changes are applied and Claude Desktop is relaunched, the AI gains access to the EVM toolkit. Example prompts include:

  1. Wallet Generation Request:

Could you generate a fresh Ethereum wallet seed phrase for my use?

  1. Balance Query Example:

Determine the current asset holdings associated with the address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e.

  1. Transaction Initiation:

Please facilitate the transfer of 0.1 ETH to the destination 0x742d35Cc6634C0532925a3b844Bc454e4438f44e.

Claude will translate these natural language requests into structured calls against the backend EVM service.

Maintenance and Extension

Adding New Functionality

To augment the server's capabilities:

  1. Define the new service endpoint signature within src/tools.ts.
  2. Implement the corresponding handling logic in the designated handler module.
  3. Register the new handler within the handlers map in src/tools.ts.

Building Artifacts

bash npm run build

Intellectual Property

Licensed under the MIT Agreement.

See Also

`