mcpField
T
Time

Time

おすすめローカル
modelcontextprotocol.io生産性91.6k今日更新

Time について

Timeは、現在時刻の取得やタイムゾーン変換を必要とするLLMアプリ向けのMCPサーバーです。IANAのタイムゾーン名を使い、システムのタイムゾーンを自動検出し、設定で変更できます。

主な機能

  1. 01タイムゾーン別の現在時刻を取得
  2. 02タイムゾーン間で時刻を変換
  3. 03システムのタイムゾーンを検出
  4. 04ローカルタイムゾーンを上書き

活用シーン

  1. 01別の都市の時刻を確認
  2. 02タイムゾーンをまたぐ会議の調整

MCP 対応

MCPクライアントに `get_current_time` と `convert_time` ツールを公開し、プロンプトやリソースは登録しません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"time": {
"command": "uvx",
"args": [
"mcp-server-time"
]
}
}
}
起動コマンドuvx mcp-server-time

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-server-time

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
timezonestringはいIANA タイムゾーン名(例:'America/New_York'、'Europe/London')。ユーザーがタイムゾーンを指定しない場合は、ローカルタイムゾーンとして 'America/New_York' を使用する。

詳細

Time MCP Server

時刻およびタイムゾーンの変換機能を提供するModel Context Protocolサーバーです。このサーバーを使用すると、LLMは現在時刻の情報を取得し、IANAタイムゾーン名を使用してタイムゾーンを変換できます。システムのタイムゾーンも自動的に検出します。

ソース:https://github.com/modelcontextprotocol/servers/tree/main/src/time

MCP Python SDK 2.x(mcp>=2.3,<3)が必要です。

利用可能なツール
  • get_current_time - 特定のタイムゾーンまたはシステムのタイムゾーンにおける現在時刻を取得します。

    • 必須の引数:
      • timezone(文字列):IANAタイムゾーン名(例:'America/New_York'、'Europe/London')
  • convert_time - タイムゾーン間で時刻を変換します。

    • 必須の引数:
      • source_timezone(文字列):変換元のIANAタイムゾーン名
      • time(文字列):24時間形式の時刻(HH:MM)
      • target_timezone(文字列):変換先のIANAタイムゾーン名

ここおよび--local-timezoneで指定するタイムゾーン名は、大文字と小文字を含めてIANAのキーと完全に一致する必要があります。すべてのプラットフォームで、Europe/Warsawは受け付けられますが、europe/warsawは受け付けられません。大文字と小文字を区別しないファイルシステムを持つmacOSでも同様です。

プロトコルのバージョン

このサーバーは、設定不要で、標準入出力を介してModel Context Protocolの両方の世代に対応します。2026-07-28クライアント(セッションなしでserver/discoverを使用)と、2025-11-25クライアント(initializeハンドシェイク)に対応します。どちらのプロトコルを使用するかは、クライアントの最初のリクエストで決まります。ツールの動作はどちらでも同じです。pingなど、2026-07-28仕様で削除されたメソッドは、2025-11-25接続でのみ応答します。

結果とエラー

このサーバーは、SDKの高水準MCPServerを基盤としています。各ツールはoutputSchemaを宣言し、結果をstructuredContentとして返すとともに、同じオブジェクトをインデント付きJSON形式のテキストブロックでも返します。構造化出力を読み取らないクライアント向けです。

  • **ツールの失敗はisError結果として返されます。**そのテキストはモデルが読み取り、対処できる内容で、Error executing tool <name>: が先頭に付加されます。対象となるのは、存在しないタイムゾーンまたは完全一致しないタイムゾーン(Invalid timezone: ...)、空のタイムゾーン(Missing required argument: <argument>)、HH:MM形式の24時間表記ではない時刻、時計の変更によって存在しない時刻、および引数の欠落や型の誤り(SDKの検証メッセージ)です。
  • 不明なツール名はJSON-RPCの-32602エラー(Unknown tool: <name>)として返されます。両方のプロトコル仕様に従い、isError結果にはなりません。
  • サーバーはプロンプトもリソースも登録しません。それらの一覧メソッドは空のリストを返します。

インストール

uvを使用する(推奨)

uvを使用する場合、特別なインストールは不要です。
uvxを使って、mcp-server-timeを直接実行します。

uvx mcp-server-time
PIPを使用する

または、pipを使ってmcp-server-timeをインストールできます。

pip install mcp-server-time

インストール後、スクリプトとして次のように実行できます。

python -m mcp_server_time

設定

Claude.app向けの設定

Claudeの設定に追加します。

uvxを使用
{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": ["mcp-server-time"]
    }
  }
}
dockerを使用
{
  "mcpServers": {
    "time": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "LOCAL_TIMEZONE", "mcp/time"]
    }
  }
}
pipによるインストールを使用
{
  "mcpServers": {
    "time": {
      "command": "python",
      "args": ["-m", "mcp_server_time"]
    }
  }
}
Zed向けの設定

Zedのsettings.jsonに追加します。

