时间协议服务器

一个为AI助手提供时间和时区功能的模型上下文协议(MCP)服务器,支持多时区时间查询、时区资源浏览和教育提示演示。

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

使用说明

时间MCP服务器

模型上下文协议(MCP)服务器,为AI助手提供时间和时区功能。使用FastMCP构建。

特性

  • 时间工具:获取任何时区的当前日期/时间
  • 时区资源:使用当前时间浏览全球通用时区
  • 教育提示:演示MCP使用模式的示例提示
  • 数学实用程序:简单的添加功能用于演示

先决条件

  • Python 3.12+
  • 紫外线 包管理器
  • Claude桌面(用于集成)

安装

  1. 克隆或下载此存储库
  2. 确保 uv 通过Homebrew安装:
    brew install uv
    

用法

命令行

直接运行MCP服务器:

uv run --with fastmcp fastmcp run main.py

这将启动服务器并显示连接信息。服务器使用STDIO传输进行通信。

Claude桌面集成

要将此服务器与Claude Desktop一起使用,请执行以下操作:

  1. 安装到Claude桌面:

    fastmcp install claude-desktop main.py
    
  2. 重新启动克劳德桌面 完全(退出并重新打开)

  3. 验证连接:服务器应在Claude Desktop的MCP服务器列表中显示为“我的第一台MCP服务器”

手动配置

或者,在以下位置手动添加到您的Claude Desktop配置文件中: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "My First MCP Server": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--with",
        "fastmcp",
        "fastmcp",
        "run",
        "/Users/path/to/your/time-mcp-server/main.py"
      ],
      "env": {},
      "transport": "stdio"
    }
  }
}

可用功能

工具

  • add(a, b):将两个整数相加
  • get_current_datetime(timezone):获取指定时区的当前日期/时间
    • 默认时区:“美国/纽约”
    • 支持所有IANA时区标识符
    • 返回格式化的日期、时间、日期时间和ISO格式

资源

  • timezones://common:当前时间的全球主要时区列表
    • 包括全球12个主要商业中心
    • 显示每个区域的当前时间、日期和完整日期时间
    • 实时信息动态更新

鼓励

  • business_hub_times:教育示例提示
    • 演示如何创建可重用的消息模板
    • 指导AI助手使用时区资源
    • 返回:“显示世界各地所有主要商业中心的当前时间”

例子

在不同区域获得时间

询问克劳德桌面:

  • “东京现在几点了?”
  • “给我看看伦敦和纽约的当前时间”
  • “旧金山和悉尼的时差是多少?”

使用时区资源

询问克劳德桌面:

  • “显示所有可用时区”
  • “目前主要商业中心的情况如何?”

利用教育提示

这 business_hub_times 可以调用prompt来演示提示在MCP系统中的工作方式。

发展

项目结构

time-mcp-server/
�� main.py              # MCP server implementation
�� pyproject.toml       # Project configuration
�� uv.lock             # Dependency lock file
�� README.md           # This file

关键组件

  • FastMCP框架:处理MCP协议通信
  • 时区处理:使用Python zoneinfo 获取准确的时区数据
  • 装饰器模式:使用定义的工具、资源和提示 @mcp 装饰器

测试服务器

  1. 命令行测试:

    uv run --with fastmcp fastmcp run main.py
    

    应显示服务器启动信息和连接详细信息。

  2. 克劳德桌面测试: 集成后,尝试向Claude Desktop询问与时间相关的问题,以验证工具是否正常工作。

故障排除

服务器无法启动

  • 确保 uv 已安装,在PATH中: which uv
  • 检查服务器文件是否存在并且可以访问
  • 验证Python 3.12+是否可用: python --version

Claude桌面集成问题

  • 查看日志: ~/Library/Logs/Claude/mcp-server-My-First-MCP-Server.log
  • 确保您的完整路径 main.py 配置正确
  • 配置更改后重新启动Claude Desktop
  • 验证 uv 是在 /opt/homebrew/bin/uv (用于Homebrew安装)

常见问题

  • “Spawn UV ENOENT”: uv 在PATH中找不到-请在配置中使用完整路径
  • 服务器已断开连接:检查文件路径和权限
  • 导入错误:确保FastMCP依赖项可用

了解更多