时间服务工具

一款轻量级、跨平台的MCP服务器,提供简单的时间和日期工具,仅使用Python标准库。

  • by FoxLauren
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 FoxLauren/mcp-time-server

使用说明

MCP时间服务器

一个轻量级的跨平台MCP(模型上下文协议)服务器,仅使用Python的标准库提供简单的时间和日期实用程序。

特性

  • 获取当前时间 在任何时区
  • 解析和验证 日期时间字符串
  • 比较时间 并计算差异
  • 加/减时间 从日期
  • 转换Unix时间戳 到可读日期
  • 列出和查询时区
  • 跨平台(Windows、macOS、Linux)
  • 零外部依赖(FastMCP除外)
  • 可编译为独立可执行文件

可用工具

get_current_time(tz: Optional[str])

获取当前日期和时间,可以选择特定时区。

get_timezone_info(tz: str)

获取时区的详细信息,包括当前时间和偏移量。

list_timezones(filter_text: Optional[str])

列出所有可用时区,可选择按文本过滤。

parse_datetime(date_string: str, format_string: str)

解析日期时间字符串并返回详细信息。

compare_times(time1: str, time2: str, format_string: str)

比较两个日期时间字符串并计算差异。

add_time_delta(base_time: str, days: int, hours: int, minutes: int, seconds: int, format_string: str)

从给定的日期时间中添加或减去时间。

is_valid_datetime(date_string: str, format_string: str)

验证字符串是否与日期时间格式匹配。

unix_to_datetime(timestamp: int, tz: Optional[str])

将Unix时间戳转换为可读的日期时间。

安装

选项1:下载预构建的可执行文件(推荐)

从以下网址下载适用于您平台的最新版本 发布 页面:

  • 视窗: mcp-time-server-windows.exe
  • macOS: mcp-time-server-macos (苹果硅)
  • Linux: mcp-time-server-linux (x86_64)

Windows安装程序

  1. 下载 mcp-time-server-windows.exe 从发布页面
  2. 将其保存到永久位置(例如。, C:\Users\YourName\mcp-servers\)
  3. Windows可能会显示安全警告-单击“更多信息”,然后单击“无论如何运行”(可执行文件是安全的,但未签名)
  4. 可执行文件已准备就绪,无需安装!

macOS设置

  1. 下载 mcp-time-server-macos 从发布页面
  2. 将其保存到永久位置(例如。, ~/mcp-servers/)
  3. 使文件可执行:
    chmod +x mcp-time-server-macos
    
  4. 首次跑步:macOS Gatekeeper将阻止未签名的可执行文件:
    • 尝试运行可执行文件(或将其添加到Claude Desktop配置中并重新启动Claude)
    • macOS将显示“无法打开,因为无法验证开发人员”
    • 打开 系统设置 → 隐私和安全
    • 向下滚动到安全部分
    • 点击 “无论如何都允许” 在关于的消息旁边 mcp-time-server-macos
    • 再次尝试运行-单击 “打开” 当系统提示时
  5. 可执行文件现在是可信的,可以使用了!

Linux安装程序

  1. 下载 mcp-time-server-linux 从发布页面
  2. 将其保存到永久位置(例如。, ~/mcp-servers/)
  3. 使文件可执行:
    chmod +x mcp-time-server-linux
    
  4. 可执行文件已准备好使用!

选项2:从源代码运行

  1. 克隆或下载此存储库
  2. 安装依赖项:
pip install mcp

开发和建设:

pip install mcp pyinstaller

运行服务器

标准模式

python server.py

作为配备Claude Desktop的MCP服务器

视窗
  1. 在以下位置打开您的Claude Desktop配置文件:

    %APPDATA%\Claude\claude_desktop_config.json
    

    或导航到: C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json

  2. 添加MCP服务器配置(使用保存可执行文件的完整路径):

    {
      "mcpServers": {
        "time": {
          "command": "C:\\Users\\YourName\\mcp-servers\\mcp-time-server-windows.exe"
        }
      }
    }
    

    重要:使用双反睫毛(\\)在Windows路径中!

  3. 完全重新启动Claude Desktop(退出并重新打开)

  4. 时间服务器工具现在应该可以在Claude Desktop中使用

