Skip to main content
Glama

loadWallet

Load and configure Ethereum wallets on the MCP Ethers Wallet server by providing a private key. Optionally save the key to session environment variables for streamlined interactions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
privateKeyYesThe private key of the wallet to load. Should start with '0x'.
saveToEnvNoOptional. If true, the private key will be saved to the server's environment variables for this session. Default is true.

Implementation Reference

  • Handler function that loads an Ethereum wallet from the provided private key, optionally saves the private key to process.env.WALLET_PRIVATE_KEY, updates the ethersService signer, and returns wallet address information.
    async ({ privateKey, saveToEnv = true }) => { try { const wallet = new ethers.Wallet(privateKey); if (saveToEnv) { process.env.WALLET_PRIVATE_KEY = privateKey; // Update the ethersService with the new wallet const signer = new ethers.Wallet(privateKey, ethersService.provider); ethersService.setSigner(signer); } return { content: [{ type: "text", text: ` Wallet loaded successfully: Address: ${wallet.address} ${saveToEnv ? "Private key has been saved to environment variables for this session." : ""} ` }] }; } catch (error) { return createErrorResponse(error, 'loading wallet'); } }
  • Zod input schema for the loadWallet tool: requires privateKey (string starting with '0x'), optional saveToEnv (boolean, defaults to true).
    privateKey: z.string().describe( "The private key of the wallet to load. Should start with '0x'." ), saveToEnv: z.boolean().optional().describe( "Optional. If true, the private key will be saved to the server's environment variables for this session. Default is true." ) },
  • Registration of the loadWallet tool on the MCP server using server.tool(), including inline schema and handler implementation.
    server.tool( "loadWallet", { privateKey: z.string().describe( "The private key of the wallet to load. Should start with '0x'." ), saveToEnv: z.boolean().optional().describe( "Optional. If true, the private key will be saved to the server's environment variables for this session. Default is true." ) }, async ({ privateKey, saveToEnv = true }) => { try { const wallet = new ethers.Wallet(privateKey); if (saveToEnv) { process.env.WALLET_PRIVATE_KEY = privateKey; // Update the ethersService with the new wallet const signer = new ethers.Wallet(privateKey, ethersService.provider); ethersService.setSigner(signer); } return { content: [{ type: "text", text: ` Wallet loaded successfully: Address: ${wallet.address} ${saveToEnv ? "Private key has been saved to environment variables for this session." : ""} ` }] }; } catch (error) { return createErrorResponse(error, 'loading wallet'); } } );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crazyrabbitLTC/mcp-ethers-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server