arb_check_publisher_health
Monitor and verify the operational health of the transaction publisher/sequencer in Arbitrum networks using the admin API, ensuring reliable chain performance.
Instructions
Check the health status of the transaction publisher/sequencer (requires admin API)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chainName | No | Chain name (e.g., 'Xai', 'Arbitrum One') - will auto-resolve to RPC URL | |
| rpcUrl | No | The RPC URL of the Arbitrum node (optional if default is set) |
Implementation Reference
- src/clients/nitro-node-client.ts:156-170 (handler)Core handler function that performs the RPC call to 'arb_checkPublisherHealth' and determines if the publisher is healthy based on whether the call succeeds.async checkPublisherHealth(): Promise<PublisherHealth> { try { await this.makeRpcCall("arb_checkPublisherHealth", []); return { healthy: true, }; } catch (error) { return { healthy: false, error: `Publisher health check failed or not supported on this RPC endpoint: ${ (error as Error).message }`, }; } }
- src/index.ts:412-426 (handler)MCP server dispatch handler for the tool: resolves RPC URL from chainName or rpcUrl, creates NitroNodeClient, calls checkPublisherHealth(), and returns JSON response.case "arb_check_publisher_health": { const rpcUrl = await this.resolveRpcUrl( (args.rpcUrl as string) || (args.chainName as string) ); const nodeClient = new NitroNodeClient(rpcUrl); const health = await nodeClient.checkPublisherHealth(); return { content: [ { type: "text", text: JSON.stringify(health, null, 2), }, ], }; }
- src/index.ts:1098-1118 (registration)Tool registration in getAvailableTools(): defines name, description, and input schema for the MCP tool list.{ name: "arb_check_publisher_health", description: "Check the health status of the transaction publisher/sequencer (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: [], }, },
- TypeScript interface defining the return type of the publisher health check.export interface PublisherHealth { healthy: boolean; error?: string; }