logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

time-management-utility

Offers current temporal data retrieval and sophisticated timezone transformations utilizing IANA standards, featuring automatic local system clock determination for advanced application support.

Author

time-management-utility logo

fisher1006

No License

Quick Info

GitHub GitHub Stars 2
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

timezonefisher1006mcptimezone detectioninformation timezonetimezone names

Temporal Utility Server (MCP)

This Model Context Protocol server furnishes tools for accessing accurate time information and executing precise timezone adjustments. It exclusively employs IANA identifiers for geographical regions and intelligently ascertains the host system's active timezone.

Exposed Functions

  • fetch_instantaneous_time - Retrieve the present moment in a designated zone or the host's default locale.
  • Mandatory parameters:

    • zone_specifier (string): The IANA designation (e.g., 'America/Los_Angeles', 'Asia/Kolkata').
  • relocate_chronology - Shift a specified time point from one temporal context to another.

  • Mandatory parameters:
    • origin_zone (string): The IANA identifier for the starting timezone.
    • moment (string): Time notation in 24-hour military format (HH:MM).
    • destination_zone (string): The IANA identifier for the resulting timezone.

Deployment Instructions

Preferred Method: Using uv

When leveraging uv deployment tools, setup is minimal. We recommend employing uvx to directly execute the mcp-server-time binary.

Alternative: Using PIP

Alternatively, the package can be installed system-wide via pip:

pip install mcp-server-time

Once installed, invocation is achieved through the module execution entry point:

python -m mcp_server_time

Configuration Profiles

Setup for Claude.app Integration

Integrate the following structure into your Claude configuration settings:

Using uvx Deployment
"mcpServers": {
  "time": {
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
}
Using Docker Container
"mcpServers": {
  "time": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "mcp/time"]
  }
}
Using PIP Environment
"mcpServers": {
  "time": {
    "command": "python",
    "args": ["-m", "mcp_server_time"]
  }
}

Setup for Zed Environment

Adjust your Zed settings.json file with these entries:

Using uvx Deployment
"context_servers": [
  "mcp-server-time": {
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
],
Using PIP Environment
"context_servers": {
  "mcp-server-time": {
    "command": "python",
    "args": ["-m", "mcp_server_time"]
  }
},

Customization - Local Zone Override

The server defaults to auto-detecting the host's timezone. This behavior can be overridden by injecting the --local-timezone parameter into the args array within the configuration block.

Example for overriding to 'America/New_York':

{
  "command": "python",
  "args": ["-m", "mcp_server_time", "--local-timezone=America/New_York"]
}

Usage Examples

  1. Querying the present moment:
{
  "name": "fetch_instantaneous_time",
  "arguments": {
    "zone_specifier": "Europe/Paris"
  }
}

Expected Output:

{
  "timezone": "Europe/Paris",
  "datetime": "2024-01-01T14:00:00+01:00",
  "is_dst": false
}
  1. Time translation task:
{
  "name": "relocate_chronology",
  "arguments": {
    "origin_zone": "Asia/Shanghai",
    "moment": "09:00",
    "destination_zone": "Australia/Sydney"
  }
}

Expected Output:

{
  "source": {
    "timezone": "Asia/Shanghai",
    "datetime": "2024-01-01T09:00:00+08:00",
    "is_dst": false
  },
  "target": {
    "timezone": "Australia/Sydney",
    "datetime": "2024-01-01T11:00:00+10:00",
    "is_dst": false
  },
  "time_difference": "+2.0h"
}

Diagnostics

Server diagnostics can be performed using the MCP inspector utility. For installations managed by uvx:

npx @modelcontextprotocol/inspector uvx mcp-server-time

If the package was installed locally or is under active development:

cd path/to/servers/src/time
npx @modelcontextprotocol/inspector uv run mcp-server-time

Sample Prompts for the LLM

  1. "What is the current time?" (Uses local system setting)
  2. "What is the local time in Berlin?"
  3. "If it is 10:00 in London, calculate the corresponding time in Mumbai."
  4. "Translate 7:00 PM Pacific Time to Eastern Time."

Build Process

Docker image creation:

cd src/time
docker build -t mcp/time .

Collaboration Guidelines

Contributions are actively solicited to augment and refine mcp-server-time. Whether you aim to implement new time-related functionalities, enhance current features, or improve documentation clarity, your input is highly valued.

Refer to the broader repository for examples of other MCP server architectures: https://github.com/modelcontextprotocol/servers

We welcome all pull requests detailing new concepts, bug corrections, or functional enhancements intended to maximize the utility of mcp-server-time.

Licensing

This software, mcp-server-time, is distributed under the terms of the MIT License. This permits unrestricted usage, modification, and redistribution, conditional upon adherence to the stipulations outlined in the MIT License. Comprehensive details are available in the project's LICENSE file.

WIKIPEDIA: XMLHttpRequest (XHR) is a standard application programming interface (API) manifested as a JavaScript object. Its methods facilitate the transmission of HTTP queries from a client-side web application back to a remote web server. These methods enable browser-based programs to communicate with the server subsequent to initial page loading, permitting data reception. XHR is a foundational element of the Ajax programming paradigm. Preceding Ajax, standard hyperlink navigation and HTML form submissions were the primary means of server interaction, usually resulting in a full page reload.

== Chronology == The foundational concept for XMLHttpRequest originated around the year 2000, conceived by Microsoft Outlook developers. This idea was subsequently integrated into Internet Explorer version 5 (released in 1999). Notably, the initial syntax did not use the standard XMLHttpRequest identifier; instead, developers instantiated objects via ActiveXObject("Msxml2.XMLHTTP") or ActiveXObject("Microsoft.XMLHTTP"). By the time Internet Explorer 7 arrived (2006), universal adoption of the XMLHttpRequest identifier was achieved across major browsers. The XMLHttpRequest identifier is now the widely accepted convention across all primary browser engines, including Mozilla's Gecko (2002), Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Efforts === The World Wide Web Consortium (W3C) published the initial Working Draft specification for the XMLHttpRequest object on April 5, 2006. This was followed by the Level 2 specification Working Draft on February 25, 2008. Level 2 introduced capabilities for monitoring request progress events, enabling requests across different domains (cross-site), and handling binary data streams. By the close of 2011, the Level 2 feature set was merged back into the primary specification document. In late 2012, development responsibility transferred to the WHATWG, which maintains the current living specification document using the Web IDL notation.

== Operational Use == Executing a query using XMLHttpRequest typically involves a sequence of programmatic steps.

  1. Instantiate the XHR object by invoking its constructor:
  2. Invoke the open() method to define the HTTP method, specify the targeted resource Uniform Resource Identifier (URI), and choose between synchronous or asynchronous execution:
  3. For asynchronous operations, attach an event handler function designed to execute when the request's status changes:
  4. Initiate the communication sequence by calling the send() method:
  5. Process status changes within the attached listener. If the server successfully delivers response payload data, it is typically accessible via the responseText attribute. Upon completion of processing, the state transitions to 4, signifying the "done" status. Beyond these core actions, XHR offers extensive controls over request transmission and response parsing. Custom HTTP headers can be appended to modify server behavior, and payload data can be submitted to the server within the send() argument. The received data can be automatically deserialized from JSON into native JavaScript objects, or processed incrementally as data chunks arrive, avoiding wait times for the full response body. Furthermore, an ongoing request can be terminated prematurely or configured to time out if completion is not achieved within a set duration.

== Cross-Origin Interactions ==

See Also

`