Skip to main content
Glama
ssinha3

Time MCP Server

by ssinha3

get_current_time

Retrieve the current time and date for a specified IANA timezone using the Time MCP Server. Input the timezone name to get accurate local time information for global applications.

Instructions

Get current time in a specific timezones

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
timezoneYesIANA timezone name (e.g., 'America/New_York', 'Europe/London'). Use 'Etc/UTC' as local timezone if no timezone provided by the user.

Implementation Reference

  • The main handler function for the 'get_current_time' tool. It takes a timezone_name, retrieves the ZoneInfo object, gets the current datetime in that timezone, and returns a TimeResult object containing the timezone, ISO-formatted datetime string, and DST status.
    def get_current_time(self, timezone_name: str) -> TimeResult:
        """Get current time in specified timezone"""
        timezone = get_zoneinfo(timezone_name)
        current_time = datetime.now(timezone)
    
        return TimeResult(
            timezone=timezone_name,
            datetime=current_time.isoformat(timespec="seconds"),
            is_dst=bool(current_time.dst()),
        )
  • Pydantic model defining the structured output for the get_current_time tool response.
    class TimeResult(BaseModel):
        timezone: str
        datetime: str
        is_dst: bool
  • Tool registration in the MCP server's list_tools pipeline, defining the tool's name, description, and input schema which requires a 'timezone' parameter as a string.
    Tool(
        name=TimeTools.GET_CURRENT_TIME.value,
        description="Get current time in a specific timezones",
        inputSchema={
            "type": "object",
            "properties": {
                "timezone": {
                    "type": "string",
                    "description": f"IANA timezone name (e.g., 'America/New_York', 'Europe/London'). Use '{local_tz}' as local timezone if no timezone provided by the user.",
                }
            },
            "required": ["timezone"],
        },
    ),
  • Utility function to create a ZoneInfo object from a timezone name string, with error handling for invalid timezones. Called by the get_current_time handler.
    def get_zoneinfo(timezone_name: str) -> ZoneInfo:
        try:
            return ZoneInfo(timezone_name)
        except Exception as e:
            raise McpError(f"Invalid timezone: {str(e)}")
  • String enum defining the canonical names for time-related tools, used in registration and dispatch.
    class TimeTools(str, Enum):
        GET_CURRENT_TIME = "get_current_time"
        CONVERT_TIME = "convert_time"
Install Server

Other Tools

Related Tools

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/ssinha3/mcp-time-server'

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