About currentdt-mcp
currentdt-mcp is an MCP server that gives AI assistants real-time date and time data for timestamped content. It returns UTC, local time with its offset, and epoch milliseconds, with IANA time-zone conversion.
Key features
- 01Returns UTC, local time, offset, and epoch milliseconds
- 02Supports IANA zones and DST-aware conversion
- 03Formats ISO 8601 and token patterns
- 04Provides structured and plain-text output
Use cases
- 01Generate timestamps for database migration files
- 02Add current times to logging code
- 03Date changelog entries
MCP support
As an MCP server, it exposes get_current_datetime and convert_timezone tools for querying the current time and converting time zones.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
2Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | No | "iso" (default unless configured otherwise) returns UTC, e.g. 2026-08-20T12:31:02.625Z. Anything else is a token pattern rendered in the host's LOCAL time and must contain at least one token; free text is rejected. Tokens: YYYY, MM, DD, HH, mm, ss, SSS, Z, ZZ. Named patterns: filename, logdate, simple. Examples: "YYYY-MM-DD", "YYYY-MM-DD HH:mm:ss", "YYYY-MM-DD-HHmmss", "YYYY-MM-DDTHH:mm:ss.SSSZ" (local time with its real offset). |
| provider | enum | No | "local" (default) reads the system clock. "remote" queries a network time service and fails rather than silently substituting the local clock.local | remote |
| timezone | string | No | Zone for `local`, `offset`, `timezone` and any token format. IANA name such as "UTC", "Europe/Berlin", "America/New_York" or "Asia/Kolkata". Defaults to the host machine's zone. Does not affect `iso`/`utc`, which are always UTC. |
Details
From the project README@strix-ai/currentdt-mcp
Real-time date and time access for AI assistants via Model Context Protocol (MCP)
Built for AI, Built with AI - Enhancing AI assistant capabilities through intelligent tooling
📑 Table of Contents
- Overview
- Quick Start
- User Flow
- Core Features
- MCP Client Integration
- Real-World Usage Examples
- API Reference
- Configuration
- Common Format Patterns
- Troubleshooting
- Development
- Support & Links
- Contributing
- License
Overview
@strix-ai/currentdt-mcp is an MCP server that provides AI assistants with instant access to current date and time information. Essential for generating timestamped code, migration files, and dated documentation.
Quick Start
# No install required -- point your MCP client at npx (see integration guides below)
npx -y @strix-ai/currentdt-mcp
# Or install globally
npm install -g @strix-ai/currentdt-mcp
Requires Node.js 18 or newer.
User Flow
┌─────────────────────┐ ┌─────────────────┐ ┌─────────────────────┐
│ User Asks for │───▶│ AI Assistant │───▶│ get_current_ │
│ Timestamped Code │ │ │ │ datetime Tool │
└─────────────────────┘ └─────────────────┘ └─────────────────────┘
│
▼
┌─────────────────────┐ ┌─────────────────┐ ┌─────────────────────┐
│ Timestamped Output │◀───│ Current Time │◀───│ CurrentDT MCP │
│ Generated │ │ Returned │ │ Server │
└─────────────────────┘ └─────────────────┘ └─────────────────────┘
│
▼
┌─────────────────┐ ┌─────────────────────┐
│ Formatted │◀───│ Local/Remote │
│ DateTime │ │ Time Provider │
└─────────────────┘ └─────────────────────┘
Core Features
- Never ambiguous about timezone - every response states the same instant as UTC, as local time with its real offset, and as epoch milliseconds
- Any IANA timezone -
timezone: "Asia/Tokyo"on the current time, and aconvert_timezonetool that is DST-correct for the date in question - Multiple Formats - ISO 8601, named patterns, token patterns (
YYYY-MM-DD HH:mm Z) - Structured output -
structuredContentwith a declared schema, plus plain text for older clients - Zero Configuration -
npx -yand go; Node 18+ - MCP Compatible - Cursor, Claude Desktop, VS Code, Windsurf
MCP Client Integration
Every client below uses the same server entry. npx -y fetches the package on first
use and suppresses the install prompt, so nothing needs to be installed beforehand.
{
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json in a project:
{
"mcpServers": {
"currentdt": {
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
}
}
Claude Desktop
One-click: download currentdt-mcp.mcpb from the
latest release and
open it -- Claude Desktop installs it as an extension. No Node, npm or config file needed.
Or by config: edit claude_desktop_config.json -- on macOS at
~/Library/Application Support/Claude/, on Windows at %APPDATA%\Claude\:
{
"mcpServers": {
"currentdt": {
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
}
}
VS Code
Add to .vscode/mcp.json in a workspace, or under "mcp" in user settings.json:
{
"servers": {
"currentdt": {
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
}
}
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json, same mcpServers shape as Cursor.
Installed globally instead
If you prefer a fixed install over npx, run npm install -g @strix-ai/currentdt-mcp
and use "command": "currentdt-mcp" with no args in any of the configs above.
Real-World Usage Examples
1. SQL Migration Files
User: "Create a migration to add user preferences table"
Result: Migration file named 2025-08-26-143000_add_user_preferences.sql with current timestamp
MCP Tool Call Example:
{
"tool": "get_current_datetime",
"arguments": {
"format": "YYYY-MM-DD-HHmmss",
"provider": "local"
}
}
2. Timestamped Logging
User: "Generate a logger that includes timestamps"
Result: Logger implementation with current ISO datetime format
3. Dated Documentation
User: "Update the changelog with today's date"
Result: Changelog entry with current date: ## [Unreleased] - 2026-09-16
API Reference
Tool: get_current_datetime
Parameters:
format(optional):"iso"(default) or a token pattern like"YYYY-MM-DD HH:mm:ss"timezone(optional): IANA name, e.g."Asia/Tokyo". Sets the zone forlocal,offset,timezoneand any token format. Defaults to the host's zone.iso/utcare always UTC regardless.provider(optional):"local"(default) or"remote"
Returns: the formatted string as text content, plus structuredContent stating the
same instant from every clock -- so there is never any doubt whether a value is UTC or local:
{
"formatted": "2026-09-16 16:01:08",
"iso": "2026-09-16T14:01:08.624Z",
"utc": "2026-09-16T14:01:08.624Z",
"local": "2026-09-16T16:01:08.624+02:00",
"offset": "+02:00",
"timezone": "Europe/Berlin",
"epochMs": 1789567268624,
"provider": "local"
}
Invalid input (a token-less format, an unknown timezone, a failed provider) comes
back as a tool error (isError: true) with a message written to be read by the model.
Tool: convert_timezone
Re-states a time in another zone, DST-correct for the date -- the case where a remembered offset is most likely wrong.
Parameters:
time(required): ISO 8601. With an offset ("2026-03-29T01:30:00+01:00","...Z") it pins an instant. Without one it is a wall-clock reading andfromis required.from(optional): IANA zone the wall-clocktimewas read in.to(required): IANA zone to convert into.format(optional): token pattern for the text result, rendered into.
Returns: the same structured shape as above (minus provider), plus from and
dstTransition -- true when the instant is within an hour of a DST changeover in to.
{
"tool": "convert_timezone",
"arguments": { "time": "2026-07-15T09:00:00", "from": "America/New_York", "to": "Europe/Berlin" }
}
Result: local: "2026-07-15T15:00:00.000+02:00". The same call for a January date yields
+01:00, because the offset follows the calendar, not a constant.
A wall-clock time that never exists (the spring-forward gap) resolves to the instant
after the gap; one that exists twice (the autumn repeat) resolves to the first. An
offset-less time with no from is refused rather than guessed.
Example:
{
"tool": "get_current_datetime",
"arguments": {
"format": "YYYY-MM-DD HH:mm:ss",
"provider": "local"
}
}
Configuration (Optional)
Create currentdt-config.json for custom settings:
{
"defaultFormat": "iso",
"defaultProvider": "local",
"providers": {
"local": { "name": "local", "priority": 1 },
"remote": {
"name": "remote",
"priority": 2,
"config": {
"url": "https://worldtimeapi.org/api/timezone/UTC",
"timeout": 5000
}
}
},
"debug": false,
"logLevel": "error"
}
Environment variables override the file: CURRENTDT_FORMAT, CURRENTDT_PROVIDER,
CURRENTDT_DEBUG, CURRENTDT_CONFIG.
Common Format Patterns
Timezone:
"iso"returns UTC. Every token pattern renders the wall clock intimezone(default: the host's zone). Add theZtoken to emit the real UTC offset -- never write a literalZinto a pattern, since that would label local digits as UTC.
For timezone: "Europe/Berlin" (UTC+02:00 in summer), at the instant 2025-08-26T14:30:00.123Z:
| format | output | zone |
|---|---|---|
"iso" | 2025-08-26T14:30:00.123Z | UTC |
"YYYY-MM-DD" | 2025-08-26 | local |
"YYYY-MM-DD HH:mm:ss" | 2025-08-26 16:30:00 | local |
"MM/DD/YYYY" | 08/26/2025 | local |
"YYYY-MM-DD-HHmmss" | 2025-08-26-163000 | local |
"YYYY-MM-DDTHH:mm:ss.SSSZ" | 2025-08-26T16:30:00.123+02:00 | local + offset |
Tokens: YYYY MM DD HH mm ss SSS Z (+02:00) ZZ (+0200).
Named patterns: filename, logdate, simple.
A pattern must contain at least one token. Free text such as "what time is it" is
rejected rather than echoed back.
Troubleshooting
Tool Not Available
# Verify installation
npm list -g @strix-ai/currentdt-mcp
# Test server directly
npx @strix-ai/currentdt-mcp --test
Debug Mode
export CURRENTDT_DEBUG=true
npx @strix-ai/currentdt-mcp
Development
git clone https://github.com/biswajitpanday/CurrentDT-mcp.git
cd currentdt-mcp
npm install
npm run dev
npm Scripts
npm run build- Build TypeScriptnpm test- Run all testsnpm run lint- ESLint checknpm run format- Prettier format
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
Support & Links
- Issues: GitHub Issues
- Documentation: GitHub Repository
- npm Package: @strix-ai/currentdt-mcp
- Author: Biswajit Panday - AI-Assisted Development Enthusiast
- Contributor: Abdullah Saleh Robin [email protected]
License
MIT License - see LICENSE file for details.
Made with ❤️ by Biswajit Panday
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.