Date-time Tools MCP
日時ツール MCP
日時操作およびタイムゾーン変換のためのModel Context Protocol (MCP) サーバーです。
概要
このMCPサーバーは、タイムゾーン変換、日付の変更(算術演算)、現在の日時とタイムゾーンの取得など、日時文字列を扱うための一連のツールを提供します。堅牢で標準化された日時操作を必要とするアプリケーションやエージェントのバックエンドユーティリティとして設計されています。
ライブデプロイ: https://date-time-tools.iabhishek.workers.dev/mcp
Related MCP server: Time MCP Server
アーキテクチャ
このサーバーは Cloudflare Workers 上で動作し、Streamable HTTP トランスポート(レガシーなSSEエンドポイントも公開)を使用します。セッションごとの状態は、Cloudflareの agents McpAgent ラッパーを介してDurable Objectによってバックアップされます。
エンドポイント:
POST/GET/DELETE /mcp— Streamable HTTPトランスポート。セッションはmcp-session-idヘッダーで追跡されます。GET /sse,POST /sse/message— 古いクライアント用のレガシーSSEトランスポート。
ローカル開発
npm install
npm run dev # wrangler dev — serves at http://127.0.0.1:8787/mcpCloudflareへのデプロイ
手動
初回セットアップ:
npx wrangler loginデプロイ:
npm run deployWranglerが公開URLを表示します。このプロジェクトの場合は https://date-time-tools.iabhishek.workers.dev/mcp です。Workersの無料プランでこのサーバーをカバーできます(1日10万リクエストまで。Durable Objectsの無料枠でセッションストレージをカバー)。
自動化 (GitHub Actions)
.github/workflows/deploy.yml は、main へのプッシュごと(および手動の workflow_dispatch)にデプロイを行います。2つのリポジトリシークレットを設定してください:
CLOUDFLARE_API_TOKEN— https://dash.cloudflare.com/profile/api-tokens にて Edit Cloudflare Workers テンプレートを使用して作成CLOUDFLARE_ACCOUNT_ID— Workers & Pagesダッシュボードのサイドバーで確認可能
MCPクライアントとの統合
Claude Code
claude mcp add date-time-tools --transport http https://date-time-tools.iabhishek.workers.dev/mcpすべてのプロジェクトに登録するには --scope user を追加し、共同作業者と共有する .mcp.json をコミットするには --scope project を追加します。claude mcp list で確認してください。Claude Code内では /mcp を実行してステータスとツールを検査します。
汎用Streamable HTTPクライアント
Streamable HTTPトランスポートをサポートするクライアントを設定し、デプロイされたURLを指定します:
{
"mcpServers": {
"date-time-tools": {
"url": "https://date-time-tools.iabhishek.workers.dev/mcp"
}
}
}stdioのみをサポートするクライアントの場合は、mcp-remote でブリッジします:
{
"mcpServers": {
"date-time-tools": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://date-time-tools.iabhishek.workers.dev/mcp"]
}
}
}利用可能なツール
このMCPサーバーは、LLM向けに以下のツールを提供します:
convertTimezones: 日時文字列をあるタイムゾーンから別のタイムゾーンへ変換します。mutateDate: 日時文字列に対して、日、時間、分、月、または年を加算または減算します。currentDateTimeAndTimezone: 現在の日付、時刻、タイムゾーンを取得します。
🧪 MCP Inspectorによるテスト
npm run dev を実行し、別のターミナルで以下を実行します:
npx -y @modelcontextprotocol/inspectorStreamable HTTP トランスポートを選択し、URLとして http://127.0.0.1:8787/mcp を使用します。
機能
タイムゾーン変換
Luxon互換の形式を使用して、日時文字列をあるIANAタイムゾーンから別のタイムゾーンへ変換します。日付の変更
日時文字列に対して、日、時間、分、月、または年を加算または減算します。現在の日時とタイムゾーン
ユーザー/システムの現在の日付、時刻、タイムゾーンを取得します。
Available Tools
3 toolsconvertTimezonesA
Converts a date time string from one timezone to another.
The date time string must follow luxon date-time format: yyyy-MM-dd hh:mm:ss a. Example: 2025-06-16 10:00:00 pm.
The timezones must be valid IANA timezones. Example: Asia/Calcutta, America/New_York.
You must first invoke the tool named "currentDateTimeAndTimezone" to get the current date, time and timezone of the user if they don't specify the date or time explicitly or use relative date or time (i.e. in an hour/today/tomorrow/yesterday/next week/next month/next year etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| dateTime | Yes | The date time string to convert. Must follow luxon date-time format: yyyy-MM-dd hh:mm:ss a. Example: 2025-06-16 10:00:00 pm | |
| fromZone | Yes | The IANA timezone of the date time string | |
| toZone | Yes | The IANA timezone to convert the date time string to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by specifying required input formats (luxon format, IANA timezones) and the prerequisite tool invocation for certain scenarios. However, it doesn't mention error handling, rate limits, or authentication needs, which would be helpful for a complete behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose in the first sentence. The bullet points efficiently convey important constraints and prerequisites. While every sentence earns its place, the formatting as bullet points (though clear) could be slightly more streamlined for pure text consumption.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (timezone conversion with format constraints), no annotations, and no output schema, the description does well by covering purpose, usage guidelines, and behavioral constraints. However, it doesn't describe the return format or error responses, which would be helpful for completeness since there's no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description reinforces the format requirements (luxon format, IANA timezones) but doesn't add significant semantic meaning beyond what's in the schema. This meets the baseline expectation when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('converts') and resources ('date time string from one timezone to another'), and it distinguishes from sibling tools by not overlapping with 'currentDateTimeAndTimezone' (which provides current info) or 'mutateDate' (which suggests date manipulation rather than timezone conversion).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives: it specifies that for relative dates/times or unspecified dates, the agent must first invoke 'currentDateTimeAndTimezone' to get the user's current context. This creates clear prerequisites and distinguishes usage scenarios from the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currentDateTimeAndTimezoneB
Gets the current date, time and timezone of the user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that it retrieves the user's current date/time/timezone, which implies a read-only operation, but doesn't specify whether this requires authentication, how frequently it can be called, or what format the data is returned in. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any unnecessary words. It's front-loaded with the core purpose and wastes no space, making it ideal for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but not fully complete. It explains what the tool does but lacks details on return format, authentication needs, or error handling. For a basic tool, this is minimally viable but leaves room for improvement in behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it appropriately doesn't mention any parameters, earning a high baseline score for this context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Gets') and resource ('current date, time and timezone of the user'), making it immediately understandable. However, it doesn't explicitly distinguish itself from sibling tools like 'convertTimezones' or 'mutateDate', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'convertTimezones' (for timezone conversion) or 'mutateDate' (for date manipulation). It states what the tool does but offers no context about appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mutateDateA
Mutates a date time string by adding or subtracting days, hours, minutes, months, or years.
The date time string must follow luxon date-time format: yyyy-MM-dd hh:mm:ss a. Example: 2025-06-16 10:00:00 pm.
The update object must be a valid update object. Example: { days: -1, hours: 2, minutes: 3, months: 4, years: 5 }.
You must first invoke the tool named "currentDateTimeAndTimezone" to get the current date, time and timezone of the user if they don't specify an absolute date or time explicitly (today/tomorrow/yesterday/next week/next month/next year etc. is not absolute date or time).
| Name | Required | Description | Default |
|---|---|---|---|
| dateTime | Yes | The date time string to mutate. Must follow luxon date-time format: yyyy-MM-dd hh:mm:ss a. Example: 2025-06-16 10:00:00 pm | |
| update | Yes | The update object to apply to the date time string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the required date format (luxon format) and provides concrete examples, which is valuable. However, it doesn't mention error handling, whether the operation is reversible, or what happens with invalid inputs. The description adds context about format requirements but lacks comprehensive behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three bullet points that each serve distinct purposes: purpose statement, format requirements, and usage prerequisites. It's front-loaded with the core functionality. Minor improvement could be made by combining some format details, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (date manipulation with format constraints), no annotations, and no output schema, the description does well by covering format requirements, examples, and workflow dependencies. It could be more complete by mentioning return format or error cases, but it provides sufficient context for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by providing concrete examples of both parameters (date format example and update object example), which enhances understanding beyond the schema's technical definitions. However, it doesn't explain edge cases or parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('mutates') and resource ('date time string'), and distinguishes it from sibling tools by focusing on date manipulation rather than timezone conversion or current date retrieval. It specifies the exact operations (adding/subtracting days, hours, minutes, months, years).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool versus alternatives: it instructs to first invoke 'currentDateTimeAndTimezone' when users don't specify absolute dates (e.g., 'today', 'tomorrow'), creating clear workflow dependencies. This directly addresses when to use this tool versus the sibling tool.
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.
3 tool updates
v0.0.7- First observed
convertTimezones - First observed
currentDateTimeAndTimezone - First observed
mutateDate
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: convertTimezones handles timezone conversion, currentDateTimeAndTimezone retrieves current datetime and timezone, and mutateDate performs date arithmetic. There is no overlap or ambiguity between these functions.
Two tools use camelCase (convertTimezones, currentDateTimeAndTimezone) while one uses snake_case (mutateDate), creating a minor inconsistency. However, all names are descriptive and follow a verb_noun pattern, making them readable despite the mixed conventions.
With only 3 tools, the set feels thin for a date-time utility server. While the tools cover core operations, additional functions like parsing, formatting, or comparing dates would enhance completeness. The count is borderline but manageable.
The tools cover conversion, retrieval, and mutation, but there are notable gaps such as date parsing from various formats, date comparison, duration calculation, or formatting. Agents may struggle with tasks requiring these missing operations, though core workflows are supported.
Maintenance
Related MCP Connectors
Time and date math for AI agents: Unix timestamp conversion, DST-correct time zone conversion, durations, epoch arithmetic, cron schedules, and holiday countdowns. Eight tools, no key.
Deterministic time tools for AI agents: timezone conversion, business-day math, cron interpretation.
Current time, timezone conversion & date math for AI agents. On Cloudflare Workers.
Convert and compare dates and times across any timezone with flexible, locale-aware formatting. Ad…
Related MCP Servers
- AlicenseBqualityDmaintenanceGives large language models time awareness capabilities through various time-related functions including current time retrieval, timezone conversion, and relative time calculations.61,756 npmMIT
- AlicenseBqualityDmaintenanceProvides time and timezone functionality for LLMs, enabling them to get current time information across different timezones and convert times between zones.2MIT
- AlicenseAqualityBmaintenanceProvides comprehensive date, time, timezone, and calendar operations powered by Luxon, enabling AI agents to perform time calculations, timezone conversions, and temporal data handling across 400+ IANA timezones.212 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides time and date functionality with support for multiple formats and timezones, enabling users to get current time/date, format timestamps, and retrieve comprehensive datetime information.49 npmMIT