Skip to main content
Glama

mcp-datetime

PyPI Python Version MCP SDK test License

English | 日本語

A datetime formatting service implemented as an MCP server for the Claude Desktop Application. Supports generation of datetime strings in various formats.

Note: Day-to-day use is on macOS. Automated tests also run on Linux and Windows.

Prerequisites

Before using mcp-datetime, ensure you have the following tools installed:

  • uv (provides uvx). uvx downloads a suitable Python (3.10 or later) if needed.

Related MCP server: DateTime MCP Server

Features

  • ✨ Support for various datetime formats

  • 🇯🇵 Japanese language support, including Japanese era (wareki) and weekday

  • 🧩 Custom format patterns that work the same on macOS, Linux and Windows

  • 📁 Optimized formats for filename generation

  • 🌏 Any IANA timezone (Asia/Tokyo, UTC, America/New_York, ...)

  • 🔧 Seamless integration with Claude Desktop App

MCP Server Components

Tools

The server implements four tools:

  • get_datetime: Get current date and time in various formats

    • format (required): a format name (see Supported Formats) or a custom pattern containing % (see Custom Patterns)

    • timezone (optional): an IANA timezone name such as Asia/Tokyo, UTC or America/New_York. When omitted, the local timezone of the machine is used

    • Returns formatted datetime string based on specified format

  • convert_time: Convert a time or date-time between timezones

    • time (required), target_timezone (required), source_timezone (optional, local by default), format (optional, datetime by default)

    • Returns both sides with timezone, UTC offset and weekday, plus the time difference. Adds a note when the time is skipped or repeated by a daylight saving time change

  • shift_datetime: Add or subtract time (negative numbers for the past)

    • years, months, weeks, days, hours, minutes, seconds, and optional base (now by default), timezone, format

    • Months and years keep the end of the month in range (2024-01-31 + 1 month = 2024-02-29). Days keep the wall time; hours are elapsed time

  • get_datetime_info: Details of a date-time and its difference from another

    • Optional datetime (now by default), reference (now by default), timezone

    • Returns ISO date-time, timezone, UTC offset, DST, Unix time, weekday (English and Japanese), Japanese era, day of year, ISO week, quarter, leap year, days in the month, and days/seconds from the reference (e.g. "in 15 days")

Date-time input of these tools accepts 2024-12-10, 2024-12-10 14:30, 2024-12-10T14:30:00+09:00, 2024/12/10, 2024年12月10日 14時30分, Japanese era such as 令和6年12月10日 or R6.12.10, and a time only such as 14:30 (today).

Usage with Claude Code

claude mcp add mcp-datetime -- uvx mcp-datetime

Usage with Claude Desktop App

Add the following to your config file:

Config file location (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-datetime": {
      "command": "uvx",
      "args": ["mcp-datetime"]
    }
  }
}

Updating to the Latest Version

uvx reuses the version it has already cached, so it may keep starting an older version after a new release. To switch to the latest version, clear the cache once and then restart Claude Code or Claude Desktop:

uv cache clean mcp-datetime

The next start downloads the latest version. To always check for the latest version at every start, use mcp-datetime@latest instead of mcp-datetime in the commands and config above.

About Installation

If you need to install the package directly (e.g., for development or source code inspection), you can use one of these methods:

  • Install from PyPI

    pip install mcp-datetime
  • Install from GitHub Source

    git clone https://github.com/ZeparHyfar/mcp-datetime.git
    cd mcp-datetime
    pip install -e .
  • Example claude_desktop_config.json for manual installation

    {
      "mcpServers": {
        "mcp-datetime": {
          "command": "/path/to/your/python",
          "args": ["-m", "mcp_datetime"]
        }
      }
    }

    Replace "/path/to/your/python" with the Python interpreter where you installed the package

    e.g., "/usr/local/bin/python3" or "/Users/username/.pyenv/versions/3.13.0/bin/python3"

  • Run the tests

    uv run --group dev pytest

