Skip to main content
Glama

getBlockNumber

Retrieve the current block number from an Ethereum network using a specified provider or chain ID. Supports custom RPC URLs and named networks for accurate blockchain data queries.

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

  • The handler function for the getBlockNumber MCP tool. It takes optional provider and chainId, fetches the block number using ethersService, and returns a formatted text response or error.
    async ({ provider, chainId }) => { try { const blockNumber = await ethersService.getBlockNumber(provider, chainId); return { content: [{ type: "text", text: `Current block number: ${blockNumber}` }] }; } catch (error) { return createErrorResponse(error, 'getting block number'); } }
  • Zod input schema defining optional provider (network name or RPC URL) and chainId parameters with descriptions.
    { 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." ) },
  • Full registration of the getBlockNumber tool using server.tool(), including name, schema, and handler function.
    server.tool( "getBlockNumber", { 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 blockNumber = await ethersService.getBlockNumber(provider, chainId); return { content: [{ type: "text", text: `Current block number: ${blockNumber}` }] }; } catch (error) { return createErrorResponse(error, 'getting block number'); } } );
  • Invocation of registerCoreTools in the main tools index, which registers the getBlockNumber tool (among core tools).
    registerCoreTools(server, ethersService);

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