Skip to main content
Glama
buildwithgrove

Grove's MCP Server for Pocket Network

get_cosmos_block

Retrieve Cosmos blockchain block data at a specific height to inspect transactions, validators, and network state across mainnet or testnet networks.

Instructions

Get Cosmos block at specific height

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
blockchainYesBlockchain name
heightYesBlock height
networkNoNetwork type (defaults to mainnet)

Implementation Reference

  • Tool schema definition: name, description, and inputSchema for the get_cosmos_block tool.
    name: 'get_cosmos_block', description: 'Get Cosmos block at specific height', inputSchema: { type: 'object', properties: { blockchain: { type: 'string', description: 'Blockchain name', }, height: { type: 'number', description: 'Block height', }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['blockchain', 'height'], }, },
  • Handler logic in switch statement: extracts parameters from args, calls cosmosService.getBlockByHeight, and formats response for MCP.
    case 'get_cosmos_block': { const blockchain = args?.blockchain as string; const height = args?.height as number; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const result = await cosmosService.getBlockByHeight(blockchain, height, network); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], isError: !result.success, }; }
  • Exact implementation: constructs REST API URL using getRestUrl and fetches block data via fetchRest from Tendermint endpoint.
    async getBlockByHeight( blockchain: string, height: number, network: 'mainnet' | 'testnet' = 'mainnet' ): Promise<EndpointResponse> { try { const baseUrl = this.getRestUrl(blockchain, network); const url = `${baseUrl}/cosmos/base/tendermint/v1beta1/blocks/${height}`; return this.fetchRest(url); } catch (error) { return { success: false, error: error instanceof Error ? error.message : 'Failed to get Cosmos block', }; } }
  • src/index.ts:88-101 (registration)
    Registration of cosmos tools (including get_cosmos_block schema) by spreading registerCosmosHandlers into the tools list for MCP server.
    const tools: Tool[] = [ ...registerBlockchainHandlers(server, blockchainService), ...registerDomainHandlers(server, domainResolver), ...registerTransactionHandlers(server, advancedBlockchain), ...registerTokenHandlers(server, advancedBlockchain), ...registerMultichainHandlers(server, advancedBlockchain), ...registerContractHandlers(server, advancedBlockchain), ...registerUtilityHandlers(server, advancedBlockchain), ...registerEndpointHandlers(server, endpointManager), ...registerSolanaHandlers(server, solanaService), ...registerCosmosHandlers(server, cosmosService), ...registerSuiHandlers(server, suiService), ...registerDocsHandlers(server, docsManager), ];
  • src/index.ts:114-126 (registration)
    Tool execution dispatch: calls handleCosmosTool for get_cosmos_block when name matches.
    let result = (await handleBlockchainTool(name, args, blockchainService)) || (await handleDomainTool(name, args, domainResolver)) || (await handleTransactionTool(name, args, advancedBlockchain)) || (await handleTokenTool(name, args, advancedBlockchain)) || (await handleMultichainTool(name, args, advancedBlockchain)) || (await handleContractTool(name, args, advancedBlockchain)) || (await handleUtilityTool(name, args, advancedBlockchain)) || (await handleEndpointTool(name, args, endpointManager)) || (await handleSolanaTool(name, args, solanaService)) || (await handleCosmosTool(name, args, cosmosService)) || (await handleSuiTool(name, args, suiService)) || (await handleDocsTool(name, args, docsManager));

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/buildwithgrove/mcp-pocket'

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