arbos_version
Retrieve the ArbOS version for any Arbitrum chain using the provided RPC URL or chain name. Ideal for identifying the software version on networks like Xai, Arbitrum One, or Nova.
Instructions
Get the ArbOS version number for any Arbitrum chain. Use this for questions like 'what ArbOS version is Xai running?', 'ArbOS version of Arbitrum One', 'what version of ArbOS', or 'check ArbOS version'. Supports chain names like 'Xai', 'Arbitrum One', 'Nova', etc.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chainName | No | Chain name (e.g., 'Xai', 'Arbitrum One', 'Nova') - will auto-resolve to RPC URL | |
| rpcUrl | No | The RPC URL of the Arbitrum node (optional if default is set) |
Implementation Reference
- src/index.ts:202-216 (handler)Primary MCP tool handler: resolves RPC URL from chainName or rpcUrl, instantiates ArbitrumChainClient, calls getArbOSVersion(), and returns formatted text response.case "arbos_version": { const rpcUrl = await this.resolveRpcUrl( (args.rpcUrl as string) || (args.chainName as string) ); const chainDataClient = new ArbitrumChainClient(rpcUrl); const version = await chainDataClient.getArbOSVersion(); return { content: [ { type: "text", text: `ArbOS Version: ${version}`, }, ], }; }
- src/index.ts:907-927 (schema)Tool schema definition including name, description, and inputSchema for rpcUrl and chainName parameters.{ name: "arbos_version", description: "Get the ArbOS version number for any Arbitrum chain. Use this for questions like 'what ArbOS version is Xai running?', 'ArbOS version of Arbitrum One', 'what version of ArbOS', or 'check ArbOS version'. Supports chain names like 'Xai', 'Arbitrum One', 'Nova', etc.", 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', 'Nova') - will auto-resolve to RPC URL", }, }, required: [], }, },
- src/index.ts:821-821 (registration)Tool registration function that returns the list of all available tools including arbos_version, used by ListToolsRequestSchema handler.private getAvailableTools(): Tool[] {
- Helper method in ArbitrumChainClient that implements the core ArbOS version retrieval using orbit-sdk or direct RPC call to arb_getVersion.async getArbOSVersion(): Promise<string> { try { // Try using orbit-sdk first const version = await getArbOSVersion(this.publicClient); return version.toString(); } catch (error) { // Fallback to direct RPC call try { const version = await this.makeRpcCall("arb_getVersion", []); return version; } catch (rpcError) { // Return "Unknown" instead of throwing error for better UX return "Unknown (RPC does not support ArbOS version queries)"; } } }