Skip to main content
Glama

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
NameRequiredDescriptionDefault
timezoneNo
formatNoiso

Implementation Reference

  • 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"
          });
        }
      );
    }
  • 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"
      });
    }
  • 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;
    }
  • 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)
    },
  • 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;
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ishuru/open-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server