evm-mcp-server

evm-mcp-server

3.2

If you are the rightful owner of evm-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

An EVM interaction service gateway based on Model Context Protocol (MCP) and Viem, enabling AI agents or services to securely interact with a configured EVM-compatible blockchain.

The @sinco-lab/evm-mcp-server is a Model Context Protocol (MCP) server designed to facilitate secure interactions with EVM-compatible blockchains. It utilizes the Viem library for blockchain operations and the MCP SDK to expose these functionalities as tools for AI agents or other MCP clients. The server connects to a specified EVM chain through environment variables, allowing clients to perform various read and write operations via a standardized MCP interface.

Features

  • MCP Integration: Exposes EVM functionalities as standard MCP tools.
  • Viem Powered: Utilizes the modern and efficient Viem library for reliable EVM interactions.
  • Configurable Endpoint: Connects to any EVM-compatible chain via an RPC URL defined in the environment setup.
  • Core EVM Operations: Provides tools for common tasks like checking balances, transferring tokens, signing messages, and interacting with contracts.
  • Type Safe: Developed entirely in TypeScript for better maintainability and developer experience.

Tools

  1. getAddress

    Get the connected wallet address configured on the server.

  2. getChain

    Get the chain ID and name the server is connected to.

  3. getBalance

    Get the native token balance for a given address or the server's wallet.

  4. signMessage

    Sign a message using the server's configured wallet.

  5. sendNativeToken

    Send native tokens from the server's wallet to a recipient.

  6. getTokenBalance

    Get the ERC20 token balance for a specified owner address.

  7. transferToken

    Send a specified amount of an ERC20 token from the server's wallet.

  8. getTokenTotalSupply

    Get the total supply of an ERC20 token.

  9. getTokenAllowance

    Get the allowance an owner has granted to a spender for an ERC20 token.

  10. approveToken

    Approve a spender to withdraw an ERC20 token from the server's wallet.

  11. revokeApproval

    Revoke a spender's allowance for an ERC20 token.

  12. transferTokenFrom

    Transfer ERC20 tokens from one address to another, requiring prior approval.

  13. convertToBaseUnit

    Convert a decimal token amount to its base unit representation.

  14. convertFromBaseUnit

    Convert a token amount from its base unit representation to a decimal string.