Basic Examples

  • Command format

    # Standard datetime format
    call datetime-service.get_datetime {"format": "datetime"}
    # Result: 2024-12-10 00:54:01
    
    # Japanese format
    call datetime-service.get_datetime {"format": "datetime_jp"}
    # Result: 2024年12月10日 00時54分01秒
    
    # Filename format
    call datetime-service.get_datetime {"format": "filename_md"}
    # Result: 20241210005401.md
    
    # Japanese era (wareki)
    call datetime-service.get_datetime {"format": "date_wareki"}
    # Result: 令和6年12月10日
    
    # Another timezone
    call datetime-service.get_datetime {"format": "datetime", "timezone": "America/New_York"}
    # Result: 2024-12-09 10:54:01
    
    # Custom pattern
    call datetime-service.get_datetime {"format": "%Y/%-m/%-d (%a)"}
    # Result: 2024/12/10 (Tue)
    
    # Convert between timezones
    call datetime-service.convert_time {"time": "2024-12-10 14:30", "source_timezone": "Asia/Tokyo", "target_timezone": "America/New_York"}
    # Result: source 2024-12-10 14:30:00 (+09:00), target 2024-12-10 00:30:00 (-05:00), time_difference -14:00
    
    # One month later, in Japanese era
    call datetime-service.shift_datetime {"base": "令和6年1月31日", "months": 1, "format": "date_wareki"}
    # Result: 令和6年2月29日
    
    # Days until a date
    call datetime-service.get_datetime_info {"datetime": "2024-12-25", "reference": "2024-12-10"}
    # Result: ... "days_from_reference": 15, "relative": "in 15 days", "relative_jp": "15日後" ...
  • Claude Desktop App prompt examples

    • User

      Please tell me the current time in date_slash format
    • Claude

      I'll get the current date in date_slash format.
      
      The current date is 2024/12/12

Supported Formats

Format Name

Example

Description

date

2024-12-10

Standard date format

date_slash

2024/12/10

Date with slashes

date_jp

2024年12月10日

Japanese date format

datetime

2024-12-10 00:54:01

Standard datetime

datetime_jp

2024年12月10日 00時54分01秒

Japanese datetime

datetime_t

2024-12-10T00:54:01

DateTime with T separator

compact

20241210005401

Compact format for IDs

compact_date

20241210

Compact date only

compact_time

005401

Compact time only

filename_md

20241210005401.md

Markdown filename

filename_txt

20241210005401.txt

Text filename

filename_log

20241210005401.log

Log filename

iso

2024-12-10T00:54:01+0900

ISO 8601 format

iso_basic

20241210T005401+0900

Basic ISO format

log

2024-12-10 00:54:01.123456

Log format with microseconds

log_compact

20241210_005401

Compact log format

time

00:54:01

Time only

time_jp

00時54分01秒

Japanese time format

date_wareki

令和6年12月10日

Japanese era date

datetime_wareki

令和6年12月10日 00時54分01秒

Japanese era datetime

date_wareki_short

R6.12.10

Japanese era date, short

date_jp_weekday

2024年12月10日(火)

Japanese date with weekday

datetime_jp_weekday

2024年12月10日(火) 00時54分01秒

Japanese datetime with weekday

weekday_jp

火曜日

Japanese weekday

Japanese era (wareki) is supported from 1873-01-01, when Japan adopted the Gregorian calendar. The first year of an era is written as 元年 (e.g. 令和元年5月1日), except in date_wareki_short (R1.5.1).

Custom Patterns

If format contains %, it is used as a pattern (up to 200 characters).

  • Standard strftime directives: %Y %m %d %H %I %M %S %f %p %a %A %b %B %j %U %W %G %V %u %w %z %Z %c %x %X %%

  • No leading zero (works on Windows too): %-m %-d %-H %-I %-M %-S %-j %-y

  • Japanese directives:

Directive

Meaning

Example (2019-05-01)

%Je

Era name

令和

%JE

Era initial

R

%Jy

Era year (元 for year 1)

元

%JY

Era year (always a number)

1

%Ja

Weekday

水

%JA

Weekday

水曜日

Example: %Je%Jy年%-m月%-d日(%Ja) → 令和元年5月1日(水)

Debugging

Since MCP servers run over stdio, debugging can be challenging. We recommend using the MCP Inspector:

  • Using PyPI package

    npx @modelcontextprotocol/inspector uvx mcp-datetime
  • Using downloaded source code from GitHub

    git clone https://github.com/ZeparHyfar/mcp-datetime.git
    npx @modelcontextprotocol/inspector uv --directory ./mcp-datetime run mcp-datetime

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

4 tools
convert_timeA

Convert a time or date-time from one timezone to another. Returns both sides with their timezone, UTC offset and weekday, and the time difference. A note is added when the time is skipped or repeated by a daylight saving time change. Accepted forms: '2024-12-10', '2024-12-10 14:30', '2024-12-10T14:30:00+09:00', '2024/12/10', '2024年12月10日 14時30分', Japanese era such as '令和6年12月10日' or 'R6.12.10', and a time only such as '14:30' (today).

Inputs: time (required), target_timezone (required), format, source_timezone. Returns: object

get_datetimeA

Get the current date and time in the given format.

The time is in the local timezone of the machine running the server, unless 'timezone' is given as an IANA name such as 'Asia/Tokyo' or 'UTC'.

