Skip to main content
Glama
buildwithgrove

Grove's MCP Server for Pocket Network

get_cosmos_rewards

Retrieve staking rewards for Cosmos delegators by providing blockchain name and delegator address. Supports mainnet and testnet networks with optional validator filtering.

Instructions

Get staking rewards for a delegator

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
blockchainYesBlockchain name
delegatorAddressYesDelegator address
networkNoNetwork type (defaults to mainnet)
validatorAddressNoOptional: Specific validator address

Implementation Reference

  • MCP tool handler case for 'get_cosmos_rewards': extracts input arguments and delegates execution to CosmosService.getRewards, formats response for MCP.
    case 'get_cosmos_rewards': { const blockchain = args?.blockchain as string; const delegatorAddress = args?.delegatorAddress as string; const validatorAddress = args?.validatorAddress as string | undefined; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const result = await cosmosService.getRewards( blockchain, delegatorAddress, validatorAddress, network ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], isError: !result.success, }; }
  • Input schema definition and metadata for the 'get_cosmos_rewards' tool, used in tool registration.
    { name: 'get_cosmos_rewards', description: 'Get staking rewards for a delegator', inputSchema: { type: 'object', properties: { blockchain: { type: 'string', description: 'Blockchain name', }, delegatorAddress: { type: 'string', description: 'Delegator address', }, validatorAddress: { type: 'string', description: 'Optional: Specific validator address', }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['blockchain', 'delegatorAddress'], }, },
  • src/index.ts:88-101 (registration)
    Registers the Cosmos tools (including 'get_cosmos_rewards') by including registerCosmosHandlers in the tools array provided to MCP server's ListToolsRequestHandler.
    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), ];
  • Core implementation: constructs Cosmos REST API URL for distribution rewards endpoint and performs HTTP fetch.
    async getRewards( blockchain: string, delegatorAddress: string, validatorAddress?: string, network: 'mainnet' | 'testnet' = 'mainnet' ): Promise<EndpointResponse> { try { const baseUrl = this.getRestUrl(blockchain, network); const url = validatorAddress ? `${baseUrl}/cosmos/distribution/v1beta1/delegators/${delegatorAddress}/rewards/${validatorAddress}` : `${baseUrl}/cosmos/distribution/v1beta1/delegators/${delegatorAddress}/rewards`; return this.fetchRest(url); } catch (error) { return { success: false, error: error instanceof Error ? error.message : 'Failed to get Cosmos rewards', }; } }

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