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个预先配置的位置。要添加更多或覆盖现有内容,请执行以下操作:
- 设置
DATE_MCP_LOCATIONS您的环境变量mcp.json文件 - 使用以下格式:
City=IANA_Timezone,AnotherCity=IANA_Timezone - 查找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.
