時の流れ エムシーピー は、大規模言語モデル(LLM)に時間認識と時間計算機能を提供するために設計された、オープンソースのモデル・コンテキスト・プロトコル(MCP)サーバー・プロジェクトである。このプロジェクトは、Jérémie Lumbroso と クロード オーパス4.0(アントロピック)は、"AIは時間の経過を認識できるのか?"という哲学的な問いにインスパイアされて共同開発された。.言語モデルに時間関連のツールを提供することで、このプロジェクトは、時差を正確に計算できないといった、時間計算における言語モデルの限界に対処している。サーバーは、モデルが時間的文脈を理解し、簡単な時間関数や命令を通じて、対話パターンや作業リズムなどの情報を発見するのを助けます。このプロジェクトはMozilla Public License 2.0でライセンスされており、コードはGitHubで公開されている。
機能一覧
- 提供
current_datetime()
関数は、現在のタイムスタンプを返す関数で、オプションのタイムゾーン引数をサポートしています。 - サーバー送信イベント(SSE)モードをサポートし、ウェブクライアントがHTTP接続を介して時間データにアクセスできるようにします。
- 言語モデルが時差を計算したり、タイムゾーンを変換するのに役立つ時間計算ツールを提供します。
- 言語モデルとの直接統合がサポートされており、標準入出力(stdio)モードを通じてモデルと対話することができる。
- 時間関連機能の使い方について、言語モデルをガイドする明確な指示セット(Context)を提供する。
ヘルプの使用
インストールと展開
Passage of Time MCPサーバーを使用するには、コードをローカルまたはクラウドにデプロイする必要があります。以下は、インストールと使用の詳細な手順です:
- プロジェクトコードの複製
GitHubにアクセスするhttps://github.com/jlumbroso/passage-of-time-mcp
次のコマンドを使用して、コードをローカルにクローンする:git clone https://github.com/jlumbroso/passage-of-time-mcp.git
Gitがローカルにインストールされていることを確認する。インストールされていない場合は、まず(macOS/Linuxに)Gitをインストールする!
sudo apt install git
もしかしたらbrew install git
). - 依存関係のインストール
プロジェクトにはPython環境(Python 3.8以上を推奨)が必要です。プロジェクト・ディレクトリに移動したら、依存関係をインストールします:cd passage-of-time-mcp pip install -r requirements.txt
インストールされていることを確認する
pip
必要であれば、Pythonの公式ドキュメントを参照してインストールしてください。 - ローカルサーバーの起動
以下のコマンドを実行して、MCPサーバーを起動する:python server.py
サーバーのデフォルトはローカルアドレス
http://0.0.0.0:8000/sse
SSE モードで起動。起動後、ターミナルにサーバーのステータスが表示されます。 - ngrok経由でサーバーをパブリックネットワークに公開する(オプション)
ウェブクライアントやリモートの言語モデルをサーバーにアクセスさせる必要がある場合、ngrokを使ってローカルサーバーを公開することができる。ngrokをインストールしたら、実行する:ngrok http 8000
ngrokは公開URLを生成します。
https://.ngrok-free.app
クライアントを設定する際は、このURLを使用し、最後に追加してください。クライアントを設定する際は、このURLを使用し、末尾に/sse
例https://.ngrok-free.app/sse
. - クラウド展開(本番環境に推奨)
安定性を確保するために、Render.comのようなクラウドプラットフォームにサーバーをデプロイすることをお勧めします。 Render.comにログインし、新しいサービスを作成し、GitHubリポジトリを選択し、GitHubに接続します。jlumbroso/passage-of-time-mcp
環境変数とポート(デフォルト8000)の設定については、プラットフォームのガイドラインに従ってください。デプロイが完了すると、Renderは公開URLを提供します。 - クロード・デスクトップ・エディションとの統合
Claude Desktop Edition を使用している場合は、以下の手順で MCP サーバを追加できます:- クロードデスクトップエディションの設定ページを開き、"統合の追加 "オプションを見つけます。
- サーバーのURLを入力(ローカル)
http://0.0.0.0:8000/sse
(またはクラウド/パブリックURL)。 - 設定を保存して Claude を再起動し、サーバが Claude と通信できるようにします。
主な機能の操作
- 現在時刻の取得
サーバー提供current_datetime()
この関数は言語モデルから呼び出され、現在のタイムスタンプを取得することができます。この関数は、次のようなオプションのタイムゾーン引数をサポートしています。America/New_York
もしかしたらAsia/Shanghai
クロードと対話するとき、モデルは各ダイアログの最初にこの関数を呼び出す。クロードと対話するとき、タイミング情報が正確であることを確認するために、モデルは各対話の最初にこの関数を呼び出します。 - 時間計算
サーバーは時差計算をサポートしており、例えば2つの時点間の分数や時間数を計算することができる。言語モデルはコマンドでタイムスタンプを送信することができ、サーバーは計算結果を返します。例えば{ "jsonrpc": "2.0", "id": 1, "method": "getTimeDifference", "params": { "timestamp": "2025-07-17 12:00:00", "interval": "minutes" } }
サーバーは、指定された時刻と現在時刻との差を分単位で返す。
- ウェブクライアントによるSSEモデル
SSEモードでは、サーバーはHTTP経由でリアルタイムの時間データを提供する。開発者はJavaScriptクライアントを使用してサーバーに接続し、時刻更新を購読することができます。例const eventSource = new EventSource('https://your-server.ngrok-free.app/sse'); eventSource.onmessage = function(event) { console.log('Received time:', event.data); };
- 命令セット(コンテキスト)の使用
に格納されたシンプルな命令セットを提供する。README.md
をご覧いただけます。current_datetime()
関数で、オプションでタイムゾーン・パラメータを渡すことができる。この関数は各レスポンスの開始時に呼び出され、ユーザの時間の経過を感知します。" 言語モデルは、開発者が手動で操作しなくても、このディレクティブに基づいて自動的にtime関数を呼び出します。
ほら
- 特にngrokやクラウドのデプロイメントを使用している場合は、サーバーの実行中にネットワークが安定していることを確認する。
- 言語モデルが時刻関数を正しく呼び出していない場合は、サーバーのログ(
server.log
または命令セット・コンフィギュレーション)。 - このプロジェクトはMozilla Public License 2.0を使用しており、開発者はオープンソース契約に従ってコードを自由に変更し、配布することができる。
アプリケーションシナリオ
- 言語モデルの時間認識を強化する
ユーザーとの対話中、言語モデルはサーバーから現在時刻を取得することで、その応答を動的に調整することができる。例えば、言語モデルは、ユーザーのタイムゾーンに基づいて、よりカスタマイズされたスケジュール提案を提供することができます。 - 対話パターンの分析
開発者は、時間的データを使用して、ユーザーとモデルのインタラクションの頻度を分析し、対話のピーク時間帯やユーザーの習慣を発見することができます。 - 時間に制約のある作業の自動化
自動化されたワークフローでは、サーバーは、タスクスケジューリングやリマインダー生成のための言語モデルに時間的な基礎を提供することができる。 - 教育・研究
研究者はこのサーバーを使って、言語モデルが時間の概念をどのように理解しているかを調べ、時間に関連するタスクでの性能を検証することができる。
品質保証
- サーバーが言語モデルと正しく通信していることを確認するにはどうすればよいですか?
サーバーがオンになっているかチェックするhttp://0.0.0.0:8000/sse
これを実行し、クライアントが正しいURLで設定されていることを確認する。 アンソロピック 公式ドキュメントでは、MCPを設定している。 - マルチタイムゾーンの時間変換に対応していますか?
そうだ。current_datetime()
関数は、IANAタイムゾーンの名前を渡すことをサポートしている。Europe/London
)、サーバーは対応するタイムゾーンの現在時刻を返す。 - サーバーの導入にはどのような技術的背景が必要ですか?
基本的なPythonプログラミングの知識とGitの経験があれば十分です。クラウドデプロイメントには、Render.comプロセスなどの基本的なクラウドサービスの設定を理解する必要があります。 - サーバーは高い同時実行性をサポートしていますか?
ローカルへのデプロイは開発やテストに適しているが、クラウドへのデプロイは高い並行性をサポートするために本番環境に推奨される。Render.comのようなプラットフォームは、サーバーリソースを自動的にスケールすることができる。