'format' is one of the format names below, or a custom pattern containing '%'. Custom patterns accept strftime directives (%Y %m %d %H %M %S %a %A %b %B %z %Z %j ...), %-m %-d %-H %-M %-S %-I %-j %-y for no leading zero, and these Japanese directives: %Je era name (令和), %JE era initial (R), %Jy era year (元 for year 1), %JY era year (always a number), %Ja weekday (火), %JA weekday (火曜日). Example: '%Je%Jy年%-m月%-d日(%Ja)' -> 令和6年12月10日(火). Japanese era is supported from 1873-01-01.

Available formats (example: 2024-12-10 00:54:01 JST):

  • date: 2024-12-10

  • date_slash: 2024/12/10

  • date_jp: 2024年12月10日

  • datetime: 2024-12-10 00:54:01

  • datetime_jp: 2024年12月10日 00時54分01秒

  • datetime_t: 2024-12-10T00:54:01

  • compact: 20241210005401

  • compact_date: 20241210

  • compact_time: 005401

  • filename_md: 20241210005401.md

  • filename_txt: 20241210005401.txt

  • filename_log: 20241210005401.log

  • iso: 2024-12-10T00:54:01+0900

  • iso_basic: 20241210T005401+0900

  • log: 2024-12-10 00:54:01.123456

  • log_compact: 20241210_005401

  • time: 00:54:01

  • time_jp: 00時54分01秒

  • date_wareki: 令和6年12月10日

  • datetime_wareki: 令和6年12月10日 00時54分01秒

  • date_wareki_short: R6.12.10

  • date_jp_weekday: 2024年12月10日(火)

  • datetime_jp_weekday: 2024年12月10日(火) 00時54分01秒

  • weekday_jp: 火曜日

Inputs: format (required), timezone. Returns: result

get_datetime_infoA

Get details of a date-time (default: now): ISO date-time, timezone, UTC offset, daylight saving time, Unix time, weekday in English and Japanese, Japanese era (wareki), day of year, ISO week, quarter, leap year, days in the month, and the difference from a reference date-time (default: now) in days and seconds, e.g. how many days until a date. Accepted forms: '2024-12-10', '2024-12-10 14:30', '2024-12-10T14:30:00+09:00', '2024/12/10', '2024年12月10日 14時30分', Japanese era such as '令和6年12月10日' or 'R6.12.10', and a time only such as '14:30' (today).

Inputs: datetime, timezone, reference. Returns: object

shift_datetimeA

Add or subtract an amount of time to a date-time (default: now). Use negative numbers for the past. Years, months, weeks and days keep the wall time; if the day does not exist in the new month, the last day of that month is used (2024-01-31 + 1 month = 2024-02-29). Hours, minutes and seconds are elapsed time. Accepted forms: '2024-12-10', '2024-12-10 14:30', '2024-12-10T14:30:00+09:00', '2024/12/10', '2024年12月10日 14時30分', Japanese era such as '令和6年12月10日' or 'R6.12.10', and a time only such as '14:30' (today).

Inputs: base, days, hours, weeks, +6 more. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 4 tools

    Disambiguation4/5

    Each tool has a mostly distinct role: current time formatting, detailed datetime inspection, timezone conversion, and datetime shifting. The main potential overlap is between get_datetime and get_datetime_info when used on 'now', but their outputs and intended uses are different enough that an agent can choose correctly.

    Naming Consistency5/5

    All tool names use consistent snake_case with a verb_noun pattern: convert_time, get_datetime, get_datetime_info, shift_datetime. The get_datetime_info variant is a predictable extension of get_datetime rather than a convention break.

    Tool Count5/5

    Four tools is well-scoped for a focused datetime utility server. Each tool covers a clear operation without excessive fragmentation.

    Completeness4/5

    The surface covers current time formatting, datetime details, timezone conversion, and arithmetic, which handles most common datetime workflows. A minor gap is that arbitrary datetimes cannot be formatted with the same rich format options as get_datetime, but agents can work around this using the available outputs.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Claude Model Configuration Protocol (MCP) server that provides real-time timezone-aware date and time information.
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that provides tools to get the current date and time in various formats, supporting different timezones and custom formatting options.
      1
      23 npm
      1
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      A general-purpose MCP server providing time-related utilities such as fetching current time, Unix timestamps, and formatting services. It supports both local stdio and remote SSE communication modes for versatile AI client integration.
      3
      -
    • A
      license
      A
      quality
      D
      maintenance
      A lightweight MCP server providing comprehensive date, time, and day-of-week information. It supports relative time calculations, timezone conversions, and detailed calendar metadata like week numbers and quarters.
      5
      1
      MIT