macOS
  1. 在以下位置打开您的Claude Desktop配置文件:

    ~/Library/Application Support/Claude/claude_desktop_config.json
    
  2. 添加MCP服务器配置:

    使用可执行文件:

    {
      "mcpServers": {
        "time": {
          "command": "/absolute/path/to/mcp-time-server-macos"
        }
      }
    }
    

    使用Python:

    {
      "mcpServers": {
        "time": {
          "command": "/usr/local/bin/python3",
          "args": ["/absolute/path/to/server.py"]
        }
      }
    }
    
  3. 完全重新启动Claude Desktop(退出并重新打开)

Linux
  1. 在以下位置打开您的Claude Desktop配置文件:

    ~/.config/Claude/claude_desktop_config.json
    
  2. 添加MCP服务器配置:

    使用可执行文件:

    {
      "mcpServers": {
        "time": {
          "command": "/absolute/path/to/mcp-time-server-linux"
        }
      }
    }
    

    使用Python:

    {
      "mcpServers": {
        "time": {
          "command": "/usr/bin/python3",
          "args": ["/absolute/path/to/server.py"]
        }
      }
    }
    
  3. 完全重新启动Claude Desktop(退出并重新打开)

构建可执行文件

先决条件

pip install pyinstaller

为当前平台构建

运行构建脚本:

python build.py

这将在 dist/ 目录。

跨平台建筑

自动构建(GitHub操作)

此存储库包含一个GitHub Actions工作流,可自动为所有平台构建可执行文件:

  • 建立在每一次推动之上 到主要分支
  • 创建发布 当您推送版本标签时(例如。, v1.0.0)
  • 建筑为:Windows(x86_64)、macOS(ARM64)、Linux(x86_ 64)

要创建新版本,请执行以下操作:

git tag v1.0.0
git push origin v1.0.0

工作流将自动构建可执行文件并将其附加到GitHub版本。

手动跨平台构建

PyInstaller为您正在构建的平台创建可执行文件:

  1. macOS可执行文件:基于macOS构建
  2. Linux可执行文件:在Linux上构建(或使用带有Linux镜像的Docker)
  3. Windows可执行文件:在Windows上构建(或使用Windows VM)

使用示例

获取当前时间

# Local time
get_current_time()

# Specific timezone
get_current_time(tz="America/New_York")
get_current_time(tz="Europe/London")
get_current_time(tz="Asia/Tokyo")

解析和验证日期

# Parse a date
parse_datetime(
    date_string="2025-11-21 14:30:00",
    format_string="%Y-%m-%d %H:%M:%S"
)

# Validate a date
is_valid_datetime(
    date_string="2025-11-21",
    format_string="%Y-%m-%d"
)

比较时间

compare_times(
    time1="2025-01-01 00:00:00",
    time2="2025-12-31 23:59:59",
    format_string="%Y-%m-%d %H:%M:%S"
)

加/减时间

# Add 5 days and 3 hours
add_time_delta(
    base_time="2025-11-21 10:00:00",
    days=5,
    hours=3,
    format_string="%Y-%m-%d %H:%M:%S"
)

# Subtract 2 days (use negative values)
add_time_delta(
    base_time="2025-11-21 10:00:00",
    days=-2,
    format_string="%Y-%m-%d %H:%M:%S"
)

使用时区

# List all timezones
list_timezones()

# Filter timezones
list_timezones(filter_text="America")

# Get timezone info
get_timezone_info(tz="America/New_York")

Unix时间戳

# Convert Unix timestamp to datetime
unix_to_datetime(timestamp=1732204800)

# With specific timezone
unix_to_datetime(timestamp=1732204800, tz="UTC")

