get_solana_transaction
Retrieve Solana transaction details using a transaction signature to inspect blockchain activity and verify transaction status on mainnet or testnet networks.
Instructions
Get Solana transaction details by signature
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network type (defaults to mainnet) | |
| signature | Yes | Transaction signature |
Implementation Reference
- Defines the tool name, description, and input schema (signature and optional network) for get_solana_transaction.{ name: 'get_solana_transaction', description: 'Get Solana transaction details by signature', inputSchema: { type: 'object', properties: { signature: { type: 'string', description: 'Transaction signature', }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['signature'], }, },
- src/handlers/solana-handlers.ts:340-355 (handler)Handler case in handleSolanaTool that extracts parameters and delegates to solanaService.getTransaction, returning JSON response.case 'get_solana_transaction': { const signature = args?.signature as string; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const result = await solanaService.getTransaction(signature, network); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], isError: !result.success, }; }
- Core implementation fetches transaction details via RPC call to getTransaction with jsonParsed encoding and version 0 support.async getTransaction( signature: string, network: 'mainnet' | 'testnet' = 'mainnet' ): Promise<EndpointResponse> { const service = this.blockchainService.getServiceByBlockchain('solana', network); if (!service) { return { success: false, error: `Solana service not found for ${network}`, }; } return this.blockchainService.callRPCMethod( service.id, 'getTransaction', [ signature, { encoding: 'jsonParsed', maxSupportedTransactionVersion: 0, }, ] ); }
- src/index.ts:88-101 (registration)Collects and registers all tools including Solana tools via registerSolanaHandlers for the MCP server tool list.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 (handler)Main tool dispatch logic that invokes handleSolanaTool for Solana tools like get_solana_transaction.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));