MCP Ethers Wallet
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INFURA_API_KEY | No | Your Infura API key | |
| ALCHEMY_API_KEY | No | Your Alchemy API key | |
| DEFAULT_NETWORK | No | The default network to use | mainnet |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| getSupportedNetworksA | Get a list of all supported networks and their configurations. For more detailed information about networks, use the getAllNetworks and getNetwork tools. |
| getBlockNumberD | – |
| getGasPriceD | – |
| getFeeDataD | – |
| generateWalletD | – |
| loadWalletD | – |
| checkWalletExistsD | – |
| getWalletBalanceD | – |
| formatEtherD | – |
| parseEtherD | – |
| formatUnitsD | – |
| getWalletTransactionCountD | – |
| getBlockDetailsD | – |
| getTransactionDetailsD | – |
| getContractCodeD | – |
| contractCallD | – |
| signMessageD | – |
| ethSignD | – |
| resolveNameD | – |
| lookupAddressD | – |
| sendTransactionD | – |
| sendTransactionWithOptionsD | – |
| prepareTransactionA | Prepare a basic ETH transfer transaction for signing. Returns transaction data that can be signed and broadcast. |
| prepareContractTransactionC | Prepare a smart contract interaction transaction for signing. Returns transaction data that can be signed and broadcast. |
| sendSignedTransactionA | Send a signed transaction to the blockchain network. Returns transaction hash and receipt. |
| getERC20TokenInfoC | Get detailed information about an ERC20 token including its name, symbol, decimals, and total supply. Requires the contract address of the token. |
| erc20_getTokenInfoC | Get detailed information about an ERC20 token including its name, symbol, decimals, and total supply. Alternative naming for compatibility with MCP client tests. |
| getERC20BalanceB | Get the ERC20 token balance for a specific address. Returns the balance amount along with the token symbol for easy reading. |
| erc20_balanceOfC | Get the ERC20 token balance for a specific address. Alternative naming for compatibility with MCP client tests. |
| getERC20AllowanceC | Get the amount of tokens that a spender is approved to spend on behalf of a token owner. Used to check ERC20 approval amounts. |
| prepareERC20TransferA | Prepare an ERC20 token transfer transaction for signing. Returns transaction data that can be signed and broadcast. |
| prepareERC20ApprovalB | Prepare an ERC20 token approval transaction for signing. Returns transaction data that can be signed and broadcast. |
| getNFTInfoC | Get information about an ERC721 NFT collection including its name, symbol, and total supply. Provides basic details about the NFT contract. |
| getNFTOwnerB | Get the current owner of a specific ERC721 NFT token. Returns the Ethereum address that owns the specified token ID. |
| erc721_balanceOfA | Get the number of ERC721 NFTs owned by a specific address. Alternative naming for compatibility with MCP client tests. |
| getNFTTokenURID | – |
| erc721_tokenURID | – |
| getNFTMetadataD | – |
| transferNFTD | – |
| approveNFTD | – |
| setNFTApprovalForAllD | – |
| prepareERC721TransferC | Prepare an ERC721 NFT transfer transaction for signing. Returns transaction data that can be signed and broadcast. |
| prepareERC721ApprovalC | Prepare an ERC721 NFT approval transaction for signing. Returns transaction data that can be signed and broadcast. |
| prepareERC721SetApprovalForAllB | Prepare an ERC721 NFT setApprovalForAll transaction for signing. Returns transaction data that can be signed and broadcast. |
| erc1155_balanceOfD | – |
| erc1155_uriD | – |
| erc1155_balanceOfBatchD | – |
| prepareERC1155TransferC | Prepare an ERC1155 token transfer transaction for signing. Returns transaction data that can be signed and broadcast. |
| prepareERC1155BatchTransferC | Prepare an ERC1155 batch transfer transaction for signing. Returns transaction data that can be signed and broadcast. |
| prepareERC1155SetApprovalForAllB | Prepare an ERC1155 setApprovalForAll transaction for signing. Returns transaction data that can be signed and broadcast. |
| getAllNetworksA | Get information about all available blockchain networks. Use this to identify network names, chain IDs, and RPC URLs that can be used with other Ethereum tools. When using other tools with a 'provider' parameter, you can specify any of these network names. |
| getNetworkA | Get detailed information about a specific blockchain network. This provides the network's chain ID, native token, and RPC URL that can be used with other Ethereum tools. This network name can be used as the 'provider' parameter in other tools. |
| listPromptsB | List all available prompts in the system |
| getEnsResolutionGuidanceC | Get guidance for resolving ENS names across networks and performing operations |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| resolveEnsAcrossNetworks | A prompt that guides resolving ENS names on Ethereum mainnet and performing operations with the resolved address on other networks. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 54 tools
There is significant overlap and ambiguity among tools, such as multiple ERC20 balance tools (erc20_balanceOf, getERC20Balance) and ERC721 token URI tools (erc721_tokenURI, getNFTTokenURI), which could confuse agents. Some tools like listPrompts appear unrelated to the Ethereum wallet domain, adding to the confusion.
Naming conventions are inconsistent, mixing snake_case (e.g., erc20_balanceOf) and camelCase (e.g., getERC20Balance) without a clear pattern. Verb styles vary (e.g., 'get' vs. 'prepare' vs. 'send'), and some tools lack descriptive names (e.g., contractCall, ethSign), making the set chaotic.
With 54 tools, the count is excessive for an Ethereum wallet server, leading to bloat and potential confusion. This many tools suggests poor scoping, as many functions could be consolidated (e.g., multiple ERC20/ERC721 tools), making it overwhelming for agents to navigate.
The toolset covers core Ethereum operations like balances, transfers, approvals, and transaction handling across ERC20, ERC721, and ERC1155 standards, but there are gaps such as missing descriptions for many tools (e.g., approveNFT, getBlockDetails) and unclear coverage for advanced features like smart contract deployment or event listening.