Skip to main content
Glama
ampcome-mcps

Time MCP Server

by ampcome-mcps

current_time

Retrieve the current date and time in customizable formats and timezones to enable time-aware applications and accurate timestamping.

Instructions

Get the current date and time.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatYesThe format of the time, default is empty stringYYYY-MM-DD HH:mm:ss
timezoneNoThe timezone of the time, IANA timezone name, e.g. Asia/Shanghai

Implementation Reference

  • The core handler function that computes the current time in UTC and the specified (or guessed) local timezone, formatting it according to the provided format string using dayjs.
    function getCurrentTime(format: string, timezone?: string) { const utcTime = dayjs.utc(); const localTimezone = timezone ?? dayjs.tz.guess(); const localTime = dayjs().tz(localTimezone); return { utc: utcTime.format(format), local: localTime.format(format), timezone: localTimezone, }; }
  • Defines the Tool metadata including name, description, and input schema for the 'current_time' tool, specifying parameters for format (with enum) and optional timezone.
    export const CURRENT_TIME: Tool = { name: 'current_time', description: 'Get the current date and time.', inputSchema: { type: 'object', properties: { format: { type: 'string', description: 'The format of the time, default is empty string', enum: [ 'h:mm A', 'h:mm:ss A', 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD', 'YYYY-MM', 'MM/DD/YYYY', 'MM/DD/YY', 'YYYY/MM/DD', 'YYYY/MM', ], default: 'YYYY-MM-DD HH:mm:ss', }, timezone: { type: 'string', description: 'The timezone of the time, IANA timezone name, e.g. Asia/Shanghai', default: undefined, }, }, required: ['format'], }, };
  • src/index.ts:30-34 (registration)
    Registers the 'current_time' tool (imported as CURRENT_TIME) in the list of available tools returned by the MCP ListTools request handler.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [CURRENT_TIME, RELATIVE_TIME, DAYS_IN_MONTH, GET_TIMESTAMP, CONVERT_TIME, GET_WEEK_YEAR], }; });
  • The dispatch handler in the CallToolRequestSchema that validates arguments, calls getCurrentTime, and formats the MCP response for the 'current_time' tool.
    case 'current_time': { if (!checkCurrentTimeArgs(args)) { throw new Error(`Invalid arguments for tool: [${name}]`); } const { format, timezone } = args; const result = getCurrentTime(format, timezone); return { success: true, content: [ { type: 'text', text: `Current UTC time is ${result.utc}, and the time in ${result.timezone} is ${result.local}.`, }, ], }; }
  • Type guard helper function to validate the arguments for the 'current_time' tool, checking for required 'format' string and optional 'timezone' string.
    function checkCurrentTimeArgs(args: unknown): args is { format: string, timezone?: string } { return ( typeof args === 'object' && args !== null && 'format' in args && typeof args.format === 'string' && ('timezone' in args ? typeof args.timezone === 'string' : true) ); }

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/ampcome-mcps/time-mcp'

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