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
| 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 tool
case '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 blockchainService
async 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 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), ];