maintenance_status
Check how long since the last maintenance was performed on Arbitrum nodes to monitor operational status and ensure chain health.
Instructions
Check maintenance status - seconds since last maintenance (requires admin API)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rpcUrl | No | The RPC URL of the Arbitrum node (optional if default is set) | |
| chainName | No | Chain name (e.g., 'Xai', 'Arbitrum One') - will auto-resolve to RPC URL |
Implementation Reference
- src/index.ts:652-666 (handler)MCP tool handler for 'maintenance_status': resolves RPC URL or chain name, instantiates NitroNodeClient, calls getMaintenanceStatus(), formats and returns result as text content.case "maintenance_status": { const rpcUrl = await this.resolveRpcUrl( (args.rpcUrl as string) || (args.chainName as string) ); const nodeClient = new NitroNodeClient(rpcUrl); const result = await nodeClient.getMaintenanceStatus(); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:1464-1483 (registration)Tool registration and input schema definition for 'maintenance_status' returned by listTools handler in getAvailableTools().name: "maintenance_status", description: "Check maintenance status - seconds since last maintenance (requires admin API)", inputSchema: { type: "object" as const, properties: { rpcUrl: { type: "string", description: "The RPC URL of the Arbitrum node (optional if default is set)", }, chainName: { type: "string", description: "Chain name (e.g., 'Xai', 'Arbitrum One') - will auto-resolve to RPC URL", }, }, required: [], }, },
- Core helper function getMaintenanceStatus() in NitroNodeClient that makes RPC call to 'maintenance_secondsSinceLastMaintenance' and returns MaintenanceStatus.async getMaintenanceStatus(): Promise<MaintenanceStatus> { try { const seconds = await this.makeRpcCall( "maintenance_secondsSinceLastMaintenance", [] ); return { secondsSinceLastMaintenance: typeof seconds === "number" ? seconds : parseInt(seconds, 10), }; } catch (error) { return { secondsSinceLastMaintenance: -1, error: `Maintenance status not supported on this RPC endpoint: ${ (error as Error).message }`, }; } }
- TypeScript interface defining the MaintenanceStatus return type used by the tool.export interface MaintenanceStatus { secondsSinceLastMaintenance: number; error?: string; }