uvxを使用
"context_servers": [
  "mcp-server-time": {
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
],
pipによるインストールを使用
"context_servers": {
  "mcp-server-time": {
    "command": "python",
    "args": ["-m", "mcp_server_time"]
  }
},
### VS Code 向けの設定

すばやくインストールするには、以下のワンクリックインストールボタンのいずれかを使用してください……

VS Code に UV でインストール VS Code Insiders に UV でインストール

VS Code に Docker でインストール VS Code Insiders に Docker でインストール

手動でインストールするには、以下の JSON ブロックを VS Code のユーザー設定(JSON)ファイルに追加してください。Ctrl + Shift + P を押して Preferences: Open User Settings (JSON) と入力すると追加できます。

任意で、ワークスペース内の .vscode/mcp.json というファイルに追加することもできます。これにより、設定を他のユーザーと共有できます。

mcp.json ファイルを使用する場合は、mcp キーが必要です。

uvx を使用する場合
{
  "mcp": {
    "servers": {
      "time": {
        "command": "uvx",
        "args": ["mcp-server-time"]
      }
    }
  }
}
Docker を使用する場合
{
  "mcp": {
    "servers": {
      "time": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "mcp/time"]
      }
    }
  }
}
Zencoder 向けの設定
  1. Zencoder メニュー(...)を開きます
  2. ドロップダウンメニューから Agent Tools を選択します
  3. Add Custom MCP をクリックします
  4. 以下の名前とサーバー設定を追加し、必ず Install ボタンをクリックしてください
uvx を使用する場合
{
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
カスタマイズ - システムのタイムゾーン

デフォルトでは、サーバーはシステムのタイムゾーンを自動的に検出します。設定の args リストに --local-timezone 引数を追加すると、これを上書きできます。

例:

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

やり取りの例

  1. 現在時刻を取得する:
{
  "name": "get_current_time",
  "arguments": {
    "timezone": "Europe/Warsaw"
  }
}

応答(structuredContent と、それと同じ JSON のテキスト):

{
  "timezone": "Europe/Warsaw",
  "datetime": "2024-01-01T13:00:00+01:00",
  "day_of_week": "Monday",
  "is_dst": false
}
  1. タイムゾーン間で時刻を変換する:
{
  "name": "convert_time",
  "arguments": {
    "source_timezone": "America/New_York",
    "time": "16:30",
    "target_timezone": "Asia/Tokyo"
  }
}

応答(structuredContent と、それと同じ JSON のテキスト):

{
  "source": {
    "timezone": "America/New_York",
    "datetime": "2024-01-01T16:30:00-05:00",
    "day_of_week": "Monday",
    "is_dst": false
  },
  "target": {
    "timezone": "Asia/Tokyo",
    "datetime": "2024-01-02T06:30:00+09:00",
    "day_of_week": "Tuesday",
    "is_dst": false
  },
  "time_difference": "+14.0h"
}

デバッグ

MCP Inspector を使用してサーバーをデバッグできます。uvx でインストールした場合:

npx @modelcontextprotocol/inspector uvx mcp-server-time

特定のディレクトリにパッケージをインストールした場合、またはパッケージを開発中の場合:

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

Claude への質問例

  1. 「今、何時ですか?」(システムのタイムゾーンを使用します)
  2. 「東京は今、何時ですか?」
  3. 「ニューヨークが午後 4 時のとき、ロンドンは何時ですか?」
  4. 「東京時間の午前 9 時 30 分をニューヨーク時間に変換してください」

開発

テストは src/time から実行します。テストは tests/ にあります。test_protocol.py はインプロセスで MCP の ClientSession を介してサーバーを実行し、test_eras.py は 2026-07-28 クライアントおよび 2025-11-25 クライアントとして Client を実行します。test_entrypoints.py は main()、python -m mcp_server_time、およびコンソールスクリプトを対象とし、test_server.py は時刻関連のヘルパー関数を単体テストします。

cd src/time
uv run pytest

カバレッジの計測には、別のコマンドを使用します。src/mcp_server_time の行カバレッジと分岐カバレッジを計測し、未カバーの行を表示して、coverage.json(git では無視されます)を書き込みます。

cd src/time
uv run --frozen pytest --cov --cov-report=term-missing --cov-report=json

すべてのファイルで、行カバレッジと分岐カバレッジをそれぞれ 90% 以上にする必要があります。到達不可能なコードには、基準を引き下げるのではなく、理由を必ず添えて # pragma: no cover # <reason> と記します。

ビルド

Docker ビルド:

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

コントリビューション

mcp-server-time の改善につながるコントリビューションを歓迎します。バグ報告、新しい時間関連ツールのアイデア、既存機能の強化、ドキュメントの改善はいずれも貴重です。

ほかの MCP サーバーや実装パターンの例については、次をご覧ください。 https://github.com/modelcontextprotocol/servers

コントリビューションはプルリクエストではなく、イシューとして受け付けます。実装はリポジトリのメンテナーが行います。バグ報告または機能リクエストのフォームからイシューを作成してください。変更をすでに試作している場合は、差分ではなく、使用したプロンプトを共有してください。ポリシーの全文については、CONTRIBUTING.mdをご覧ください。

ライセンス

mcp-server-time は MIT License の下でライセンスされています。MIT License の利用規約に従うことを条件に、このソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリの LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。