Skip to main content
Glama

getFeeData

Query real-time Ethereum network fee data using a provider or chain ID. Use this tool within the MCP Ethers Wallet server to access gas price, max fee, and priority fee details for efficient transactions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainIdNoOptional. The chain ID to use. If provided with a named network and they don't match, the RPC's chain ID will be used.
providerNoOptional. Either a network name or custom RPC URL. Use getAllNetworks to see available networks and their details, or getNetwork to get info about a specific network. You can use any network name returned by these tools as a provider value.

Implementation Reference

  • Full registration of the 'getFeeData' MCP tool using server.tool(). This includes the tool name, input schema, and the complete handler function that fetches fee data via ethersService and formats it for display.
    server.tool( "getFeeData", { provider: z.string().optional().describe(PROVIDER_DESCRIPTION), chainId: z.number().optional().describe( "Optional. The chain ID to use. If provided with a named network and they don't match, the RPC's chain ID will be used." ) }, async ({ provider, chainId }) => { try { const feeData = await ethersService.getFeeData(provider, chainId); // Format the fee data for human readability const formatted = { gasPrice: feeData.gasPrice ? ethers.formatUnits(feeData.gasPrice, "gwei") + " gwei" : "Not available", maxFeePerGas: feeData.maxFeePerGas ? ethers.formatUnits(feeData.maxFeePerGas, "gwei") + " gwei" : "Not available", maxPriorityFeePerGas: feeData.maxPriorityFeePerGas ? ethers.formatUnits(feeData.maxPriorityFeePerGas, "gwei") + " gwei" : "Not available" }; return { content: [{ type: "text", text: `Fee Data: Gas Price: ${formatted.gasPrice} Max Fee Per Gas: ${formatted.maxFeePerGas} Max Priority Fee Per Gas: ${formatted.maxPriorityFeePerGas}` }] }; } catch (error) { return createErrorResponse(error, 'getting fee data'); } } );
  • The handler function that implements the core logic of the getFeeData tool. It retrieves fee data from the ethersService based on the provided provider and chainId, formats the values into human-readable gwei units, and returns a formatted text response.
    async ({ provider, chainId }) => { try { const feeData = await ethersService.getFeeData(provider, chainId); // Format the fee data for human readability const formatted = { gasPrice: feeData.gasPrice ? ethers.formatUnits(feeData.gasPrice, "gwei") + " gwei" : "Not available", maxFeePerGas: feeData.maxFeePerGas ? ethers.formatUnits(feeData.maxFeePerGas, "gwei") + " gwei" : "Not available", maxPriorityFeePerGas: feeData.maxPriorityFeePerGas ? ethers.formatUnits(feeData.maxPriorityFeePerGas, "gwei") + " gwei" : "Not available" }; return { content: [{ type: "text", text: `Fee Data: Gas Price: ${formatted.gasPrice} Max Fee Per Gas: ${formatted.maxFeePerGas} Max Priority Fee Per Gas: ${formatted.maxPriorityFeePerGas}` }] }; } catch (error) { return createErrorResponse(error, 'getting fee data'); } }
  • Zod input schema defining optional 'provider' (string, network name or RPC URL) and 'chainId' (number) parameters for the getFeeData tool.
    { provider: z.string().optional().describe(PROVIDER_DESCRIPTION), chainId: z.number().optional().describe( "Optional. The chain ID to use. If provided with a named network and they don't match, the RPC's chain ID will be used." ) },

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