Time MCP Server A Model Context Protocol server that enables AI assistants to interact with time The Time MCP Server is a Model Context Protocol (MCP) server that provides AI assistants and other MCP clients with standardized tools to perform time and date-related operations. This server acts as a bridge between AI tools and a robust time-handling backend, allowing for complex time manipulations t
Add this skill
npx mdskills install TheoBrigitte/mcp-timeWell-documented MCP server with comprehensive time tools and multiple installation options
1<p align="center">2 <img src="assets/mcp-time.png" alt="MCP time logo" height="100px">3</p>45<div align="center">67[](https://github.com/TheoBrigitte/mcp-time/releases)8[](https://github.com/TheoBrigitte/mcp-time/actions/workflows/build.yaml)9[](https://pkg.go.dev/github.com/TheoBrigitte/mcp-time)10[](https://archestra.ai/mcp-catalog/theobrigitte__mcp-time)11[](https://www.npmjs.com/package/@theo.foobar/mcp-time)12[](https://hub.docker.com/r/theo01/mcp-time)1314<strong>Time MCP Server</strong>1516*A Model Context Protocol server that enables AI assistants to interact with time*1718</div>1920## Overview2122The Time MCP Server is a [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol) server that provides AI assistants and other MCP clients with standardized tools to perform time and date-related operations. This server acts as a bridge between AI tools and a robust time-handling backend, allowing for complex time manipulations through natural language interactions.2324## Features2526- **โฐ Time Manipulation** - Get current time, convert between timezones, and add or subtract durations27- **๐ฃ๏ธ Natural Language Parsing** - Understands relative time expressions like "yesterday" or "next month"28- **โ๏ธ Time Comparison** - Compare two different times with ease29- **๐จ Flexible Formatting** - Supports a wide variety of predefined and custom time formats30- **โ MCP Compliance** - Fully compatible with the Model Context Protocol standard31- **๐ Multiple Transports** - Supports `stdio` for local integrations and `HTTP stream` for network access3233## Installation3435This MCP server can be integrated with various AI assistant clients that support the Model Context Protocol, including [Cursor](https://cursor.com/), [Claude Desktop](https://claude.ai/download), [Claude Code](https://www.claude.com/product/claude-code), and [many more](https://modelcontextprotocol.io/clients).3637### ๐ One-Click Install (Cursor)3839Click the button below to automatically configure the MCP server using Docker in your [Cursor](https://cursor.com) environment:4041<a href="cursor://anysphere.cursor-deeplink/mcp/install?name=time&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItLXJtIiwiLWkiLCJ0aGVvMDEvbWNwLXRpbWU6bGF0ZXN0Il19">42<picture>43 <source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/deeplink/mcp-install-dark.svg">44 <source media="(prefers-color-scheme: light)" srcset="https://cursor.com/deeplink/mcp-install-light.svg">45 <img alt="Add to Cursor" src="https://cursor.com/deeplink/mcp-install-light.svg" width="200">46</picture>47</a>4849### Using npx (JavaScript/Node.js)5051This method runs the MCP server using [`npx`](https://docs.npmjs.com/cli/v8/commands/npx), which requires Node.js to be installed. Copy the following JSON configuration into your MCP client settings:5253```json54{55 "mcpServers": {56 "mcp-time": {57 "type": "stdio",58 "command": "npx",59 "args": [60 "-y",61 "@theo.foobar/mcp-time"62 ]63 }64 }65}66```6768### Using Docker6970Run the MCP server in an isolated container. Requires [Docker](https://www.docker.com/get-started/) to be installed. Copy this JSON configuration into your MCP client settings:7172```json73{74 "mcpServers": {75 "mcp-time": {76 "type": "stdio",77 "command": "docker",78 "args": [79 "run",80 "--rm",81 "-i",82 "theo01/mcp-time:latest"83 ]84 }85 }86}87```8889### Using binary9091Install the `mcp-time` binary directly on your system. Choose one of the installation methods below, ensuring the binary is placed in a directory that's in your `PATH`. Then add this JSON configuration to your MCP client settings:9293```json94{95 "mcpServers": {96 "mcp-time": {97 "type": "stdio",98 "command": "mcp-time"99 }100 }101}102```103104#### Option 1: Download from Releases105106Download the latest pre-built binary from the [releases page](https://github.com/TheoBrigitte/mcp-time/releases):107108```bash109# Replace OS-ARCH with your platform (e.g., linux-amd64, darwin-arm64, windows-amd64)110curl -Lo mcp-time https://github.com/TheoBrigitte/mcp-time/releases/latest/download/mcp-time.OS-ARCH111install -D -m 755 ./mcp-time ~/.local/bin/mcp-time112```113114#### Option 2: Install with Go115116For Go developers, install directly using `go install`:117118```bash119go install github.com/TheoBrigitte/mcp-time/cmd/mcp-time@latest120```121122The binary will be installed in your `$GOPATH/bin` directory.123124#### Option 3: Build from Source125126Clone and build the project using `make`:127128```bash129git clone https://github.com/TheoBrigitte/mcp-time.git130cd mcp-time131make install132```133134The binary will be installed in `~/.local/bin/mcp-time`.135136## Usage137138### Basic Usage139140**Start with stdio transport** (default, for MCP clients):141```bash142mcp-time143```144145**Start with HTTP stream transport** (for network access):146```bash147mcp-time --transport stream --address "http://localhost:8080/mcp"148```149150### Command-Line Options151152The server supports the following flags for advanced configurations:153154```155$ mcp-time --help156An MCP (Model Context Protocol) server which provides utilities to work with time and dates.157158Usage:159 mcp-time [flags]160161Flags:162 --address string Listen address for Stream HTTP Server (only for --transport stream) (default "http://localhost:8080/mcp")163 -h, --help help for mcp-time164 --log-file string Path to log file (logs is disabled if not specified)165 -t, --transport string Transport layer: stdio, stream. (default "stdio")166 --version Print version information and exit167```168169## Available Tools170171### `current_time`172173Get the current time in any timezone and format.174175**Parameters:**176- `format` (optional) - The output format (predefined like `RFC3339`, `Kitchen`, or custom Go layout)177- `timezone` (optional) - Target timezone in IANA format (e.g., `America/New_York`). Defaults to UTC178179**Example:** "What time is it in Tokyo?"180181### `relative_time`182183Get a time based on a relative natural language expression.184185**Parameters:**186- `text` (required) - Natural language expression (e.g., `yesterday`, `5 minutes ago`, `next month`)187- `time` (optional) - Reference time for the expression. Defaults to current time188- `timezone` (optional) - Target timezone for the output189- `format` (optional) - Output format for the time190191**Example:** "What was the date 3 weeks ago?"192193### `convert_timezone`194195Convert a given time between timezones.196197**Parameters:**198- `time` (required) - Input time string (supports various formats)199- `input_timezone` (optional) - Timezone of the input time200- `output_timezone` (optional) - Target timezone for the output201- `format` (optional) - Output format for the time202203**Example:** "Convert 2:30 PM EST to Tokyo time"204205### `add_time`206207Add or subtract a duration from a given time.208209**Parameters:**210- `time` (required) - Input time string211- `duration` (required) - Duration to add/subtract (e.g., `2h30m`, `-1h`, `24h`)212- `timezone` (optional) - Target timezone for the output213- `format` (optional) - Output format for the time214215**Example:** "What time will it be in 45 minutes?"216217### `compare_time`218219Compare two times and determine their relationship. Supports timezone-aware comparisons.220221**Parameters:**222- `time_a` (required) - First time to compare223- `time_a_timezone` (optional) - Timezone for `time_a` in IANA format (e.g., `America/New_York`)224- `time_b` (required) - Second time to compare225- `time_b_timezone` (optional) - Timezone for `time_b` in IANA format (e.g., `Europe/London`)226227**Returns:**228- `-1` if `time_a` is before `time_b`229- `0` if `time_a` equals `time_b`230- `1` if `time_a` is after `time_b`231232**Example:** "Is 3 PM EST before 8 PM GMT?"233234## Contributing235236Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.237238## License239240This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.241242## Credits243244Built with these excellent libraries:245- [araddon/dateparse](https://github.com/araddon/dateparse) - Parse dates without knowing the format246- [tj/go-naturaldate](https://github.com/tj/go-naturaldate) - Natural language date parsing247- [mark3labs/mcp-go](https://github.com/mark3labs/mcp-go) - Model Context Protocol SDK for Go248
Full transparency โ inspect the skill content before installing.