Skip to main content
Glama
abhi12299

Date-time Tools MCP

by abhi12299

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 the mcp-session-id header.

  • 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/mcp

Deploying to Cloudflare

Manual

One-time setup:

npx wrangler login

Deploy:

npm run deploy

Wrangler 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:

Integration with MCP Clients

Claude Code

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

Add --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/inspector

Select 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 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. Dates show when Glama detected each change.

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

TDQS

A3.7/5.0
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

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
    Gives large language models time awareness capabilities through various time-related functions including current time retrieval, timezone conversion, and relative time calculations.
    6
    1,823
    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
    24
    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.
    73
    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/abhi12299/date-time-tools'

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