currentdt-mcp について
currentdt-mcpは、日時入りのコンテンツを作成するAIアシスタント向けのMCPサーバーです。UTC、オフセット付きのローカル時刻、epochミリ秒を返し、IANAタイムゾーン変換にも対応します。
主な機能
- 01UTC、ローカル時刻、オフセット、epochミリ秒を返却
- 02IANAタイムゾーンとDST対応の変換
- 03ISO 8601とトークン形式に対応
- 04構造化出力とプレーンテキスト出力
活用シーン
- 01データベース移行ファイルのタイムスタンプ生成
- 02ログ実装への現在時刻の追加
- 03変更履歴への日付記入
MCP 対応
MCPサーバーとして、現在時刻の取得とタイムゾーン変換を行う get_current_datetime と convert_timezone ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| format | string | いいえ | "iso"(別途設定されていない場合のデフォルト)は UTC を返します。例:2026-08-20T12:31:02.625Z。それ以外はホストのローカル時刻でレンダリングされるトークンパターンで、少なくとも 1 つのトークンを含める必要があります。自由形式のテキストは拒否されます。トークン:YYYY、MM、DD、HH、mm、ss、SSS、Z、ZZ。名前付きパターン:filename、logdate、simple。例:"YYYY-MM-DD"、"YYYY-MM-DD HH:mm:ss"、"YYYY-MM-DD-HHmmss"、"YYYY-MM-DDTHH:mm:ss.SSSZ"(実際のオフセットを含むローカル時刻)。 |
| provider | enum | いいえ | "local"(デフォルト)はシステムクロックを読み取ります。"remote" はネットワーク時刻サービスに問い合わせます。失敗した場合はエラーになり、ローカルクロックで代用することはありません。local | remote |
| timezone | string | いいえ | `local`、`offset`、`timezone` およびすべてのトークン形式で使用するタイムゾーンです。"UTC"、"Europe/Berlin"、"America/New_York"、"Asia/Kolkata" などの IANA 名を指定します。デフォルトはホストマシンのタイムゾーンです。常に UTC となる `iso`/`utc` には影響しません。 |
詳細
@strix-ai/currentdt-mcp
Model Context Protocol(MCP)を通じて、AI アシスタントがリアルタイムの日付と時刻にアクセスできます
AI のために構築し、AI とともに構築 - インテリジェントなツールを通じて AI アシスタントの機能を強化します
📑 目次
- 概要
- クイックスタート
- ユーザーフロー
- 主な機能
- MCP クライアントとの連携
- 実際の使用例
- API リファレンス
- 設定(任意)
- 一般的な書式パターン
- トラブルシューティング
- 開発
- サポートとリンク
- コントリビューション
- ライセンス
概要
@strix-ai/currentdt-mcp は、AI アシスタントが現在の日付と時刻の情報にすぐにアクセスできるようにする MCP サーバーです。タイムスタンプ付きのコード、マイグレーションファイル、日付入りのドキュメントを生成する際に役立ちます。
クイックスタート
# 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
Node.js 18 以降が必要です。
ユーザーフロー
┌─────────────────────┐ ┌─────────────────┐ ┌─────────────────────┐
│ 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 │
└─────────────────┘ └─────────────────────┘
主な機能
- タイムゾーンが曖昧になりません - すべての応答で、同じ瞬間を UTC、実際のオフセット付きの現地時刻、エポックミリ秒で示します
- 任意の IANA タイムゾーンに対応 - 現在時刻に
timezone: "Asia/Tokyo"を指定でき、convert_timezoneツールは対象の日付に応じた正確な夏時間に対応します - 複数の形式 - ISO 8601、名前付きパターン、トークンパターン(
YYYY-MM-DD HH:mm Z) - 構造化出力 - 宣言済みのスキーマを持つ
structuredContentと、古いクライアント向けのプレーンテキストを提供します - 設定不要 -
npx -yを実行するだけです。Node 18 以降に対応します - MCP 互換 - Cursor、Claude Desktop、VS Code、Windsurf
MCP クライアントとの連携
以下のすべてのクライアントで、同じサーバーエントリーを使用します。初回の利用時に npx -y がパッケージを取得し、インストール確認を省略するため、事前にインストールしておく必要はありません。
{
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
Cursor
~/.cursor/mcp.json(グローバル)またはプロジェクト内の .cursor/mcp.json に追加します。
{
"mcpServers": {
"currentdt": {
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
}
}
Claude Desktop
ワンクリック:最新リリースから currentdt-mcp.mcpb をダウンロードして開くと、Claude Desktop が拡張機能としてインストールします。Node、npm、設定ファイルは必要ありません。
または設定ファイルを使用:claude_desktop_config.json を編集します。macOS では ~/Library/Application Support/Claude/、Windows では %APPDATA%\Claude\ にあります。
{
"mcpServers": {
"currentdt": {
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
}
}
VS Code
ワークスペースの .vscode/mcp.json、またはユーザーの settings.json 内の "mcp" に追加します。
{
"servers": {
"currentdt": {
"command": "npx",
"args": ["-y", "@strix-ai/currentdt-mcp"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します。mcpServers の形式は Cursor と同じです。
グローバルにインストールする場合
npx ではなく固定のインストールを希望する場合は、npm install -g @strix-ai/currentdt-mcp を実行し、上記のいずれかの設定で "command": "currentdt-mcp" を指定して、args は省略してください。
実際の使用例
1. SQL マイグレーションファイル
ユーザー:「ユーザー設定テーブルを追加するマイグレーションを作成して」
**結果:**現在のタイムスタンプを含む 2025-08-26-143000_add_user_preferences.sql という名前のマイグレーションファイル
MCP ツール呼び出しの例:
{
"tool": "get_current_datetime",
"arguments": {
"format": "YYYY-MM-DD-HHmmss",
"provider": "local"
}
}
2. タイムスタンプ付きログ
ユーザー:「タイムスタンプを含むロガーを生成して」
**結果:**現在の ISO 日時形式を使用したロガーの実装
3. 日付付きドキュメント
ユーザー: 「今日の日付で変更履歴を更新して」
結果: 現在の日付が記載された変更履歴エントリー:## [Unreleased] - 2026-09-16
API リファレンス
ツール:get_current_datetime
パラメーター:
format(任意):"iso"(デフォルト)、または"YYYY-MM-DD HH:mm:ss"のようなトークンパターンtimezone(任意):"Asia/Tokyo"のような IANA 名。local、offset、timezone、およびトークン形式に適用するタイムゾーンを設定します。デフォルトはホストのタイムゾーンです。iso/utcは常に UTC です。provider(任意):"local"(デフォルト)または"remote"
戻り値: 書式設定された文字列をテキストコンテンツとして返します。また、すべての時計で同じ瞬間を示す
structuredContentも返すため、値が UTC か現地時刻か迷うことはありません。
{
"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"
}
無効な入力(トークンを含まないformat、不明なtimezone、プロバイダーの失敗)は、モデルが読めるメッセージを含む
ツールエラー(isError: true)として返されます。
ツール:convert_timezone
あるタイムゾーンの時刻を別のタイムゾーンの時刻として表し直します。日付に応じて DST を正しく処理するため、 記憶しているオフセットが間違っている可能性が最も高いケースに対応できます。
パラメーター:
time(必須):ISO 8601 形式。オフセット付き("2026-03-29T01:30:00+01:00"、"...Z")の場合は 瞬間が確定します。オフセットがない場合は壁時計時刻となり、fromが必要です。from(任意):壁時計時刻のtimeを読み取った IANA タイムゾーン。to(必須):変換先の IANA タイムゾーン。format(任意):テキスト結果に使うトークンパターン。toのタイムゾーンで表示されます。
戻り値: 上記と同じ構造(providerを除く)に、fromとdstTransitionが加わります。toのタイムゾーンで
DST の切り替わりから 1 時間以内の場合、dstTransitionはtrueです。
{
"tool": "convert_timezone",
"arguments": { "time": "2026-07-15T09:00:00", "from": "America/New_York", "to": "Europe/Berlin" }
}
結果:local: "2026-07-15T15:00:00.000+02:00"。1 月の日付で同じ呼び出しを行うと、
オフセットは一定ではなくカレンダーに応じて変わるため、+01:00になります。
存在しない壁時計時刻(春の DST 開始時の欠落時間帯)は、その時間帯の後の瞬間に解決されます。2 回存在する時刻
(秋の繰り返し時間帯)は、最初の時刻に解決されます。fromを指定せずにオフセットのないtimeを指定すると、
推測で処理せず拒否されます。
例:
{
"tool": "get_current_datetime",
"arguments": {
"format": "YYYY-MM-DD HH:mm:ss",
"provider": "local"
}
}
設定(任意)
カスタム設定を行うには、currentdt-config.jsonを作成します。
{
"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"
}
環境変数はファイルの設定より優先されます:CURRENTDT_FORMAT、CURRENTDT_PROVIDER、
CURRENTDT_DEBUG、CURRENTDT_CONFIG。
一般的な書式パターン
タイムゾーン:
"iso"はUTCを返します。すべてのトークンパターンはtimezone(デフォルト:ホストのタイムゾーン)の壁時計時刻を表示します。実際の UTC オフセットを出力するにはZトークンを追加してください。ローカル時刻の数字を UTC として示すことになるため、パターンにリテラルのZを 書かないでください。
timezone: "Europe/Berlin"(夏時間は UTC+02:00)で、時刻が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 |
トークン: YYYY MM DD HH mm ss SSS Z(+02:00)ZZ(+0200)。
名前付きパターン: filename、logdate、simple。
パターンには少なくとも 1 つのトークンが必要です。"what time is it"のような自由形式のテキストは、そのまま返さずに
拒否されます。
トラブルシューティング
ツールを利用できない場合
# Verify installation
npm list -g @strix-ai/currentdt-mcp
# Test server directly
npx @strix-ai/currentdt-mcp --test
デバッグモード
export CURRENTDT_DEBUG=true
npx @strix-ai/currentdt-mcp
開発
git clone https://github.com/biswajitpanday/CurrentDT-mcp.git
cd currentdt-mcp
npm install
npm run dev
npm スクリプト
npm run build- TypeScript をビルドnpm test- すべてのテストを実行npm run lint- ESLint チェックnpm run format- Prettier でフォーマット
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します:
git checkout -b feature/amazing-feature - 変更をコミットします:
git commit -m 'Add amazing feature' - ブランチにプッシュします:
git push origin feature/amazing-feature - プルリクエストを作成します
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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。