通用日期时间格式字符串

格式 示例
%Y-%m-%d %H:%M:%S 2025-11-21 14:30:00
%Y-%m-%d 2025-11-21
%m/%d/%Y 11/21/2025
%d/%m/%Y %H:%M 21/11/2025 14:30
%B %d, %Y 2025年11月21日
%Y-%m-%dT%H:%M:%S 2025-11-21T14:30:00(ISO格式)

技术细节

依赖项

  • 运行时:Python 3.10+
  • MCP框架: mcp (快速MCP)
  • 生成工具:PyInstaller 6.0+
  • 时区数据: tzdata (自动包含在Windows上)

使用的标准库模块

  • datetime -核心日期/时间操作
  • zoneinfo -时区支持(Python 3.9+)
  • time -时间工具
  • typing -键入提示

时区支持

服务器使用Python zoneinfo 模块:

  • 在Unix系统(macOS/Linux)上:使用系统时区数据库
  • 在Windows上:需要 tzdata 软件包(通过依赖关系自动安装)

平台特定注意事项

macOS

  • 来自系统的时区数据(/usr/share/zoneinfo)
  • 可执行文件将适用于您的Mac架构(英特尔或苹果硅)

Linux

  • 来自系统的时区数据(/usr/share/zoneinfo)
  • 基于您想要的目标架构(x86_64、ARM等)构建

视窗

  • 需要 tzdata 包(包含在依赖项中)
  • 可能需要以管理员身份运行构建脚本
  • 防病毒软件可能会标记PyInstaller可执行文件(误报)

故障排除

Windows:MCP服务器未连接到Claude桌面

  1. 检查路径:确保你使用了双反睫毛(\\)在JSON配置中:

    "command": "C:\\Users\\YourName\\mcp-servers\\mcp-time-server-windows.exe"
    
  2. 检查Windows安全:Windows Defender或防病毒软件可能会阻止可执行文件:

    • 右键单击 .exe file → 属性→ 勾选底部的“解锁”→ Apply
    • 或者在Windows安全中为可执行文件添加例外
  3. 验证文件路径:确保配置中的路径与您保存的路径完全匹配 .exe 文件

  4. 检查克劳德桌面日志:在Claude Desktop日志中查找错误消息以诊断问题

Windows:运行可执行文件时的安全警告

Windows可能会显示“Windows保护您的电脑”警告,因为可执行文件未签名:

  1. 点击“更多信息”
  2. 单击“无论如何运行”
  3. 这是安全的——可执行文件是通过GitHub Actions从开源代码构建的

macOS:“无法打开,因为无法验证开发人员”

macOS Gatekeeper默认阻止未签名的可执行文件:

  1. 方法1:隐私和安全设置 (推荐)

    • 尝试运行可执行文件(或在配置服务器的情况下启动Claude Desktop)
    • 打开 系统设置 → 隐私和安全
    • 向下滚动并单击 “无论如何都允许” 在被阻止的应用程序消息旁边
    • 尝试再次运行并单击 “打开” 当系统提示时
  2. 方法2:命令行

    xattr -d com.apple.quarantine ~/path/to/mcp-time-server-macos
    
  3. 这是安全的——可执行文件是通过GitHub Actions从开源代码构建的

“未找到时区数据”

在Windows上从源代码运行时,请确保 tzdata 已安装:

pip install tzdata

预构建的可执行文件不需要这样做(tzdata是捆绑的)。

可执行文件太大

可执行文件包括Python运行时和所有依赖项。典型尺寸:

  • macOS:40-45MB
  • Linux:35-40 MB
  • 视窗:40-45MB

为了在本地构建时减小大小,您可以在 .spec 文件。

运行可执行文件时“权限被拒绝”

在Unix系统上:

chmod +x mcp-time-server-macos  # or mcp-time-server-linux

许可证

麻省理工学院

贡献

这是一个简单、专注的MCP服务器。如果你需要额外的时间工具,请随时分叉和扩展!