Date-time Tools MCP
This server provides date-time manipulation and timezone conversion tools for LLMs and applications. All date-time inputs use Luxon-compatible format: yyyy-MM-dd hh:mm:ss a.
convertTimezones: Convert a date-time string from one IANA timezone to another (e.g.,
America/New_YorktoAsia/Calcutta).mutateDate: Add or subtract time units (days, hours, minutes, months, or years) from a given date-time string.
currentDateTimeAndTimezone: Retrieve the current date, time, and timezone of the user/system — must be invoked first when working with relative date references like "today", "tomorrow", or "next week".
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Date-time Tools MCPconvert 10:00 AM EST to Tokyo time"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Date-time Tools MCP
A Model Context Protocol (MCP) server for date-time manipulation and timezone conversion.
Overview
This MCP server provides a set of tools for working with date-time strings, including timezone conversion, date mutation (arithmetic), and fetching the current date-time and timezone. It is designed to be used as a backend utility for applications or agents that need robust, standardized date-time operations.
Live deployment: https://date-time-tools.iabhishek.workers.dev/mcp
Related MCP server: Time MCP Server
Architecture
This server runs on Cloudflare Workers and uses the Streamable HTTP transport (with a legacy SSE endpoint also exposed). Per-session state is backed by a Durable Object via Cloudflare's agents McpAgent wrapper.
Endpoints:
POST/GET/DELETE /mcp— Streamable HTTP transport. Sessions tracked via themcp-session-idheader.GET /sse,POST /sse/message— Legacy SSE transport for older clients.
Local development
npm install
npm run dev # wrangler dev — serves at http://127.0.0.1:8787/mcpDeploying to Cloudflare
Manual
One-time setup:
npx wrangler loginDeploy:
npm run deployWrangler prints the public URL — for this project it's https://date-time-tools.iabhishek.workers.dev/mcp. The Workers Free plan covers this server (100k requests/day; Durable Objects free tier covers session storage).
Automated (GitHub Actions)
.github/workflows/deploy.yml deploys on every push to main (and on manual workflow_dispatch). Configure two repository secrets:
CLOUDFLARE_API_TOKEN— create at https://dash.cloudflare.com/profile/api-tokens using the Edit Cloudflare Workers templateCLOUDFLARE_ACCOUNT_ID— found on the Workers & Pages dashboard sidebar
Integration with MCP Clients
Claude Code
claude mcp add date-time-tools --transport http https://date-time-tools.iabhishek.workers.dev/mcpAdd --scope user to register it for every project, or --scope project to commit a .mcp.json shared with collaborators. Verify with claude mcp list; inside Claude Code, run /mcp to inspect status and tools.
Generic Streamable HTTP clients
Configure clients that support Streamable HTTP transports to point at the deployed URL:
{
"mcpServers": {
"date-time-tools": {
"url": "https://date-time-tools.iabhishek.workers.dev/mcp"
}
}
}For clients that only speak stdio, bridge with mcp-remote:
{
"mcpServers": {
"date-time-tools": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://date-time-tools.iabhishek.workers.dev/mcp"]
}
}
}Available Tools
This MCP server provides the following tools for LLMs:
convertTimezones: Convert a date-time string from one timezone to another.mutateDate: Add or subtract days, hours, minutes, months, or years from a date-time string.currentDateTimeAndTimezone: Get the current date, time, and timezone.
🧪 Testing with MCP Inspector
Run npm run dev, then in another terminal:
npx -y @modelcontextprotocol/inspectorSelect the Streamable HTTP transport and use http://127.0.0.1:8787/mcp as the URL.
Features
Timezone Conversion
Convert a date-time string from one IANA timezone to another using Luxon-compatible formats.Date Mutation
Add or subtract days, hours, minutes, months, or years from a date-time string.Current Date-Time & Timezone
Retrieve the current date, time, and timezone of the user/system.
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. Dates show when Glama detected each change.
3 tool updates
v0.0.7- First observed
convertTimezones - First observed
currentDateTimeAndTimezone - First observed
mutateDate
TDQS
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
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
Deterministic time tools for AI agents: timezone conversion, business-day math, cron interpretation.
Timezone tools for agents: convert, world clock, offset, lookup, date math, holidays, slots. x402
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,823MIT
- 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.224MIT
- 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.73MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/abhi12299/date-time-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server