使用说明
日期操作 MCP(注:MCP在此处可能是一个特定上下文中的缩写或术语,根据上下文可能翻译为“多点控制单元”、“管理控制计划”或其他含义,但在此直接保留原样以保持翻译的准确性,具体含义需结合上下文确定)
轻量级模型上下文协议(MCP)服务器,提供由(某技术/平台)支持的通用日期/时间操作接口 date-fns建立在 fastmcp 使用HTTP流传输。
特点/功能
- 现在ISO 8601格式的当前时间戳
- 格式使用Unicode技术标准第35号(UTS #35)中的令牌格式化日期
- 加/减给日期加上或减去一段时间
- 差异;差别计算两个日期之间以选定单位表示的差异
- 检查比较两个日期(在之后、在之前、相等)
要求
- Node.js 18+(或推荐使用 20+)
安装
npm install
运行(开发环境)
npm run dev
# Server listens on http://localhost:3000 (HTTP stream)
构建并运行(生产环境)
npm run build
npm start
# Outputs to dist/ and runs Node on dist/index.js
客户端集成(通过HTTP流的MCP)
这台服务器使用 fastmcp 与……一起;带着;用 transportType: "httpStream" 在港口 3000将您的支持MCP(多客户端协议)的客户端指向 http://localhost:3000。
- Claude Desktop / Cursor:配置一个指向(指定位置的)MCP HTTP服务器
http://localhost:3000请参考您的客户端MCP HTTP配置文档,并相应地设置URL。
注:服务器提供了一个适合MCP感知客户端的HTTP流。它不是一个传统的REST API。
工具
现在
- 描述获取当前日期/时间。
- 参数无
- 退货ISO 8601 字符串
示例结果:
"2025-01-01T12:34:56.789Z"
格式
- 描述格式化日期。
- 参数:
date(字符串,ISO 8601)format(字符串,按 date-fns v4 的 Unicode 标记)
- 退货格式化字符串
示例调用有效载荷(概念性):
{
"date": "2025-01-01T00:00:00.000Z",
"format": "yyyy-MM-dd'T'HH:mm:ssXXX"
}
添加
- 描述给日期加上一个持续时间。
- 参数:
date(字符串,ISO 8601)duration(对象) — 所有数值字段均为必填项;通过0如果未使用years,months,weeks,days,hours,minutes,seconds
- 退货ISO 8601 字符串(结果日期)
示例:
{
"date": "2025-01-01T00:00:00.000Z",
"duration": {
"years": 0,
"months": 1,
"weeks": 0,
"days": 2,
"hours": 0,
"minutes": 30,
"seconds": 0
}
}
减去
- 描述从日期中减去一段时间。
- 参数与……形状相同
add - 回报ISO 8601 字符串(结果日期)
差异;不同
- 描述两个日期之间的差值(以给定单位表示)。
- 参数:
dateFrom(字符串,ISO 8601)dateTo(字符串,ISO 8601)unit(枚举):seconds | minutes | hours | days | weeks | months | years
- 退货包含数值差异和单位的可读字符串
示例:
{
"dateFrom": "2025-01-01T00:00:00.000Z",
"dateTo": "2025-02-01T00:00:00.000Z",
"unit": "days"
}
检查
- 描述比较两个日期。
- 参数:
firstDate(字符串,ISO 8601)secondDate(字符串,ISO 8601)operator(枚举类型):after | before | equal
- 回报表示布尔结果的可读字符串
示例:
{
"firstDate": "2025-01-02T00:00:00.000Z",
"secondDate": "2025-01-01T00:00:00.000Z",
"operator": "after"
}
注释与假设
- 日期应以ISO 8601格式的字符串表示(推荐使用UTC时间)。
format使用类似于 date-fns v4 中的 Unicode 标记(UTS #35)。- 对于
add/subtract提供所有持续时间字段;使用0当不需要时。
项目脚本
- 开发(人员):
tsx index.ts - 构建;建立:
tsc→ 发出(或释放)dist/ - 开始:
node dist/index.js - 测试:
vitest --coverage
许可证
麻省理工学院 © 丹尼·普拉迪普塔
