日期时间服务

一个轻量级的日期和时间信息服务器,为AI助手提供全面的日期和时间数据,适用于文档记录、日程安排和跨时区协调。

  • by GaryRogers
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 GaryRogers/date-mcp

使用说明

MCP服务器日期

一个轻量级的模型上下文协议(MCP)服务器,为人工智能助手提供全面的日期和时间信息,使用Python和.NET构建 uv 为了实现最大的便携性。

特性

  • get_day_name:返回一周中的当前日期(例如“Monday”)
  • get_iso_date:以ISO 8601格式返回当前日期(YYYY-MM-DD)
  • 当前时间:以ISO 8601格式返回带时区偏移的当前本地时间
  • 当前时间:以ISO 8601格式返回当前UTC时间
  • 当前时间位置:返回任何支持位置的时区中的当前时间(例如,“纽约”、“东京”、“伦敦”)
  • list_available_location:列出所有23个预先配置的位置

非常适合像GitHub Copilot这样的人工智能助手,在处理笔记、文档、日程安排或时间敏感任务时需要可靠、始终准确的日期和时间信息。

运作原理

服务器使用标准 MCP Python SDK 公开六个日期和时间信息工具:

  • 日期工具:以ISO 8601格式返回当前日期名称和日期
  • 时间工具:以本地时区、UTC或任何配置的位置返回当前时间
  • 位置发现:列出所有可用位置以供快速参考

所有时间均以ISO 8601格式返回,并附有正确的时区信息。该服务器支持23个预先配置的位置,包括美国主要城市(纽约、芝加哥、丹佛、洛杉矶)和全球金融/文化中心。可以通过环境变量配置其他位置。

这些工具由MCP客户端发现,LLM可以在需要时调用。

为何这很重要

人工智能助手经常遇到以下问题:

  • 知道当前日期和时间
  • 执行基于日期的计算和调度
  • 为内容添加准确的时间戳
  • 为不同地点的用户确定时区

通过为MCP服务器提供可靠的日期和时间工具,您的AI助手(无论是Copilot、Claude还是其他兼容MCP的客户端)始终可以访问准确的日期/时间信息,而不依赖于训练数据或假设。这对于调度、跨时区协调和时间感知任务规划特别有用。

本地安装

这将安装 date-mcp 进入 $HOME/.local/bin

uv tool install git+https://github.com/GaryRogers/date-mcp

与Visual Studio代码一起使用

编辑你 mcp.json 文件

  • 在Visual Studio代码中打开命令面板(视图|命令面板)
    • 或使用 ctrl-shift-p 在Windows或 command-shift-p 在MacOS上
  • 类型 MCP: Open User Configuration

示例 mcp.json (基本):

{
	"servers": {
		"date-mcp": {
			"type": "stdio",
			"command": "uvx",
			"args": ["date-mcp"]
		}
	}
}

示例 mcp.json (带自定义位置):

{
	"servers": {
		"date-mcp": {
			"type": "stdio",
			"command": "uvx",
			"args": ["date-mcp"],
			"env": {
				"DATE_MCP_LOCATIONS": "Berlin=Europe/Berlin,Barcelona=Europe/Madrid,Austin=America/Chicago"
			}
		}
	}
}

添加自定义位置

该服务器配备了23个预先配置的位置。要添加更多或覆盖现有内容,请执行以下操作:

  1. 设置 DATE_MCP_LOCATIONS 您的环境变量 mcp.json 文件
  2. 使用以下格式: City=IANA_Timezone,AnotherCity=IANA_Timezone
  3. 查找IANA时区名称 IANA时区数据库

预配置位置(共23个): 芝加哥、丹佛、洛杉矶、纽约、柏林、开罗、迪拜、香港、伊斯坦布尔、拉各斯、伦敦、墨西哥城、莫斯科、孟买、内罗毕、巴黎、圣保罗、上海、新加坡、悉尼、曼谷、东京、多伦多

使用ModelContextProtocol检查器进行测试

  • 启动检查器并将其指向MCP服务器:
    npx @modelcontextprotocol/inspector uv run date-mcp
    
    这将启动本地web UI(通常在 http://localhost:5173)您可以在其中与服务器进行交互。
  • 在检查器UI中,您将看到列出的所有六个可用工具
  • 试试这些工具:
    • get_day_name 和 get_iso_date 返回日期/日期信息
    • current_time 和 current_time_utc 返回当前时间
    • current_time_location 接受位置参数(例如“东京”)以获取该区域的时间
    • list_available_locations 显示所有配置的位置
  • 测试完成后,关闭浏览器选项卡,并使用以下命令停止检查器 Ctrl+C.