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 是用 PHP 编写的服务,可获取当前时间并转换 IANA 时区间的时间,供需要时间信息的 MCP 客户端使用,并自动检测系统时区。

主要功能

  1. 01按时区获取当前时间
  2. 02转换不同时区的时间
  3. 03使用 IANA 时区名称
  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

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Time MCP Server by PHP

使用 PHP 实现的 MCP(模型上下文协议)服务,提供时间和时区转换功能。

此服务可让 LLM 使用 IANA 时区名称获取当前时间信息并执行时区转换,还会自动检测系统时区。

与 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 转换为纽约时间”

许可证

本项目采用 MIT 许可证。

MIT 许可证

版权所有 (c) 2025 Junichi Ishida aka uzulla ([email protected])

特此免费授予任何获得本软件及相关文档文件副本的人(以下简称“软件”)不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本,并允许获得本软件的人这样做,但须符合以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的明示或默示担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而产生、引起或与之相关的任何索赔、损害或其他责任承担责任,无论该责任是基于合同、侵权还是其他原因。

致谢

本项目包含并翻译了以下开源项目的部分内容:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。