time-agent-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@time-agent-mcphow long has this task been running so far?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
time-agent-mcp — 给没有时间感的 LLM 装一个时钟
你开一个 DeepSeek 窗口,说几句话,过几天再问「现在几点了」。 它回答的是第一次对话的时间。不是它笨——是没人给它喂时间。
本地部署(Ollama)/ 第三方中转 / 自建模型的 API 不会像官方那样在 system prompt 里注入当前时间, 于是模型靠训练数据里的记忆猜时间——这就是「时间幻觉」。
这个 MCP Server 给任何 LLM / Agent 框架装一个真正的时钟,并且不只是知道几点: 它还知道任务跑了多久、距离截止还剩多久、东京 vs 纽约是几点。
Features
✅ current_time —— 现在几点/几号/周几/时区(含 UTC 偏移与 ISO 8601)
✅ duration_elapsed —— 任务从何时开始、已过去多久(时间流逝感知,真正的差异化)
✅ time_until —— 距离截止/提醒时刻还剩多久
✅ timezone_convert —— 任意 IANA 时区换算
✅ session_ping —— 会话心跳:感知「对话过了多久」
✅ cron_mock —— 模拟「现在到点了吗」,给定时决策(支持 cron / @宏 / every 30 minutes)
✅ agent_clock —— 会话级计时器:开始 / 暂停 / 恢复 / 重置 / 查询
✅ 零外部运行时依赖(时间源 = 系统时钟,时区 = IANA 内置库)
✅ TypeScript + Python 双版本,npm / pip 即装即用
✅ 支持 Ollama / LangChain / Claude Desktop / 任何 MCP 客户端
Related MCP server: Time MCP Server
快速开始
1. 直接跑(无需安装)
# TypeScript 版
npm run dev # 开发模式(tsx)
# 或先构建再跑
npm run build && node dist/server.js
# Python 版
cd python && python -m time_agent_mcp2. 安装到 MCP 客户端
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"time-agent": {
"command": "node",
"args": ["D:/project/time-agent-mcp/dist/server.js"]
}
}
}Python 版:
{
"mcpServers": {
"time-agent": {
"command": "python",
"args": ["-m", "time_agent_mcp"],
"cwd": "D:/project/time-agent-mcp/python"
}
}
}工具说明
工具 | 作用 | 关键参数 |
| 当前时间/日期/星期/时区 |
|
| 任务起始时刻 + 已流逝时长 |
|
| 距离目标时刻的倒计时 |
|
| 时区换算 |
|
| 会话心跳,感知对话间隔 |
|
| 模拟「到点了吗」的定时决策 |
|
| 会话级计时器 |
|
示例
# 现在几点了(上海)
current_time { timezone: "Asia/Shanghai" }
# 任务跑了多久:第一次调用自动开始计时
duration_elapsed { task_id: "scrape-catalog" } # elapsed: 0
# ...10 分钟后再次调用
duration_elapsed { task_id: "scrape-catalog" } # elapsed: 10 分 3 秒
# 距离截稿还剩多久
time_until { target: "2026-10-05T18:00:00", timezone: "Asia/Shanghai" }
# 东京 vs 纽约
timezone_convert { time: "2026-10-01T12:00:00", from_timezone: "Asia/Tokyo", to_timezone: "America/New_York" }
# 对话过了多久
session_ping { session_id: "deepseek-chat-01" }
# 每天 18:00 到点了吗(定时决策)
cron_mock { schedule: "0 18 * * *", timezone: "Asia/Shanghai" }
# 或自然语法
cron_mock { schedule: "every 30 minutes" }
# 会话级计时器:跑批任务计时
agent_clock { clock_id: "batch", action: "start" }
agent_clock { clock_id: "batch", action: "status" } # 查询
agent_clock { clock_id: "batch", action: "pause" } # 暂停
agent_clock { clock_id: "batch", action: "resume" } # 恢复
agent_clock { clock_id: "batch", action: "reset" } # 清零为什么需要它
场景 | 官方 API(已注入时间) | 本地部署/中转/自建(未注入) |
「现在几点?」 | 正确 | 幻觉(背的是训练数据里的时间) |
「任务跑了 10 分钟没?」 | 不知道 | 不知道(没人在对话里报时间) |
「还剩几分钟截止?」 | 不知道 | 不知道 |
现有 MCP 方案只解决「现在几点」。time-agent-mcp 差异化在时间流逝感知:
duration_elapsed / session_ping 让 Agent 对自己跑了多久、等了多久有真实感知。
状态存储
默认内存 Map(零依赖);设置环境变量 TIME_AGENT_STORE_FILE 可启用 JSON 文件持久化,
重启后仍记得任务起始时刻。TypeScript 与 Python 版本共用同一文件格式。
安装与开发
npm install # 安装依赖 + 构建
npm test # 运行测试(TS)
cd python && pip install -e ".[test]" && python -m pytest ../tests_pyRoadmap
M1:TS 版 5 个核心工具 + 示例 + 测试
M2:Python 版 + 测试(双版本行为对齐)+ cron_mock + agent_clock
M3:npm / PyPI 发布
演示 GIF + 各平台推广
生态
与 mcp-doctor(MCP Server 健康检查)同一生态系列: 一个让 Agent 感知时间,一个让 MCP Server 更可靠。
License
MIT
Available Tools
7 toolsagent_clockA
会话级计时器:start 开始 / pause 暂停 / resume 恢复 / reset 清零 / status 查询,返回累计计时与中文可读时长。
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | 操作:start 开始/重开;pause 暂停;resume 恢复;reset 清零;status 仅查询 | |
| clock_id | No | 计时器 id,缺省 main;同一会话下可建多个计时器 | |
| timezone | No | 返回时间所用 IANA 时区,缺省系统时区 | |
| session_id | No | 会话 id,缺省 default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the return is cumulative elapsed time plus a Chinese-readable duration, and the '会话级' framing hints at session-scoped persistence. However, it says nothing about destructive behavior of reset, restart semantics of start on an existing clock, or multi-clock isolation, leaving notable behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence packs the resource and all five action meanings with essentially zero filler. Slightly dense but appropriately sized for the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must cover returns — and it does, naming cumulative timing and a readable duration. Given a 4-parameter, single-required-param stateful tool with full schema coverage, the only real omission is guidance on sibling selection and mutation/restart semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents action, clock_id, timezone, and session_id in detail. The description merely repeats the action glosses without adding format, default, or interaction semantics (e.g., how clock_id and session_id combine), so it lands at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('会话级计时器') and enumerates all five operations with their Chinese glosses, so an agent immediately knows this is a stateful session timer rather than a one-shot time query. It does not name any sibling (duration_elapsed, current_time) to distinguish scope, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The action enumeration implies the operating modes, but there is no explicit when-to-use guidance or routing against siblings like duration_elapsed or current_time. Usage must be inferred from the verb list rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cron_mockA
定时决策:判断「现在到点了吗」(cron / @宏 / every 30 minutes),返回是否命中、下次与上次触发时刻及倒计时。不启动真实定时器。
| Name | Required | Description | Default |
|---|---|---|---|
| now | No | 可选:以该时刻(ISO 8601)为“现在”进行评估 | |
| schedule | Yes | cron 表达式(分 时 日 月 周,如 0 18 * * *)或 @daily/@hourly 宏,或 every 30 minutes 这类自然语法 | |
| timezone | No | 按此时区评估 cron;缺省用系统时区 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and largely meets it: it explicitly says no real timer is started (no side effects) and enumerates the return payload (hit yes/no, next and previous trigger instants, countdown). It omits permission/rate-limit or evaluation-failure behavior, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the core purpose, followed by a short clarifying clause about no real timer. Every element earns its place; slight density costs it the top score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description correctly supplies the return values, and with no annotations it discloses the key mock/no-side-effect trait. Only the cross-tool routing and failure semantics are left thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so now/schedule/timezone are already documented; baseline 3 applies. The description's mention of accepted schedule syntax echoes the schema field rather than adding new meaning, and it never mentions timezone evaluation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it evaluates whether a schedule ('cron / @macro / every 30 minutes') is due 'now' and reports hit/last/next/countdown. That is clearly distinguishable from time-arithmetic siblings. It stops short of naming which sibling to use instead, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: evaluate cron-style schedules and, per '不启动真实定时器', use it in a dry-run/mock context rather than scheduling anything real. However, it names no alternative (time_until, current_time) and gives no explicit when/when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
current_timeB
返回当前时间、日期、星期、时区与 UTC 偏移(现在几点/几号/周几/时区)。
| Name | Required | Description | Default |
|---|---|---|---|
| timezone | No | IANA 时区名,如 Asia/Shanghai / America/New_York;缺省用系统时区 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the returned fields (time, date, weekday, timezone, UTC offset), which is genuine behavioral value, but it says nothing about the system-timezone default behavior, output format, or precision. For a side-effect-free read tool this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the core resource front-loaded. The trailing parenthetical paraphrases the same fields in colloquial query terms, which adds mild value for matching but is partly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description does well to enumerate the returned fields, and the single optional parameter is fully covered by the schema. The remaining gap is the absence of any guidance versus the heavily overlapping siblings, which matters given the crowded namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single timezone parameter is well documented in the schema (IANA name, system default fallback). The description only alludes to timezone as a returned value, adding no syntax or semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: returns the current time, date, weekday, timezone, and UTC offset. An agent can tell this is a 'get current clock state' tool, but the description does no work to separate it from the near-identical sibling agent_clock or from timezone_convert, so sibling differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no reference to any alternative. With siblings like agent_clock and timezone_convert in the same namespace, the agent gets no help deciding which to call; usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duration_elapsedB
任务时长感知:记录任务起始时刻并返回「已过去多久」。首次调用自动开始计时,后续调用返回累计时长;可用 reset=true 重新计时。
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | 可选任务描述,原样返回给调用方 | |
| reset | No | 重置该任务的起始时刻为当前(或 started_at),作为新一轮计时开始 | |
| task_id | No | 任务 id,用于区分同一会话下的多个任务,缺省为 main | |
| timezone | No | 结果显示所用 IANA 时区,缺省系统时区 | |
| session_id | No | 会话 id,缺省为 default(同一 MCP 连接内默认使用一个会话) | |
| started_at | No | 可选:手动指定任务的起始时刻(ISO 8601 字符串)。不给则首次调用自动记录为当前时刻 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the stateful lifecycle: auto-start on first call, cumulative return thereafter, and reset behavior. It omits other traits an agent would want, such as whether state persists across sessions/connections, what happens with a supplied started_at, or any error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the core purpose comes first, followed by the lifecycle rules in semicolon-separated clauses. Every clause earns its place with no filler, though the density leaves some behavior (return format) unaddressed rather than wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should at least sketch what is returned; it states only conceptually that it returns 'how long has elapsed' without unit/format. Given all six parameters are well documented in the schema and the lifecycle is covered, the definition is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented in the schema and the baseline is 3. The description reinforces the reset (restart timing) and auto-start (started_at) semantics but adds no syntax, format, or default details beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it records a task start moment and returns elapsed time, which is a clear, distinct purpose. It does not explicitly name or contrast against siblings such as time_until, current_time, or agent_clock, so an agent must infer the difference from the cumulative-per-session semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly explains the call lifecycle (first call auto-starts, later calls return cumulative duration, reset=true restarts), which is useful implied usage guidance. However, it never states when to prefer this tool over siblings like time_until or current_time, so alternative routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_pingA
会话心跳:每次对话调用一次,更新时间戳并返回距上次对话间隔与本会话总时长,让模型感知对话间隔。
| Name | Required | Description | Default |
|---|---|---|---|
| timezone | No | 返回时间所用的 IANA 时区,缺省系统时区 | |
| session_id | No | 会话 id,缺省为 default;同一客户端可固定一个 id 以累计会话时长 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the key hidden trait: it is a state-mutating call that updates a timestamp, despite looking like a harmless clock query. It also states the two values returned. It omits any note on persistence, permissions, or what happens on concurrent/first-ever calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the action, cadence and return payload front-loaded; almost nothing is wasted. It is slightly packed with three ideas at once, but none is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-param tool with no output schema and no annotations, the description covers purpose, cadence and return values, which is close to sufficient. Missing only the edge-case behaviour (first call with no prior timestamp, per-session accumulation semantics) and sibling disambiguation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so timezone and session_id are already fully documented in the schema (including the default and the accumulation behaviour). The description adds nothing about either parameter, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (会话心跳/更新 time stamp) and its two outputs (距上次对话间隔、本会话总时长), so the verb+resource+return is clear. It does not, however, distinguish itself from near-neighbours such as duration_elapsed or current_time, which also deal with elapsed time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit invocation cadence: '每次对话调用一次' — an agent knows exactly when to fire it. It offers no when-not condition and never routes to the overlapping siblings (duration_elapsed, current_time), so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
time_untilA
倒计时:计算距离目标/截止时刻还剩多久(目标已过则返回已过时长)。
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | 从哪个时刻开始算(ISO 8601),缺省为当前时刻 | |
| target | Yes | 目标时刻,ISO 8601(如 2026-10-01T15:30:00 或 2026-10-01 15:30:00) | |
| timezone | No | target 不带偏移时按此时区解释为墙钟时间;缺省用系统时区 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that a past target yields the elapsed duration instead of an error, which is a real behavioral trait. But it says nothing about how the result is formatted, how from/timezone interact, or error handling for invalid input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence, front-loaded with the core action and parenthetically covering the inverted-case behavior. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema and no annotations, the description omits the return type/format and the from/timezone interaction. It is minimally adequate but leaves the agent guessing about output shape and edge-case semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (from, target, timezone) are already documented with formats and defaults in the schema. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('計算距離目標/截止時刻還剩多久') plus the edge case when the target has passed. An agent can immediately tell this computes a countdown, though it doesn't explicitly contrast with the closest sibling duration_elapsed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the countdown-to-a-deadline framing ('目標/截止時刻'), which gives an agent enough to know the context. However, no explicit when-to-use or when-not guidance is given, and no alternatives are named despite siblings like duration_elapsed and timezone_convert that overlap conceptually.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timezone_convertA
多时区换算:把某一时刻从源时区换算到目标时区,返回目标时区的本地时间与偏移差。
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | 要换算的时刻(ISO 8601),缺省为当前时刻 | |
| to_timezone | Yes | 目标 IANA 时区,如 America/New_York、Asia/Tokyo | |
| from_timezone | No | 源 IANA 时区;缺省用系统时区 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the response content (target-zone local time plus the offset delta), which compensates somewhat for the missing output schema, but it is silent on defaults and on how DST-ambiguous or invalid timezones are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the operation and the return values with zero filler. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter compute tool with no output schema, the description covers the operation, the directional conversion, and the return shape, with defaults handled in the schema. Only the when-to-use guidance against sibling time tools is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — all three parameters carry their own descriptions including the ISO 8601 format and default behaviors for time and from_timezone. The description adds no parameter-level meaning beyond what the schema already documents, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource combination (convert a moment from a source timezone to a target timezone) and even names the return values (target local time and offset difference). It is clear what the tool does, but it does not differentiate itself from siblings such as current_time or time_until, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'convert a moment from timezone A to timezone B' tells the agent the scenario but never states when to prefer this over current_time or how it relates to the other time siblings. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.2.0- First observed
agent_clock - First observed
cron_mock - First observed
current_time - First observed
duration_elapsed - First observed
session_ping - First observed
time_until - First observed
timezone_convert
TDQS
Scored across 7 tools
Several tools overlap in purpose: agent_clock, time_until, duration_elapsed, and session_ping all measure elapsed or remaining time, making it easy for an agent to pick the wrong one. Descriptions provide some differentiation (session vs task vs target), but boundaries remain blurry.
Mostly consistent snake_case noun/verb phrases (agent_clock, time_until, timezone_convert, session_ping, cron_mock, duration_elapsed, current_time). One minor inconsistency: agent_clock uses a noun where sibling tools use verbs/verb-noun forms, but overall it is predictable.
Seven tools fit the time/session domain reasonably well, though the presence of both agent_clock and duration_elapsed suggests slight redundancy rather than pure over-count.
Covers clock, countdown, timezone conversion, session timing, scheduled decisions, duration tracking, and current time. There is some redundancy (multiple duration tools) rather than missing capabilities; a durable scheduling tool separate from cron_mock might be the only minor gap.
Maintenance
Related MCP Connectors
Wall-clock awareness for LLM agents. Two tools: elapsed-time-between-turns + day rollover detection.
A real clock for AI agents: current time, timezone conversion, and DST facts from the IANA tzdb.
Deterministic time tools for AI agents: timezone conversion, business-day math, cron interpretation.
Current time, timezone conversion & date math for AI agents. On Cloudflare Workers.
Related MCP Servers
- AlicenseBqualityDmaintenanceGiving LLMs Time Awareness Capabilities. Empower your LLMs with time awareness capabilities. Access current time, convert between timezones, and get timestamps effortlessly. Enhance your applications with precise time-related functionalities.62,116 npm72MIT
- AlicenseBqualityDmaintenanceGives large language models time awareness capabilities through various time-related functions including current time retrieval, timezone conversion, and relative time calculations.62,116 npmMIT
- AlicenseAqualityDmaintenanceProvides time intelligence, persistent memory and complete traceability for AI coding agents. Enables sophisticated activity tracking, timezone management, smart reminders, and cross-session continuity with support for both per-project and centralized storage modes.97MIT
- AlicenseAqualityDmaintenanceProvides accurate system time to LLM applications with multi-timezone support via a simple tool call.1MIT