get_block_by_number
Retrieve block details by specifying the block number and network for BNB Chain or other supported networks. Defaults to BSC mainnet if no network is provided.
Instructions
Get a block by number
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| blockNumber | Yes | The block number to look up | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
Implementation Reference
- src/evm/modules/blocks/tools.ts:29-47 (registration)MCP tool registration for 'get_block_by_number', including description, Zod input schema (blockNumber as string, network), and handler that parses blockNumber to int, calls service.getBlockByNumber, and returns wrapped success/error response.server.tool( "get_block_by_number", "Get a block by number", { blockNumber: z.string().describe("The block number to look up"), network: defaultNetworkParam }, async ({ network, blockNumber }) => { try { const block = await services.getBlockByNumber( parseInt(blockNumber), network ) return mcpToolRes.success(block) } catch (error) { return mcpToolRes.error(error, "fetching block by number") } } )
- src/evm/services/blocks.ts:16-22 (handler)Core handler function that retrieves the specified block using viem's public client for the given network.export async function getBlockByNumber( blockNumber: number, network = "ethereum" ): Promise<Block> { const client = getPublicClient(network) return await client.getBlock({ blockNumber: BigInt(blockNumber) }) }
- src/evm/modules/common/types.ts:3-8 (schema)Shared Zod schema parameter for network input, used in the tool's input schema with default 'bsc'.export const defaultNetworkParam = z .string() .describe( "Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet." ) .default("bsc")