Skip to main content
Glama

get_chain_info

Retrieve essential EVM network details including chain ID, current block number, and RPC endpoint for specified networks like Ethereum, Optimism, or Arbitrum.

Instructions

Get information about an EVM network: chain ID, current block number, and RPC endpoint

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
networkNoNetwork name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base') or chain ID. Defaults to Ethereum mainnet.

Implementation Reference

  • The handler, schema, and registration for the 'get_chain_info' MCP tool. It takes an optional network parameter, fetches chainId via services.getChainId, blockNumber via services.getBlockNumber, and rpcUrl via getRpcUrl, then returns formatted JSON.
    server.tool( 'get_chain_info', 'Get information about an EVM network', { network: z .string() .optional() .describe( "Network name (e.g., 'ethereum', 'optimism', 'arbitrum', 'base', etc.) or chain ID. Supports all EVM-compatible networks. Defaults to Ethereum mainnet." ) }, async ({ network = 'ethereum' }) => { try { const chainId = await services.getChainId(network); const blockNumber = await services.getBlockNumber(network); const rpcUrl = getRpcUrl(network); return { content: [ { type: 'text', text: JSON.stringify( { network, chainId, blockNumber: blockNumber.toString(), rpcUrl }, null, 2 ) } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error fetching chain info: ${error instanceof Error ? error.message : String(error)}` } ], isError: true }; } } );
  • Helper function getChainId(network) that creates a public client and calls client.getChainId() to get the numeric chain ID.
    export async function getChainId(network = 'ethereum'): Promise<number> { const client = getPublicClient(network); const chainId = await client.getChainId(); return Number(chainId); }
  • Helper function getBlockNumber(network) that retrieves the latest block number using the public client.
    export async function getBlockNumber(network = 'ethereum'): Promise<bigint> { const client = getPublicClient(network); return await client.getBlockNumber(); }
  • Helper function getRpcUrl(network) that maps network name or chain ID to the corresponding RPC endpoint URL.
    export function getRpcUrl( chainIdentifier: number | string = DEFAULT_CHAIN_ID ): string { const chainId = typeof chainIdentifier === 'string' ? resolveChainId(chainIdentifier) : chainIdentifier; return rpcUrlMap[chainId] || DEFAULT_RPC_URL; }
  • Call to registerEVMTools(server) which includes the registration of get_chain_info among other tools.
    registerEVMTools(server); registerEVMPrompts(server);

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/chulanpro5/evm-mcp-server'

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