get_time
Retrieve current time in specified timezone and format for automation workflows, supporting ISO, Unix timestamp, or locale-based outputs.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| timezone | No | ||
| format | No | iso |
Implementation Reference
- src/tools/dev-tools.ts:163-185 (registration)The registerGetTime function that registers the 'get_time' tool on the MCP server using server.tool, defining its name, input schema, and handler function.function registerGetTime(server: McpServer): void { server.tool("get_time", { timezone: z.string().optional(), format: z.enum(["iso", "unix", "locale"]).optional().default(DEFAULTS.TIME_FORMAT) }, async ({ timezone, format }) => { return wrapToolExecution(async () => { const info = formatTime(new Date(), format as TimeFormat, timezone); return { content: [{ type: "text" as const, text: JSON.stringify(info, null, 2) }] }; }, { errorCode: ERROR_CODES.SYSTEM_INFO, context: "Failed to get time" }); } ); }
- src/tools/dev-tools.ts:169-183 (handler)Inline handler function for 'get_time' tool execution, which formats the current date and returns a standardized MCP response.async ({ timezone, format }) => { return wrapToolExecution(async () => { const info = formatTime(new Date(), format as TimeFormat, timezone); return { content: [{ type: "text" as const, text: JSON.stringify(info, null, 2) }] }; }, { errorCode: ERROR_CODES.SYSTEM_INFO, context: "Failed to get time" }); }
- src/tools/dev-tools.ts:187-214 (helper)Core helper function that formats the current time into the requested format (ISO, Unix timestamp, or locale) and handles timezone conversion.function formatTime(now: Date, format: TimeFormat, timezone?: string): TimeInfo { let time: string; switch (format) { case "unix": time = now.getTime().toString(); break; case "locale": time = now.toLocaleString(); break; case "iso": default: time = now.toISOString(); break; } const info: TimeInfo = { time, format, timezone: timezone || "UTC" }; if (timezone) { info.timeInTimezone = formatTimeInTimezone(now, timezone); } return info; }
- src/tools/dev-tools.ts:165-168 (schema)Zod schema defining input parameters for the get_time tool: optional timezone and format.{ timezone: z.string().optional(), format: z.enum(["iso", "unix", "locale"]).optional().default(DEFAULTS.TIME_FORMAT) },
- src/types/common.ts:140-147 (schema)TypeScript definitions for TimeFormat enum and TimeInfo interface used as input/output types for the get_time tool.export type TimeFormat = "iso" | "unix" | "locale"; export interface TimeInfo { time: string; format: TimeFormat; timezone: string; timeInTimezone?: string; }