Skip to main content
Glama
abhi12299

Date-time Tools MCP

by abhi12299

日期时间工具 MCP

一个用于日期时间操作和时区转换的模型上下文协议 (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/mcp

部署到 Cloudflare

手动

一次性设置:

npx wrangler login

部署:

npm run deploy

Wrangler 会打印公共 URL — 对于本项目,它是 https://date-time-tools.iabhishek.workers.dev/mcp。Workers 免费计划涵盖此服务器(每天 10 万次请求;Durable Objects 免费层级涵盖会话存储)。

自动化 (GitHub Actions)

.github/workflows/deploy.yml 会在每次推送到 main 分支时(以及手动触发 workflow_dispatch 时)进行部署。配置两个存储库密钥:

与 MCP 客户端集成

Claude Code

claude mcp add date-time-tools --transport http https://date-time-tools.iabhishek.workers.dev/mcp

添加 --scope user 以将其注册到每个项目,或添加 --scope project 以提交与协作者共享的 .mcp.json。使用 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/inspector

选择 Streamable HTTP 传输并使用 http://127.0.0.1:8787/mcp 作为 URL。


功能

  • 时区转换
    使用 Luxon 兼容格式将日期时间字符串从一个 IANA 时区转换为另一个时区。

  • 日期变更
    从日期时间字符串中添加或减去天、小时、分钟、月或年。

  • 当前日期时间与时区
    检索用户/系统的当前日期、时间和时区。

Available Tools

3 tools
convertTimezonesA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dateTimeYesThe 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
fromZoneYesThe IANA timezone of the date time string
toZoneYesThe IANA timezone to convert the date time string to

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dateTimeYesThe 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
updateYesThe update object to apply to the date time string

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 3 tool updatesv0.0.7
    • First observedconvertTimezones
    • First observedcurrentDateTimeAndTimezone
    • First observedmutateDate

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Gives large language models time awareness capabilities through various time-related functions including current time retrieval, timezone conversion, and relative time calculations.
    6
    1,756 npm
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides time and timezone functionality for LLMs, enabling them to get current time information across different timezones and convert times between zones.
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides 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.
    2
    12 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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 npm
    MIT