使用说明
克罗诺
一个MCP服务器,为AI代理提供正确的时区、调度和间隔操作。无需猜测即可处理夏令时、商务日历和跨时区转换。
为什么
LLM不知道现在是什么时间。模型会收到系统提示符注入的日期字符串——就是这样。它不知道当前时间,也不知道你的时区,而且它无法在脑海中可靠地进行日历计算。当一个克劳德告诉你“市场开放”或“这是星期四”时,它会根据日期串进行基于氛围的运算。它经常出错。
如果没有工具,模型就会猜测:
- 现在几点了(它真的不知道)
- 日期是星期几
- 时区转换
- DST是否生效
- 日期是否为工作日
Chronow用返回正确结果的工具调用替换了这种猜测:
You: "Set up a weekly 9am standup for the next 4 weeks"
Agent calls recurrence_preview →
Mar 2 09:00 CST (2026-03-02T15:00:00Z)
Mar 9 09:00 CDT (2026-03-09T14:00:00Z) ← DST shift, local time stays 9am
Mar 16 09:00 CDT (2026-03-16T14:00:00Z)
Mar 23 09:00 CDT (2026-03-23T14:00:00Z)
UTC瞬时在夏令时边界处偏移一小时。当地时间保持在9:00。如果没有工具,该模型可能会保持UTC不变,并将会议悄悄地移动到当地上午10点,更不用说了。
这是干什么用的
- 代理运行时间:给出模型
now,resolve_local,recurrence_preview,interval_check而不是让它在头脑中做时区数学。 - DST边缘:明确的消歧策略(
compatible/earlier/later/reject)而不是沉默一小时的虫子。 - 商务日历:生成跳过您指定的周末和节假日的定期日期。
- 多语言堆栈:865个案例一致性语料库在Rust、TypeScript和Python之间强制执行字节相同的输出。
它不是什么
- 日历集成(它不与谷歌日历、Outlook等通信)。
- 假日数据库(您通过以下方式提供周末/假日规则
business_calendar). - 一个模糊的自然语言日期解析器(这种歧义正是Chronow所避免的)。
运作原理
Chronow是一个Rust时态引擎,公开了15个纯函数操作。主界面是 MCP服务器 (chronow-mcp)它在stdio上运行——将其添加到Claude Code、Claude Desktop、Cursor或任何MCP主机中,代理就会自动获得正确的时间工具。
船舶作为 命令行界面 (chronow)以及as Types/Python适配器,所有这些都根据相同的一致性套件进行了验证。
工具
| 工具 | 它做什么 |
|---|---|
now |
任何时区的当前时间(自动检测用户的时区) |
resolve_local |
将挂钟时间转换为UTC——显式处理夏令时间隔/折叠 |
format_instant |
在任何时区显示UTC时刻 |
recurrence_preview |
使用可选的业务日历(跳过周末+假期)生成重复日期(每日/每周/每月) |
add_duration |
使用日历或绝对算术添加天/月/年 |
diff_instants |
两个时刻之间的日历差异(年、月、日等) |
interval_check |
两个时间范围是否重叠/一个包含另一个/差距是多少? |
snap_to |
捕捉小时、天、周、月、季度或年的开始/结束 |
normalize_intent |
解析一个小的确定性语法(tomorrow at 09:00, next monday at 14:00, every weekday at 10:00)--拒绝任何模棱两可的东西 |
zone_info |
时区偏移、夏令时状态、下一次转换 |
parse_instant |
将ISO 8601/RFC 3339解析为UTC |
compare_instants |
比较两个时刻(-1,0,1) |
parse_duration / format_duration |
ISO 8601持续时间往返 |
list_zones |
列出IANA时区名称 |
为什么不去约会fns/dayjs/themow?
这些对于应用程序代码来说很好。Chronow是为不同的问题而构建的:
- 明确的DST消歧。 四项政策(
compatible/earlier/later/reject)所以你可以控制缝隙和褶皱处发生的事情,而不是默默地得到错误的结果。 - 跨语言对等。 865案例一致性语料库在Rust、TypeScript和Python中强制执行字节相同的输出。
- 本地代理。 自动检测时区。
normalize_intent故意拒绝模棱两可的输入,而不是猜测。
快速开始
1.安装
预构建二进制文件 (推荐)--从下载 发布。每个档案都包括 chronow (CLI)和 chronow-mcp (MCP服务器)适用于Linux、macOS和Windows。
来源:
cargo install --path mcp # MCP server
cargo install --path cli # CLI (optional)
Docker:
docker run -i ghcr.io/hmbown/chronow-mcp
python pip install chronow (要求 chronow CLI打开 $PATH 或 CHRONOW_BIN 设置)。
2.添加到您的AI客户端
替换 /path/to/chronow-mcp 与实际路径(例如。 which chronow-mcp).
克劳德代码:
claude mcp add chronow /path/to/chronow-mcp
克劳德桌面版 --设置>开发人员>编辑配置:
{
"mcpServers": {
"chronow": { "command": "/path/to/chronow-mcp" }
}
}
光标 --设置>MCP,或 .cursor/mcp.json:
{
"mcpServers": {
"chronow": { "command": "/path/to/chronow-mcp" }
}
}
3.验证
问你的AI客户端“现在几点了?”——它应该返回你的本地时间,而不需要你指定时区。
时区检测
MCP服务器自动检测用户的时区: CHRONOW_DEFAULT_ZONE env-var>系统时区> TZ 环境变量>UTC。要覆盖,请执行以下操作:
{
"mcpServers": {
"chronow": {
"command": "/path/to/chronow-mcp",
"env": { "CHRONOW_DEFAULT_ZONE": "America/Chicago" }
}
}
}
DST消歧策略
对于夏令时转换期间不明确/不存在的当地时间:
| 政策 | 模糊(折叠) | 不存在(差距) |
|---|---|---|
compatible |
提前偏移 | 向前移动 |
earlier |
较早偏移 | 向后移动 |
later |
后期偏移 | 向前移动 |
reject |
error | 错误 |
组件
| 路径 | 描述 |
|---|---|
crates/core |
Rust时态引擎(库crate+WASM cdylib) |
cli |
chronow 用于解析、转换和重复的CLI |
mcp |
chronow-mcp MCP服务器二进制文件 |
packages/ts |
TypeScript包(WASM+CLI适配器) |
packages/python |
Python包(CLI桥) |
conformance/cases |
865个规范一致性案例(JSON) |
conformance/runner |
跨语言一致性矩阵运行器 |
conformance/upstream |
上游行为提取(dayjs、luxon、钟摆) |
spec/temporal-contract.md |
规范性行为合同 |
文档
- 入门指南 --安装、首次操作、MCP设置
- 建筑 --设计决策和权衡
- DST故障模式 --为什么会出现时态错误
- 迁移指南 --从日期fns、dayjs、luxon、钟摆开始
- 基准测试 --性能数据
- 代理工作流模式 --LLM代理的集成模式
- 上游行为发现 --与其他图书馆的比较
