list_blockchain_services
Discover available blockchain networks and services supported by Pocket Network. Filter by category to find EVM, Layer 2, or non-EVM options for your development needs.
Instructions
List all available blockchain services/networks supported by Pocket Network
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional category filter (e.g., "evm", "layer2", "non-evm") |
Implementation Reference
- Handler execution logic for 'list_blockchain_services' tool. Retrieves all or category-filtered blockchain services from the service and returns as formatted JSON.
case 'list_blockchain_services': { const category = args?.category as string | undefined; const services = category ? blockchainService.getServicesByCategory(category) : blockchainService.getAllServices(); return { content: [ { type: 'text', text: JSON.stringify(services, null, 2), }, ], }; } - Tool schema definition including name, description, and input schema with optional 'category' parameter.
{ name: 'list_blockchain_services', description: 'List all available blockchain services/networks supported by Pocket Network', inputSchema: { type: 'object', properties: { category: { type: 'string', description: 'Optional category filter (e.g., "evm", "layer2", "non-evm")', }, }, }, }, - src/index.ts:88-101 (registration)Registration of all tools by collecting Tool definitions from registerBlockchainHandlers (which includes list_blockchain_services) into the tools list used for 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), ]; - src/index.ts:114-126 (registration)Tool execution dispatch chain where handleBlockchainTool (containing list_blockchain_services case) is called first for matching tool names.
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)); - Helper methods getAllServices() and getServicesByCategory() that provide the core data retrieval logic used by the tool handler.
getAllServices(): BlockchainService[] { const seen = new Set<string>(); const services: BlockchainService[] = []; for (const service of this.services.values()) { if (!seen.has(service.id)) { seen.add(service.id); services.push(service); } } return services; } /** * Get services by category */ getServicesByCategory(category: string): BlockchainService[] { return this.getAllServices().filter(s => s.category === category); }