get_sui_object
Retrieve detailed information about Sui blockchain objects by ID, including type, ownership, content, and transaction history through Grove's Pocket Network server.
Instructions
Get object details by ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| objectId | Yes | Sui object ID | |
| options | No | Optional: Display options | |
| network | No | Network type (defaults to mainnet) |
Implementation Reference
- src/handlers/sui-handlers.ts:84-115 (schema)Tool definition including name, description, and inputSchema for 'get_sui_object'{ name: 'get_sui_object', description: 'Get object details by ID', inputSchema: { type: 'object', properties: { objectId: { type: 'string', description: 'Sui object ID', }, options: { type: 'object', description: 'Optional: Display options', properties: { showType: { type: 'boolean' }, showOwner: { type: 'boolean' }, showPreviousTransaction: { type: 'boolean' }, showDisplay: { type: 'boolean' }, showContent: { type: 'boolean' }, showBcs: { type: 'boolean' }, showStorageRebate: { type: 'boolean' }, }, }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['objectId'], }, },
- src/handlers/sui-handlers.ts:357-373 (handler)Tool handler logic that parses arguments and calls SuiService.getObject to execute the toolcase 'get_sui_object': { const objectId = args?.objectId as string; const options = args?.options as any; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const result = await suiService.getObject(objectId, options, network); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], isError: !result.success, }; }
- src/services/sui-service.ts:109-145 (helper)Core implementation of getObject that constructs RPC call to 'sui_getObject' via blockchainServiceasync getObject( objectId: string, options?: { showType?: boolean; showOwner?: boolean; showPreviousTransaction?: boolean; showDisplay?: boolean; showContent?: boolean; showBcs?: boolean; showStorageRebate?: boolean; }, network: 'mainnet' | 'testnet' = 'mainnet' ): Promise<EndpointResponse> { const service = this.blockchainService.getServiceByBlockchain('sui', network); if (!service) { return { success: false, error: `Sui service not found for ${network}`, }; } const params: any[] = [objectId]; if (options) { params.push({ showType: options.showType, showOwner: options.showOwner, showPreviousTransaction: options.showPreviousTransaction, showDisplay: options.showDisplay, showContent: options.showContent, showBcs: options.showBcs, showStorageRebate: options.showStorageRebate, }); } return this.blockchainService.callRPCMethod(service.id, 'sui_getObject', params); }
- src/index.ts:88-101 (registration)Registers the Sui tools (including get_sui_object) by including registerSuiHandlers in the tools array for the MCP serverconst 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), ];