DateTime MCP Server について
MCP クライアント向けに、日時関連のツールとリソース、簡単なメモ管理機能を提供するサーバーです。メモの要約やイベントの予定調整に使うプロンプトも備えています。
主な機能
- 01現在の日時リソースへのアクセス
- 02複数形式での時刻取得
- 03日付文字列のフォーマット
- 04メモの作成と参照
- 05メモ要約とイベント調整のプロンプト
活用シーン
- 01MCP クライアントで現在の日付や時刻を取得
- 02表示用の日付フォーマット
- 03簡単なメモの保存と要約
- 04イベント調整用プロンプトの作成
MCP 対応
MCP サーバーとして、日時とメモのリソース、時刻の取得・整形やメモ管理のツール、要約とイベント調整のプロンプトを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DateTime MCP サーバー
日時機能に加えて、シンプルなメモ管理機能を提供する MCP(Model Completions Protocol)サーバーです。
概要
このサーバーは MCP プロトコルを実装し、以下を含む、日時関連のさまざまなツールとリソースを提供します。
- さまざまな形式での現在の日付と時刻
- 日付のフォーマットユーティリティ
- イベントのスケジュール設定用プロンプト
- シンプルなメモ管理機能
任意の MCP クライアントからこのサーバーに接続して、日時情報にアクセスしたり、シンプルなメモを管理したりできます。
機能
リソース
サーバーは以下のリソースを提供します。
datetime://current- 現在の日付と時刻datetime://today- ISO 形式の今日の日付datetime://time- 24 時間形式の現在時刻note://internal/{name}- ユーザーが作成したメモ
ツール
サーバーは以下のツールを提供します。
add-note- 名前と内容を指定して新しいメモを追加しますget-current-time- 現在時刻をさまざまな形式(ISO、読みやすい形式、Unix タイムスタンプ、RFC3339)で取得しますformat-date- 指定したフォーマットパターンに従って日付文字列をフォーマットします
プロンプト
サーバーは以下のプロンプトを提供します。
summarize-notes- すべてのメモの要約を作成しますschedule-event- 特定の時刻にイベントをスケジュールするのを支援します
インストール
- リポジトリをクローンします。
git clone https://github.com/bossjones/datetime-mcp-server.git
cd datetime-mcp-server
- 仮想環境を作成します。
uv venv
source .venv/bin/activate
- 依存関係をインストールします。
uv sync
使用方法
サーバーの実行
サーバーを実行するには、以下を実行します。
uv run python -m datetime_mcp_server.server
サーバーが起動し、標準入力/標準出力で MCP プロトコルメッセージを待ち受けます。
サーバーへの接続
任意の MCP クライアントを使用してサーバーに接続できます。たとえば、MCP CLI を使用する場合は以下のとおりです。
uv run mcp connect datetime-mcp-server
開発
開発用依存関係のインストール
# Install all dependencies including development dependencies
uv sync --dev
テストの実行
テストを実行するには、以下を実行します。
uv run pytest tests/
単体テスト
単体テストでは、サーバーの個々の関数が正しく動作することを確認します。
uv run pytest tests/acceptance/test_server.py
統合テスト
統合テストでは、サーバーが MCP プロトコルを正しく実装していることを確認します。
uv run pytest tests/acceptance/test_server_integration.py
依存関係の管理
# Add a production dependency
uv add package_name
# Add a development dependency
uv add --dev package_name
# Sync dependencies from lockfile
uv sync --frozen
# List outdated packages
uv outdated
使用例
MCP CLI でサーバーを使用する
利用可能なリソースを一覧表示します。
uv run mcp resources list
日時リソースを読み取ります。
uv run mcp resources read datetime://current
メモを追加します。
uv run mcp tools call add-note --arguments '{"name": "meeting", "content": "Team meeting at 3pm"}'
現在時刻を ISO 形式で取得します。
uv run mcp tools call get-current-time --arguments '{"format": "iso"}'
日付をフォーマットします。
uv run mcp tools call format-date --arguments '{"date": "2023-10-15", "format": "%B %d, %Y"}'
Makefile タスク
このプロジェクトには、開発を効率化するための Makefile タスクがいくつか含まれています。
# Sync all dependencies with frozen lockfile
make uv-sync-all
# Sync only development dependencies
make uv-sync-dev
# Run tests
make test
ビルドと公開
パッケージを配布用に準備するには、以下の手順を実行します。
- 依存関係を同期し、ロックファイルを更新します。
uv sync
- パッケージの配布物をビルドします。
uv build
これにより、ソース配布物と wheel 配布物が dist/ ディレクトリに作成されます。
- PyPI に公開します。
uv publish
注:環境変数またはコマンドフラグを使って、PyPI の認証情報を設定する必要があります。
- トークン:
--tokenまたはUV_PUBLISH_TOKEN - またはユーザー名/パスワード:
--username/UV_PUBLISH_USERNAMEおよび--password/UV_PUBLISH_PASSWORD
デバッグ
MCP サーバーは標準入出力を介して動作するため、デバッグが難しい場合があります。最適なデバッグ体験を得るために、MCP Inspector の使用を強くおすすめします。
次のコマンドを使って、npm 経由で MCP Inspector を起動できます。
npx @modelcontextprotocol/inspector uv --directory /Users/malcolm/dev/bossjones/datetime-mcp-server run datetime-mcp-server
起動すると、Inspector に URL が表示されます。その URL にブラウザーからアクセスすると、デバッグを開始できます。
ライセンス
MIT
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
uv run pytestでテストを実行します- プルリクエストを送信します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。