Skip to main content
Glama
weester-yan

time-mcp-local

by weester-yan

Time MCP Server

A Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.

Available Tools

  • get_current_time - Get current time in a specific timezone or system timezone.

    • Required arguments:

      • timezone (string): IANA timezone name (e.g., 'America/New_York', 'Europe/London')

  • convert_time - Convert time between timezones.

    • Required arguments:

      • source_timezone (string): Source IANA timezone name

      • time (string): Time in 24-hour format (HH:MM)

      • target_timezone (string): Target IANA timezone name

Installation

When using uv no specific installation is needed. We will use uvx to directly run mcp-server-time.

Using PIP

Alternatively you can install time-mcp-local via pip:

pip install time-mcp-local

After installation, you can run it as a script using:

python -m time-mcp-local

Related MCP server: Time MCP Server

Configuration

Configure for Claude.app

Add to your Claude settings:

"mcpServers": {
  "time": {
    "command": "uvx",
    "args": ["time-mcp-local"]
  }
}
"mcpServers": {
  "time": {
    "command": "python",
    "args": ["-m", "time_mcp_local"]
  }
}

Configure for Zed

Add to your Zed settings.json:

"context_servers": [
  "mcp-server-time": {
    "command": "uvx",
    "args": ["time-mcp-local"]
  }
],
"context_servers": {
  "mcp-server-time": {
    "command": "python",
    "args": ["-m", "time_mcp_local"]
  }
},

Customization - System Timezone

By default, the server automatically detects your system's timezone. You can override this by adding the argument --local-timezone to the args list in the configuration.

Example:

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

Example Interactions

  1. Get current time:

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

Response:

{
  "timezone": "Europe/Warsaw",
  "datetime": "2024-01-01T13:00:00+01:00",
  "is_dst": false
}
  1. Convert time between timezones:

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

Response:

{
  "source": {
    "timezone": "America/New_York",
    "datetime": "2024-01-01T12:30:00-05:00",
    "is_dst": false
  },
  "target": {
    "timezone": "Asia/Tokyo",
    "datetime": "2024-01-01T12:30:00+09:00",
    "is_dst": false
  },
  "time_difference": "+13.0h",
}

Debugging

You can use the MCP inspector to debug the server. For uvx installations:

npx @modelcontextprotocol/inspector uvx time-mcp-local

Or if you've installed the package in a specific directory or are developing on it:

cd path/to/servers/src/time
npx @modelcontextprotocol/inspector uv run time-mcp-local

Examples of Questions for Claude

  1. "What time is it now?" (will use system timezone)

  2. "What time is it in Tokyo?"

  3. "When it's 4 PM in New York, what time is it in London?"

  4. "Convert 9:30 AM Tokyo time to New York time"

build

uv build --wheel
uv publish --token xxx

Available Tools

2 tools
convert_timeC

Convert time between timezones

ParametersJSON Schema
NameRequiredDescriptionDefault
source_timezoneYesSource IANA timezone name (e.g., 'America/New_York', 'Europe/London'). Use 'Etc/UTC' as local timezone if no source timezone provided by the user.
timeYesTime to convert in 24-hour format (HH:MM)
target_timezoneYesTarget IANA timezone name (e.g., 'Asia/Tokyo', 'America/San_Francisco'). Use 'Etc/UTC' as local timezone if no target timezone provided by the user.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It does not disclose any behavioral traits such as how time zones are handled, invalid inputs, or daylight saving time. The description is minimal and adds no transparency beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded. However, it could include more useful information without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and description does not mention return format, error handling, or edge cases. For a time zone conversion tool, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 3 parameters. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Convert time between timezones', conveying the verb and resource. However, it does not differentiate from the sibling tool 'get_current_time', which might also involve time zones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. The description is a single phrase with no context about prerequisites or when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_current_timeC

Get current time in a specific timezones

ParametersJSON 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.

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states 'Get current time' without disclosing output format, time source, or any behavioral details like handling of invalid timezones.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single sentence but grammatically flawed ('timezones'). It is concise but lacks clarity and proper structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description omits critical context such as return format, time source (server vs user), and error handling. Incomplete for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full description of the 'timezone' parameter with examples (100% coverage). The tool description adds no additional semantic value beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool gets current time in a specific timezone, but the grammar ('timezones') slightly reduces clarity. It distinguishes from sibling 'convert_time' by focusing on current time retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs the sibling 'convert_time' or any exclusion criteria. The description does not indicate context-specific usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.3
    • First observedconvert_time
    • First observedget_current_time

TDQS

B3.3/5.0
Disambiguation5/5

The two tools serve clearly distinct purposes: one returns the current time in a given timezone, while the other converts a specific time between timezones. There is no overlap in functionality.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern: 'convert_time' and 'get_current_time'. The naming is predictable and easy to understand.

Tool Count3/5

With only two tools, the surface is quite thin. While it covers basic time operations, a more complete set might include listing timezones or calculating time differences. The count feels borderline for a general-purpose time utility.

Completeness4/5

The core workflows of getting the current time and converting between timezones are covered. However, missing utilities like listing available timezones or formatting time outputs are minor gaps that agents can typically work around.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names. Enables LLMs to get current time in any timezone and convert times between different timezones with automatic system timezone detection.
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names with automatic system detection. It enables LLMs to fetch local or global times and convert specific timestamps between different regions.
    2
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names and automatic system detection. It enables LLMs to fetch current times across different regions and convert specific times between timezones.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides current date, time, and datetime with optional timezone support (local, UTC, or IANA timezone strings).
    3
    15
    MIT

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/weester-yan/time-mcp-local'

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