mcpField
T
Time MCP Server by PHP

Time MCP Server by PHP

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

Time MCP Server by PHP について

Time MCP Server by PHPは、現在時刻の取得とIANAタイムゾーン間の時刻変換を行うPHP製サーバーです。時刻情報を必要とするMCPクライアント向けで、システムのタイムゾーンを自動検出します。

主な機能

  1. 01タイムゾーン指定で現在時刻を取得
  2. 02タイムゾーン間の時刻変換
  3. 03IANAタイムゾーン名に対応
  4. 04システムタイムゾーンの検出と上書き

活用シーン

  1. 01地域の現在時刻を確認
  2. 02地域間の会議時刻を変換

MCP 対応

MCPクライアントに`get_current_time`と`convert_time`のツールを公開します。READMEにはClaude.appとZedの設定例があります。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"time-php": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

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

パッケージ
npm@modelcontextprotocol/inspector

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

プロジェクトの README より

Time MCP Server by PHP

PHPで実装されたMCP(モデルコンテキストプロトコルサーバー)で、時刻とタイムゾーン変換機能を提供します。

このサーバーは、LLMがIANAタイムゾーン名を使用して現在の時刻情報を取得し、タイムゾーン変換を実行できるようにし、システムタイムゾーンを自動検出します。

work with claude desktop

利用可能なツール

  • get_current_time - 特定のタイムゾーンまたはシステムタイムゾーンでの現在時刻を取得します。

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

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

インストール

# 本レポジトリをclone
$ git clone https://github.com/uzulla/mcp-time-php.git

# Composerでインストールした場合
$ cd mcp-time-php
$ composer install

MCP利用側の設定

Claude.appの設定
PHPを直接実行で使用
"mcpServers": {
  "time": {
    "command": "php",
    "args": ["/path/to/this/repo/bin/time-server"]
  }
}
Zedの設定

Zedのsettings.jsonに追加:

PHPを使用
"context_servers": {
  "mcp-server-time": {
    "command": "php",
    "args": ["/path/to/this/repo/bin/time-server"]
  }
},
カスタマイズ - システムタイムゾーン

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

例:

{
  "command": "php",
  "args": ["/path/to/this/repo/bin/time-server", "--local-timezone=America/New_York"]
}

対話例

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

レスポンス:

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

レスポンス:

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

デバッグ

MCPインスペクターを使用してサーバーをデバッグできます:

npx @modelcontextprotocol/inspector ./bin/time-server

開発

プロジェクト構造
.
├── bin/                   # 実行可能スクリプト
│   └── time-server        # エントリーポイント
├── src/                   # ソースコード
│   ├── Enum/              # 列挙型クラス
│   │   └── TimeTools.php  # 時間関連ツール列挙型
│   ├── Model/             # データモデル
│   │   ├── TimeConversionResult.php  # 時間変換結果モデル
│   │   └── TimeResult.php  # 時間取得結果モデル
│   ├── Service/           # サービスクラス
│   │   ├── TimeService.php  # 時間サービス
│   │   └── TimeUtils.php  # 時間ユーティリティ
│   └── StdioServer.php    # MCPサーバー実装
├── tests/                 # テストコード
│   ├── ServerTest.php     # サーバーテスト
│   └── TimeServerTest.php # 時間サーバーテスト
├── composer.json          # Composer設定
├── composer.lock          # Composerロックファイル
├── phpunit.xml            # PHPUnit設定
└── README.md              # このファイル
テスト

Composerをインストールして依存関係をセットアップします:

composer install

PHPUnitテストを実行します:

composer test

Claudeへの質問例

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

License

This project is licensed under the MIT License.

MIT License

Copyright (c) 2025 Junichi Ishida aka uzulla ([email protected])

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.

Acknowledgments

This project incorporates and translates portions of the following open-source projects:

コメント

MCP は初めてですか?

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

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