system_info
Retrieve system information including platform details, memory usage, CPU statistics, and uptime data for monitoring and diagnostics.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| include | No |
Implementation Reference
- src/tools/dev-tools.ts:145-159 (handler)Handler function for the system_info tool. It collects system information based on the provided 'include' categories using the SystemInfoCollector and returns it as formatted JSON text content.async ({ include }) => { return wrapToolExecution(async () => { const info = systemInfoCollector.collectSystemInfo(include); return { content: [{ type: "text" as const, text: JSON.stringify(info, null, 2) }] }; }, { errorCode: ERROR_CODES.SYSTEM_INFO, context: "Failed to get system info" }); }
- src/tools/dev-tools.ts:142-144 (schema)Zod schema for input validation of the system_info tool, specifying optional categories to include.{ include: z.array(z.enum(["platform", "memory", "cpu", "uptime"])).optional() },
- src/tools/dev-tools.ts:140-161 (registration)Registers the system_info tool with the MCP server in the registerDevTools workflow.function registerSystemInfo(server: McpServer): void { server.tool("system_info", { include: z.array(z.enum(["platform", "memory", "cpu", "uptime"])).optional() }, async ({ include }) => { return wrapToolExecution(async () => { const info = systemInfoCollector.collectSystemInfo(include); return { content: [{ type: "text" as const, text: JSON.stringify(info, null, 2) }] }; }, { errorCode: ERROR_CODES.SYSTEM_INFO, context: "Failed to get system info" }); } ); }
- src/types/common.ts:100-134 (schema)Type definitions for SystemInfo and related interfaces used as output schema for the system_info tool.export type SystemInfoCategory = "platform" | "memory" | "cpu" | "uptime"; export interface PlatformInfo { type: string; release: string; arch: string; hostname: string; homedir: string; } export interface MemoryInfo { total: string; free: string; used: string; usagePercent: string; } export interface CpuInfo { model: string; cores: number; speed: string; loadAverage: string[]; } export interface UptimeInfo { seconds: number; formatted: string; } export interface SystemInfo { platform?: PlatformInfo; memory?: MemoryInfo; cpu?: CpuInfo; uptime?: UptimeInfo; }
- src/utils/system-info.ts:87-110 (helper)Core helper method in SystemInfoCollector that conditionally collects system information for specified categories using Node.js 'os' module.collectSystemInfo(categories?: SystemInfoCategory[]): SystemInfo { const info: SystemInfo = {}; const shouldInclude = (category: SystemInfoCategory) => !categories || categories.includes(category); if (shouldInclude("platform")) { info.platform = this.getPlatformInfo(); } if (shouldInclude("memory")) { info.memory = this.getMemoryInfo(); } if (shouldInclude("cpu")) { info.cpu = this.getCpuInfo(); } if (shouldInclude("uptime")) { info.uptime = this.getUptimeInfo(); } return info; }