MCP Server Official reference

Time

MCP server that gives LLMs current time lookups and timezone conversions using IANA timezone names, with automatic system timezone detection.

uvx mcp-server-time
Time preview image

What it is

Time MCP Server is a Model Context Protocol server that provides time and timezone conversion capabilities. It lets LLMs get current time information and convert times between timezones using IANA timezone names. By default it detects the system timezone automatically, and this can be overridden with a --local-timezone argument.

Who it's for

  • Users of MCP clients such as Claude.app, Zed, VS Code or Zencoder who want their LLM to answer time and timezone questions
  • Developers who need time conversion between IANA timezones exposed as MCP tools

Requirements

Requirements

  • MCP Python SDK 1.x (mcp>=1.29.0,<2); SDK 2.0 is not yet supported (port in progress)
  • One of: uv (for uvx), pip, or Docker to run the server
  • IANA timezone names for tool arguments (e.g., 'America/New_York')

Setup

  1. Run with uvx (recommended)

    With uv installed, no specific installation is needed; uvx runs mcp-server-time directly.

    bash
    uvx mcp-server-time
  2. Or install with pip

    Install the package via pip.

    bash
    pip install mcp-server-time
  3. Run the pip-installed module

    After installation, run it as a script.

    bash
    python -m mcp_server_time
  4. Configure Claude.app (uvx)

    Add this to your Claude settings.

    json
    {
      "mcpServers": {
        "time": {
          "command": "uvx",
          "args": ["mcp-server-time"]
        }
      }
    }
  5. Override the system timezone (optional)

    Add the --local-timezone argument to the args list in the configuration.

    json
    {
      "command": "python",
      "args": ["-m", "mcp_server_time", "--local-timezone=America/New_York"]
    }

Examples

Get current time

json
json
{
  "name": "get_current_time",
  "arguments": {
    "timezone": "Europe/Warsaw"
  }
}

What it does: Calls get_current_time for Europe/Warsaw. The documented response includes timezone, datetime (2024-01-01T13:00:00+01:00) and is_dst (false).

Convert time between timezones

json
json
{
  "name": "convert_time",
  "arguments": {
    "source_timezone": "America/New_York",
    "time": "16:30",
    "target_timezone": "Asia/Tokyo"
  }
}

What it does: Converts 16:30 from America/New_York to Asia/Tokyo. The response contains source and target objects plus a time_difference field ("+13.0h").

Ask for the current time in a city

Prompt
prompt
What time is it in Tokyo?

Expected output: One of the documented example questions for Claude. 'What time is it now?' uses the system timezone.

Ask for a cross-timezone conversion

Prompt
prompt
When it's 4 PM in New York, what time is it in London?

Expected output: A documented example question that exercises timezone conversion.

Debug with the MCP inspector

bash
bash
npx @modelcontextprotocol/inspector uvx mcp-server-time

What it does: Runs the MCP inspector against the uvx-installed server for debugging.

Pros & cons

Pros

  • Pro:Two focused tools (get_current_time and convert_time) with simple, clearly documented arguments
  • Pro:Automatic system timezone detection, with an optional --local-timezone override
  • Pro:Multiple install and run options: uvx, pip, and Docker
  • Pro:Documented configuration for Claude.app, Zed, VS Code and Zencoder

Cons

  • Con:Requires MCP Python SDK 1.x (mcp>=1.29.0,<2); SDK 2.0 is not yet supported
  • Con:convert_time takes only a 24-hour HH:MM time string, so no date input is documented
  • Con:Only two tools are provided, so functionality is limited to current time and conversion

Images