MCP 时间服务器 について
MCP Time Serverは、複数のタイムゾーンにまたがる調整に使える現在時刻の取得と時刻変換を提供します。標準IANAタイムゾーンに対応し、MCPクライアント、HTTP、SSEから利用できます。
主な機能
- 01IANAタイムゾーンの現在時刻取得
- 02タイムゾーン間の時刻変換
- 03夏時間の自動処理
- 04HTTPおよびSSEエンドポイント
活用シーン
- 01タイムゾーンをまたぐ会議の調整
- 02タイムゾーンをまたぐ旅行計画
- 03各地域の保守時間への変換
MCP 対応
互換クライアントに現在時刻の取得とタイムゾーン変換のツールを提供するMCPサーバーです。HTTPおよびSSEエンドポイントにも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| timezone | string | いいえ |
詳細
⏰ MCP Time Server
中文版 | 英語
タイムゾーン管理と時刻変換のための包括的な MCP サーバー
🎯 概要
異なるタイムゾーンの現在時刻の取得や、タイムゾーン間のシームレスな時刻変換など、強力なタイムゾーンユーティリティを提供する Model Context Protocol(MCP)サーバーです。信頼性を重視して TypeScript で構築されており、あらゆる MCP 互換クライアントで動作するように設計されています。
✨ 特長
- 🌍 グローバルなタイムゾーン:世界中のあらゆるタイムゾーンの現在時刻を取得
- 🔄 時刻変換:異なるタイムゾーン間の時刻を正確に変換
- ⚡ 高速な処理:JavaScript のネイティブ API を使った効率的な時刻計算
- 🔧 TypeScript:包括的なエラー処理を備えた完全な型安全性
- 🌐 マルチプラットフォーム:ローカル MCP クライアントと Cloudflare Workers の両方に対応
- 📡 HTTP サポート:ウェブ統合用の HTTP および SSE エンドポイントを追加で提供
- 🎨 使いやすさ:タイムゾーン情報付きの、明瞭で整形された時刻出力
📦 インストール
npm install mcp-time-server
または、npx で直接使用できます。
npx mcp-time-server
🔧 設定
Claude Desktop
{
"mcpServers": {
"time": {
"command": "npx",
"args": ["mcp-time-server"]
}
}
}
Cursor IDE
{
"mcpServers": {
"time": {
"command": "npx",
"args": ["mcp-time-server"]
}
}
}
GitHub Copilot を使用する VS Code
{
"mcp.servers": {
"time": {
"command": "npx",
"args": ["mcp-time-server"],
"transport": "stdio"
}
}
}
ローカル開発
{
"mcpServers": {
"time": {
"command": "node",
"args": ["path/to/mcp-time-server/dist/cli.js"]
}
}
}
🛠️ 利用可能なツール
get_current_time
指定したタイムゾーンの現在時刻を取得します。
パラメーター:
timezone(任意):タイムゾーン識別子(例:「America/New_York」、「Asia/Tokyo」、「Europe/London」)- 指定しない場合のデフォルトは「UTC」です
- 標準の IANA タイムゾーン名をすべてサポートします
使用例:
"What time is it now in Tokyo?"
"Get current time in New York"
"Show me the current UTC time"
"What's the time in London right now?"
戻り値:
- 指定したタイムゾーンで整形された日時
- 確認用のタイムゾーン識別子
- 24 時間形式(HH:MM:SS)
- 完全な日付(YYYY/MM/DD)
応答例:
2025/7/26 14:30:45 (Asia/Tokyo)
convert_time
異なるタイムゾーン間で時刻を変換します。
パラメーター:
source_timezone(必須):変換元のタイムゾーン識別子time(必須):変換する時刻(24 時間形式の HH:MM)target_timezone(必須):変換先のタイムゾーン識別子
使用例:
"Convert 14:30 from Tokyo time to New York time"
"What is 09:00 London time in Los Angeles?"
"Convert 18:45 from UTC to Sydney time"
戻り値:
- 変換元のタイムゾーン付きの元の時刻
- 変換先のタイムゾーンに変換された時刻
- 明確な変換結果の説明
応答例:
14:30 在 Asia/Tokyo 相当于 01:30 在 America/New_York
🎮 使用例
グローバルな業務の調整
"What time is it now in our offices in London, Tokyo, and San Francisco?"
"Convert our 10:00 AM meeting time from EST to all other office time zones"
旅行の計画
"If it's 3:00 PM in Paris, what time is it in my destination city Bangkok?"
"Convert my flight departure time 08:30 from LAX timezone to arrival timezone in Dubai"
開発と運用
"Get current UTC time for logging"
"Convert server maintenance time 02:00 UTC to all regional offices"
スケジュールの調整
"Convert 15:30 CET to Pacific Standard Time for our team call"
"What's 9:00 AM Monday in Sydney equivalent to in London?"
🌍 サポートするタイムゾーン
このサーバーは、次のものを含む標準の IANA タイムゾーン識別子をすべてサポートします。
主な地域
- 南北アメリカ:America/New_York、America/Los_Angeles、America/Chicago、America/Toronto
- ヨーロッパ:Europe/London、Europe/Paris、Europe/Berlin、Europe/Rome
- アジア:Asia/Tokyo、Asia/Shanghai、Asia/Hong_Kong、Asia/Singapore
- オーストラリア:Australia/Sydney、Australia/Melbourne、Australia/Perth
- その他:UTC、GMT、およびその他すべての IANA タイムゾーン
よくある例
UTC # Coordinated Universal Time
America/New_York # Eastern Time (US)
America/Los_Angeles # Pacific Time (US)
Europe/London # Greenwich Mean Time
Europe/Paris # Central European Time
Asia/Tokyo # Japan Standard Time
Asia/Shanghai # China Standard Time
Australia/Sydney # Australian Eastern Time
🏗️ 開発
ローカル環境のセットアップ
# Clone the repository
git clone https://github.com/SzeMeng76/mcp-time-server.git
cd mcp-time-server
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
プロジェクト構成
mcp-time-server/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── cli.ts # CLI and HTTP server setup
├── dist/ # Compiled JavaScript files
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
主な依存関係
- @modelcontextprotocol/sdk:公式 MCP サーバーフレームワーク
- zod:実行時の型検証とスキーマ定義
- http:ウェブエンドポイント用の Node.js HTTP サーバー
🔧 技術的な詳細
タイムゾーンの処理
- 正確なタイムゾーン変換には、JavaScript のネイティブ
Intl.DateTimeFormatAPI を使用します - IANA タイムゾーン識別子をすべてサポートします
- 夏時間への切り替えを自動的に処理します
- 一貫性を保つため、24 時間形式を使用します
時刻変換アルゴリズム
時刻変換では、正確性を確保するために次の手順を実行します。
- 入力時刻の解析:HH:MM 形式の文字列を数値に変換します
- ローカル日付の作成:当日の日付オブジェクトを作成します
- UTC への変換:中間処理として UTC に変換します
- 変換元の検証:変換元のタイムゾーンで入力時刻を検証します
- 調整:タイムゾーンの時差に応じて必要な補正を行います
- 変換先の書式設定:変換先のタイムゾーンで結果を整形します
エラー処理
- 時刻形式を包括的に検証します
- 無効なタイムゾーン識別子に対して、明確なエラーメッセージを表示します
- エッジケースや DST の切り替わりを適切に処理します
- Zod スキーマを使用して、型安全なパラメーター処理を行います
マルチプラットフォーム対応
- MCP クライアント:MCP との互換性を保つ標準の stdio トランスポート
- HTTP サーバー:ウェブ連携用の REST エンドポイント
- SSE 対応:リアルタイム更新用の Server-Sent Events
- Cloudflare Workers:クラウドへのデプロイに対応
🌐 HTTP エンドポイント
HTTP サーバーとして実行する場合、追加のエンドポイントを利用できます。
/mcp
- メソッド:GET
- 説明:サーバーの状態と利用可能なツール
- レスポンス:サーバー情報を含む JSON
/sse
- メソッド:GET
- 説明:Server-Sent Events エンドポイント
- レスポンス:リアルタイム更新用のイベントストリーム
⚠️ 重要な注意事項
タイムゾーンの精度
- すべての計算で、公式の IANA タイムゾーンデータを使用します
- 夏時間の切り替わりは自動的に処理されます
- 現在の日付に基づく計算結果は正確です
- 過去の日付については、過去のタイムゾーン変更が反映されない場合があります
入力形式
- 時刻は 24 時間形式(HH:MM)で指定してください
- 先頭のゼロは省略できます(例:「9:30」または「09:30」)
- 入力では秒をサポートしていませんが、出力には表示されます
パフォーマンスに関する考慮事項
- タイムゾーンの計算はリアルタイムで実行されます
- 最大限の精度を確保するため、キャッシュは実装していません
- 効率的なアルゴリズムにより、メモリ使用量を最小限に抑えています
🚀 一般的なユースケース
業務運用
- グローバルチーム:複数のタイムゾーンにまたがる会議を調整します
- カスタマーサポート:サポート対応時間を顧客の現地時間に変換します
- リリース管理:グローバルなインフラ全体でデプロイをスケジュールします
旅行と物流
- フライト計画:出発地と到着地のタイムゾーン間でフライト時刻を変換します
- イベント計画:国際的なイベントやウェビナーをスケジュールします
- 旅行日程:目的地のタイムゾーンに合わせて予定を立てます
開発と DevOps
- ログ分析:UTC のタイムスタンプを現地のタイムゾーンに変換します
- 監視:適切な地域のタイムゾーンでアラートを表示します
- デプロイ:各地域のメンテナンス時間をスケジュールします
個人の生産性
- カレンダー管理:旅行に合わせて予定の時刻を変換します
- コミュニケーション:タイムゾーンをまたぐ会議に最適な時間を見つけます
- 計画:海外の同僚や友人との予定を調整します
🤝 貢献
- リポジトリをフォークします
- フィーチャーブランチを作成します:
git checkout -b feature-name - 適切な TypeScript 型を使用して変更を加えます
- さまざまなタイムゾーンやエッジケースでテストします
- エラー処理が正しく機能することを確認します
- 明確な説明を添えてプルリクエストを送信します
開発ガイドライン
- TypeScript の strict モードへの準拠を維持してください
- 新機能には包括的なエラー処理を追加してください
- 一般的なタイムゾーンとあまり使われないタイムゾーンの両方でテストしてください
- 新しいパラメーターや戻り値の形式は文書化してください
- 夏時間に関するエッジケースを考慮してください
📄 ライセンス
MIT License — 詳細については LICENSE ファイルを参照してください。
⚖️ データと精度
- タイムゾーンデータ:ブラウザー/Node.js に組み込まれた IANA タイムゾーンデータベースを使用します
- 精度:現在の日付と標準的な切り替わりに対して正確に計算します
- 更新:タイムゾーンデータは JavaScript ランタイムの更新に伴って更新されます
- 制限事項:過去のタイムゾーン変更は完全にはサポートされない場合があります
- 信頼性:業務用および個人用のスケジュール管理アプリケーションに適しています
🙏 謝辞
- IANA:包括的なタイムゾーンデータベースを管理していることに感謝します
- MCP コミュニティ:標準化されたプロトコルに感謝します
- JavaScript Intl API:堅牢な国際化サポートに感謝します
- 貢献者:このプロジェクトの改善に協力してくださる皆様に感謝します
グローバルな連携、スケジュール管理、タイムゾーン管理のために開発されました ⏰🌍
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。