mcpField
D
DateTime MCP Server

DateTime MCP Server

ローカル
github.com/bossjones生産性087 週間前に更新

DateTime MCP Server について

MCP クライアント向けに、日時関連のツールとリソース、簡単なメモ管理機能を提供するサーバーです。メモの要約やイベントの予定調整に使うプロンプトも備えています。

主な機能

  1. 01現在の日時リソースへのアクセス
  2. 02複数形式での時刻取得
  3. 03日付文字列のフォーマット
  4. 04メモの作成と参照
  5. 05メモ要約とイベント調整のプロンプト

活用シーン

  1. 01MCP クライアントで現在の日付や時刻を取得
  2. 02表示用の日付フォーマット
  3. 03簡単なメモの保存と要約
  4. 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 - 特定の時刻にイベントをスケジュールするのを支援します

インストール

  1. リポジトリをクローンします。
git clone https://github.com/bossjones/datetime-mcp-server.git
cd datetime-mcp-server
  1. 仮想環境を作成します。
uv venv
source .venv/bin/activate
  1. 依存関係をインストールします。
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

ビルドと公開

パッケージを配布用に準備するには、以下の手順を実行します。

  1. 依存関係を同期し、ロックファイルを更新します。
uv sync
  1. パッケージの配布物をビルドします。
uv build

これにより、ソース配布物と wheel 配布物が dist/ ディレクトリに作成されます。

  1. 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

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. uv run pytest でテストを実行します
  5. プルリクエストを送信します

コメント

MCP は初めてですか?

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

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