Nonlinear Calendar
Server Details
Nonlinear Calendar: this year’s months fold onto the previous 12 years. No key to try.
- Status
- Healthy
- Uptime
- 99.8% over 43 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
Several tools (activity_window, body_rhythm, energy_adjust, today_rhythm, personal_day) all provide overlapping guidance about what to do now/today, with example trigger phrases that cross over (e.g., exercise vs. meeting vs. signing). While descriptions try to differentiate, the boundaries remain blurry for an agent to reliably select the right tool.
All tool names use a consistent lowercase snake_case pattern with two tokens (e.g., activity_window, personal_day, sky_window). There is no mixing of camelCase, verbs, or other conventions, making the naming predictable.
With 12 tools, the count is within a reasonable range for a calendar/rhythm domain. However, some tools could potentially be consolidated due to overlapping purposes, so it is slightly over what is ideal.
The surface covers date lookup, solar terms, sky events, personal day/month, month brief, time fold, and activity/body timing. Minor gaps exist, such as no tool to manage the birth profile or people roster, and traditional almanac 宜忌 is explicitly excluded, but core workflows are supported.
Available Tools
12 toolsactivity_windowActivity window · 活动窗口AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 今天什么时候适合运动 / 今天哪个时辰适合深工 / 什么时候开会 / 什么时候练 / 什么时候发版 / 什么时候该休息 / activity window / when to exercise. Maps month posture × twelve hours × body load to 2–3 clock windows for task=deep_work|train|meet|ship|rest. Windows are suggested slots, not a guarantee. Not meds, not glucose, not a diagnosis. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day. | |
| task | No | What to place: deep_work (default), train, meet, ship, rest. | |
| locale | No | Reply language. zh (default) or en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden, and it does disclose meaningful traits: deterministic ('Same day → same answer'), public/local/no API key, and quality boundaries ('suggested slots, not a guarantee', 'Preview ≠ prediction', not medical). It does not describe response shape or failure modes, so a 4 rather than 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?
The core purpose is front-loaded, but the text then piles on mixed zh/en trigger lists, slash-separated caveats, and slogan-like fragments ('Preview ≠ prediction') that dilute focus. Some sentences earn their place (scope exclusions), others are redundant boilerplate.
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 3-param, zero-required, no-output-schema tool with no annotations, the description covers what it produces, when to call it, and its behavioral/safety boundaries well. It is largely self-sufficient, missing only return-format or determinism-per-input detail an agent might want.
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 all three params are documented in-schema, so the baseline is 3. The description echoes the task enum values but adds no format, default, or interaction detail beyond the schema.
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 concrete output: it 'maps month posture × twelve hours × body load to 2–3 clock windows' for task=deep_work|train|meet|ship|rest. That is a specific verb+resource an agent can act on. The opening 'looks up a deterministic rules engine' framing is meta and slightly obscures the purpose, keeping it 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?
It gives explicit trigger conditions with concrete example phrasings (今天什么时候适合运动, when to exercise, etc.) and scopes out related-but-different needs ('Not meds, not glucose, not a diagnosis'). It never routes the agent to a named sibling like today_rhythm or body_rhythm, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
body_rhythmBody rhythm · 身体节奏BInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 今晚要不要提前睡 / 今天该不该加练 / 现在这个时辰适不适合动 / body energy / train or rest. Public body-energy rehearsal from solar term + hour + month posture × sky tightness. Not a diagnosis. Adjust ≠ infuse energy. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day. | |
| hour | No | Clock HH:MM or 时支 like 申. Pins the hour slot. Use when the user says 现在 / 下午 / 几点. | |
| locale | No | Reply language. zh (default) or en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose several traits: determinism ('Same day → same answer'), a constraint against inventing pillars/fortune claims, non-diagnostic scope ('Not a diagnosis'), and no auth requirement ('no API key'). These are genuinely useful disclosures, though the compressed form leaves some boundaries ('Adjust ≠ infuse energy', 'Preview ≠ prediction') ambiguous.
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?
The purpose and determinism claims are front-loaded, which is good, but the body is a string of telegraphic fragments that drift into cryptic slogans ('Adjust ≠ infuse energy', 'Preview ≠ prediction') whose meaning an agent cannot reliably recover. Compact but not every sentence clearly earns its place.
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 and no annotations, so the description should ideally describe the shape of the returned rhythm guidance, and it does not. It covers scope, determinism, and safety limits adequately, but a first-time caller still does not know what the answer will look like.
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 coverage is 100%, so the schema already documents date, hour, and locale semantics fully, including the default timezone and 时支 format. The description adds no parameter-level guidance beyond what the schema provides, making the baseline 3 appropriate.
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 establishes that this is a deterministic body-energy lookup derived from 'solar term + hour + month posture × sky tightness', which is a specific computation. However, the framing verb is vague ('looks up a deterministic rules engine') and 'body-energy rehearsal' is jargon; it never distinguishes itself from likely-overlapping siblings such as energy_adjust, today_rhythm, or sky_window.
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 concrete trigger phrasings (今晚要不要提前睡 / 今天该不该加练 / 现在这个时辰适不适合动 / train or rest), which clearly tell an agent when to reach for this tool. It stops short of naming a when-not condition or pointing to a sibling alternative, so it falls just below the top band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
date_lookupAlmanac lookup · 黄历查日AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 黄历 / 老黄历 / 宜忌 / 黄道吉日 / 今天吉不吉利 / 某日适合结婚搬家开业签约吗 / 农历是多少 / 阴历 / 某天的干支四柱 / 属相生肖 / 某日是什么节气 / 1984-02-04 是什么日柱 / chinese almanac / tong shu / auspicious day / yi ji / lunar date / day pillar of any date / zodiac. Works for ANY civil date 1900–2100. Returns lunar + ganzhi, then body (sleep/load) and plan (this month’s fold year + posture). Do not read this as 宜忌 / lucky-day / 吉凶. Do not mention marriage, burial, or god directions. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD. Default: today in Asia/Shanghai. Any date 1900–2100. | |
| hour | No | Clock HH:MM or 时支 like 申. Adds the hour pillar. | |
| locale | No | Reply language. zh (default) or en. |
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 meaningful traits: deterministic output ('Same day → same answer'), scope (any civil date 1900–2100), and operational profile ('Public · local · no API key'). It does not cover error behavior or rate limits, but for a stateless lookup this is solid disclosure.
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?
The determinism statement is front-loaded, which is good, but the body is a dense run-on mixing trigger phrases, prohibitions, and meta-commentary ('Preview ≠ prediction'). The trigger list is defensible for routing, yet it repeats concepts and contradicts itself by listing 宜忌 as a trigger while disclaiming it.
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 explain returns, and its attempt is cryptic: 'body (sleep/load)' and 'plan (this month’s fold year + posture)' reference concepts that are not defined here. Date, hour, and locale are covered by the schema, but the return shape an agent should expect remains unclear.
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 date, hour, and locale are already fully documented in the schema, establishing a baseline of 3. The description only reinforces the date range ('Works for ANY civil date 1900–2100') without adding format or semantics beyond what the schema 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?
The description states a specific resource and action: a date lookup that returns lunar + ganzhi pillars for any civil date 1900–2100. It also draws a boundary ('Do not read this as 宜忌 / lucky-day / 吉凶'), which helps separate it from fortune-telling tools. It never names a sibling tool, so differentiation from personal_day or today_rhythm is left to inference.
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 trigger list is unusually explicit ('Call when the user asks 黄历 / 老黄历 / 宜忌 / 黄道吉日 / ...'), giving concrete invocation conditions across zh and en phrasing. Negative guidance is also present ('Do not mention marriage, burial, or god directions'). However, it never routes the agent to an alternative sibling when a different need arises, and listing 宜忌 as a trigger while also saying not to read it as 宜忌 is internally confusing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_adjustEnergy adjust · 能量调节AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 能量怎么调 / 个人今天该推还是该收 / 团队这周该不该硬上线 / personal vs company rhythm. Same engine, two seats: personal (sleep/load) or org (window push vs hold). Not HR scoring, not medical treatment. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day. | |
| hour | No | Optional hour for the personal seat (HH:MM or 时支). | |
| seat | No | personal (default) = body load/sleep. org = team window, push vs hold. | |
| month | No | Month YYYY-MM for the org seat. Default: current month. | |
| locale | No | Reply language. zh (default) or en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure and does so meaningfully: deterministic ('Same day → same answer'), no API key required, local, public, and 'Preview ≠ prediction' sets expectations about output nature. It does not describe error behavior or response structure, keeping it short of 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?
Front-loaded with the core behavior ('deterministic rules engine') and trims to short, punchy clauses. The Chinese/English trigger phrases and repeated 'Not X, not Y' pattern are slightly dense but each sentence earns its place for an agent trying to match user intent.
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 5-parameter, no-required-arg tool with no annotations and no output schema, the description covers purpose, determinism, privacy posture, and seat distinction adequately. It does not explain what the returned guidance looks like, which is a minor gap given no output schema exists.
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 baseline is 3. The description adds seat-level framing ('personal (sleep/load) or org (window push vs hold)') that maps to the seat enum, but individual parameter semantics (date, hour, month, locale) are already fully documented in the schema.
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 specifies the tool as a deterministic rules engine lookup returning energy rhythm guidance, and distinguishes the two seats (personal vs org). It is a bit abstract compared to siblings like activity_window or body_rhythm, but the engine framing and 'personal vs company rhythm' scope are concrete enough to select it.
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?
Explicitly states when to call, with concrete trigger phrases (能量怎么调 / 个人今天该推还是该收 / 团队这周该不该硬上线 / personal vs company rhythm) and clear exclusions: 'Not HR scoring, not medical treatment.' Nothing is left to inference about the tool's purpose boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
month_briefFlow-month brief · 流月预演AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 这个月势能怎么样 / 这个月该打磨还是该收 / 这个月哪天发布 / 这个月节奏怎么样 / 流月基调 / 做不做某事 / 哪几天适合上线 / which days to publish. First line is the #be time atom (keep 干支 in Chinese). Then this month’s fold year (same pillar), baseline tone, and dated sky marks. Always surface the fold-year line and ask what they lived that year. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| month | No | Month YYYY-MM. Default: current month. | |
| locale | No | Reply language. zh (default) or en. |
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 so well: it discloses determinism ('Same day → same answer'), deployment properties (public, local, no API key), the output skeleton (first line time atom, then fold year, tone, sky marks), and mandated conversational behavior (always surface the fold-year line, ask what they lived that year). It even flags the preview-vs-prediction distinction. Only error/pagination class behaviors are unaddressed, which is minor for a local deterministic lookup.
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?
Purpose is front-loaded in the first sentence, which is good, but the description then mixes registers — determinism warning, a long bilingual trigger list, cryptic output formatting jargon ('#be time atom', 'keep 干支 in Chinese'), deployment notes, and a slogan — in a dense run-on. Every clause is arguably functional, but the presentation is cluttered rather than crisp.
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 carry the return-value burden, and it does describe the output sequence and the fact that date marks are dated. Combined with the trigger list and determinism statement, an agent has enough to call and interpret the tool. It stops short of explaining how fold-year or sky-mark values should be read in edge cases.
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% for both parameters (month pattern, locale enum), so the schema already documents them fully. The description adds no format, default, or interpretation detail beyond what the schema states. Baseline 3 is appropriate.
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 it looks up a deterministic rules engine and then enumerates what the result contains (time atom, fold year, baseline tone, dated sky marks), which lets an agent infer this is a month-level rhythm/flow briefing. It does not explicitly distinguish itself from the sibling personal_month or time_fold, so the differentiation is only implicit. Clear verb-plus-resource, but not sibling-disambiguated.
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 supplies a rich trigger list in both Chinese and English (这个月势能怎么样, this month's rhythm, which days to publish, 做不做某事), which is strong when-to-use guidance. However, it offers no explicit when-not conditions and no routing advice toward the obviously overlapping siblings personal_month or sky_window, so the agent must infer boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
people_rosterPeople roster · 人物花名册AInspect
This tool reads a user-named people roster. Do not invent people or merge two ids. Same role ≠ same person. Call when the user names a person, asks 这个人是谁 / 西交和宁波是不是同一个 / 花名册 / people roster, or before telling a story that involves named people. Pass people=[{name, relation, id?}] from what the user just said. If empty, ask the user to name people (name + one-line relation) — do not invent a biography. Optional env PEOPLE_ROSTER_JSON when the user keeps a local roster. Not L1. Public · no API key.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Reply language. zh (default) or en. | |
| people | No | This-turn roster. Wins over PEOPLE_ROSTER_JSON. Omit to read the env roster. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real traits: read-only semantics ('reads'), auth profile ('Public · no API key'), env-var fallback behavior, and data-integrity guardrails (don't merge ids, same role ≠ same person, don't invent biographies). It stops short of describing what the read returns or how errors surface, and 'Not L1' is unexplained jargon.
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?
Purpose is front-loaded and every sentence is load-bearing, but the anti-hallucination rule is repeated three times (don't invent people / don't invent a biography / same role ≠ same person), and the opaque 'Not L1' fragment adds noise rather than signal.
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 read-only, no-auth, zero-required-parameter tool with no output schema and full schema coverage, the description covers selection criteria, guardrails, env behavior, and auth. The main remaining gap is any hint of what a successful read returns.
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 coverage is 100%, so both parameters are already documented, including precedence ('Wins over PEOPLE_ROSTER_JSON'). The description restates the people shape and the env fallback rather than adding syntax or format meaning, 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?
Opens with a precise verb+resource: 'reads a user-named people roster.' No sibling tool (activity_window, body_rhythm, etc.) does roster reads, so disambiguation is inherent, and the roster scope is stated unambiguously.
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?
Gives explicit call triggers with concrete example queries in both languages (这个人是谁 / 花名册 / people roster; before telling a story with named people) and an explicit negative case: if the roster is empty, ask the user to name people rather than proceeding. Nothing 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.
personal_dayPersonal day · 个人日读AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 我今天怎么样 / 我今天下午适不适合见面 / 未时基调 / 我的日主和今天什么关系 / my day. Personalized: day-master vs today's stem (十神) + optional hour pillar. Requires BALANCE_API_KEY + birth profile. Empty key → error personal_timetable_requires_key; use free tools instead. Not a fortune verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day. | |
| hour | No | Clock HH:MM or earthly branch 子–亥 (e.g. 14:30 or 未). Adds hour-pillar ten-god. | |
| birth | No | Optional birth profile. If omitted, uses the cloud profile saved on the paid account. | |
| locale | No | Reply language. zh (default) or en. |
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 well: it discloses determinism ('Same day → same answer'), the auth requirement, the specific error code (personal_timetable_requires_key), and the output nature ('Not a fortune verdict'). It omits return-format and any rate/latency behavior, so it stops short of 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?
Dense and front-loaded with the core guarantee ('Same day → same answer') and the call triggers early; nearly every sentence adds a distinct fact (determinism, triggers, personalization, auth, error, non-verdict). The heavy mixed zh/en telegraphic phrasing slightly hurts scannability but is not wasteful.
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 nested-schema, zero-parameter-required tool with no output schema and no annotations, the description covers purpose, invocation triggers, auth, error handling, and the conceptual shape of the result. It does not describe what the response actually contains, which is a modest gap given the absence of an output schema.
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 coverage is 100%, so baseline is 3, but the description adds genuine meaning: it explains the personalization logic (day-master vs today's stem 十神) and clarifies that the hour input contributes an hour-pillar ten-god, which explains why an agent would pass it.
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 (looks up) and resource (deterministic rules engine for a personalized day reading), and positions itself against siblings like personal_month, today_rhythm, and fortune tools by declaring 'Not a fortune verdict.' An agent can distinguish this from the free/broad sibling tools without opening a schema.
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?
Gives concrete trigger phrases (我今天怎么样 / 未时基调 / my day) that map directly to invocation, plus a key precondition (BALANCE_API_KEY + birth profile) and the empty-key fallback to 'free tools instead.' The fallback is vague about which sibling to use, and there is no explicit when-not-to-use versus personal_month or today_rhythm, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
personal_monthPersonal month · 个人流月AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 我这个月怎么样 / 我哪周该推进 / 我这个月适不适合上线 / my month. Personalized flow-month: day-master vs month stem, dated sky, sandbox assumptions, fold-memory prompts. Requires BALANCE_API_KEY + birth profile. Empty key → error personal_timetable_requires_key; use free tools instead. Not a fortune verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Optional YYYY-MM-DD to pin which flow month to use. | |
| birth | No | Optional birth profile. If omitted, uses the cloud profile saved on the paid account. | |
| month | No | Month YYYY-MM. Default: current month. | |
| locale | No | Reply language. zh (default) or en. |
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 substantial work: determinism ('Same day → same answer'), an anti-hallucination constraint ('Do not invent pillars or fortune claims'), a hard auth requirement (BALANCE_API_KEY + birth profile), and a named error ('personal_timetable_requires_key') with a recovery path. It omits rate limits, latency, and any output shape.
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?
Dense and reasonably front-loaded: determinism and the never-invent rule come first, trigger phrases next, then auth/error handling. The fragment list 'dated sky, sandbox assumptions, fold-memory prompts' is opaque jargon that consumes space without conveying an actionable fact.
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?
Auth, error handling, and determinism are well covered for a zero-annotation tool with a nested birth object. However, with no output schema, the description should convey what the response contains, and instead offers vague fragments ('dated sky, fold-memory prompts') that don't tell an agent what it will receive or how to present it.
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 date, month, locale, and the nested birth object including the gender/dayun rationale. The description only adds that a birth profile is required in practice despite the schema marking it optional, which is marginally useful but below the schema's own level of detail.
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 mechanism: a personalized flow-month computed as day-master vs month stem from a deterministic rules engine. It also draws a boundary ('Not a fortune verdict'), which helps an agent distinguish it from a generic horoscope tool, though it never names the sibling it differs from (personal_day, month_brief).
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?
Gives concrete invocation triggers in both languages ('我这个月怎么样 / 我哪周该推进 / my month') and an explicit when-not path (empty key → use free tools instead). It stops short of naming the specific sibling tools to fall back to, leaving the alternative as 'free tools' generically.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sky_windowSky window · 天象窗口AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 未来两周有什么天象 / 新月哪天 / 日食哪天 / 接下来有没有逆行 / what sky events are coming. Lists dated L1 sky marks (new/full moon, eclipse, ingress, stations). Public · local · no API key. Max span 45 days. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date YYYY-MM-DD. Default: from + 14 days. | |
| from | No | Start date YYYY-MM-DD. Default: today. | |
| locale | No | Reply language. zh (default) or en. |
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 substantial work: determinism ('Same day → same answer'), access model ('Public · local · no API key'), a hard limit ('Max span 45 days') and a framing caveat ('Preview ≠ prediction'). It stops short of return format or error behavior, so not 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?
Dense but every fragment earns its place (determinism, triggers, outputs, access, limit, caveat). The front-load is slightly off—it opens on the 'rules engine' rather than the purpose—but it remains compact and scannable.
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 3-param, read-only, output-schema-less tool, the description covers purpose, triggers, outputs, limits and caveats adequately. Return-shape details are only lightly gestured at by 'lists dated L1 sky marks', but complexity is low enough that nothing essential 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 coverage is 100%, so the schema documents to/from/locale and their defaults. The description adds a genuinely param-relevant constraint not in the schema—the 45-day maximum span for the date range—plus intent framing for the locale output, exceeding the baseline 3.
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 resource—dated sky marks (new/full moon, eclipse, ingress, stations)—and a clear retrieval action, so an agent immediately knows the domain. It does not explicitly contrast with the nearest sibling (solar_terms also returns dated celestial events), which keeps it from 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?
Concrete bilingual trigger phrases ('新月哪天 / 日食哪天 / 接下来有没有逆行 / what sky events are coming') give clear when-to-call conditions. It also warns against fabricating 'pillars or fortune claims', but names no alternative siblings or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solar_termsSolar terms · 二十四节气表AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 二十四节气 / 今年节气表 / 白露是哪天 / 立春哪天 / 夏至冬至是什么时候 / 下一个节气 / 24 solar terms / when is White Dew / next solar term / jieqi. Returns the full 24-term table for any year 1900–2100: civil date + exact term-boundary time (Asia/Shanghai), plus the next upcoming term. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Gregorian year. Default: current year. | |
| locale | No | Reply language. zh (default) or en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does it well: deterministic rules engine (same day → same answer), public/local access with no API key, timezone of the term-boundary times (Asia/Shanghai), and the exact shape of the payload (24-term table + next upcoming term). Little behavioral ambiguity remains.
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?
Front-loads the purpose, then triggers, then return shape — a sensible order. The bilingual trigger list is long and the 'deterministic rules engine' phrasing is slightly meta, but every element is functional and nothing is 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?
For a zero-required-parameter lookup with no output schema, the description fully specifies the return contents (civil date, exact term-boundary time, next term) and the year coverage, so an agent needs no further information to call and interpret it.
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 year range (1900–2100) and locale enum are already documented in the schema. The description restates the year range but adds nothing about the locale parameter or formatting behavior, 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 (looks up) and resource (24-term solar-term table) with explicit scope: full table for any year 1900–2100 plus the next upcoming term. An agent can immediately tell this answers solar-term/jieqi date questions, which no sibling tool name suggests it handles.
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?
Provides explicit trigger conditions in both Chinese and English ('二十四节气 / 今年节气表 / 白露是哪天 / 立春哪天 / next solar term / jieqi'), so the agent knows exactly which user utterances select this tool. It also sets a negative boundary ('Do not invent pillars or fortune claims'), separating it from speculative/predictive tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
time_foldTime fold · 时间折叠AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 时间折叠 / 现在叠的是哪一年 / 这个月对应哪一年 / time folding / nonlinear time / 甲午月是哪一年. First line is the #be time atom (keep 干支 in Chinese). Then this month’s fold year (same pillar). Ask the user what they lived that year — do not invent a biography. Then the Wuhu group and next year’s full table when the year is about to change. Then the 12-row table. Same table for everyone. Dayun / org dual natal only places the chapter. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day. | |
| month | No | Month YYYY-MM if not passing date. Pins the flow-month. | |
| locale | No | Reply language. zh (default) or en. | |
| compact | No | true = return only the atom line, fold mapping and rule line (token-light for chained agent calls). Default false = full 12-row table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so fairly well: it states determinism ('Same day → same answer'), locality and auth ('Public · local · no API key'), output shape, and guardrails ('Do not invent pillars or fortune claims', 'do not invent a biography'). Gaps remain on error behavior and the exact boundary of 'Preview ≠ prediction', but the core behavioral profile is disclosed.
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?
Content is dense and jargoned, and the ordering is stream-of-consciousness ('First line... Then... Then... Then the 12-row table'), so the key purpose is not front-loaded. Most sentences arguably carry information, but the structure impairs quick parsing by an agent.
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 takes on return-value disclosure and largely succeeds, describing the atom line, fold year, Wuhu group, next-year table and the 12-row table. Combined with fully documented schema parameters, an agent has enough to call it correctly, though the jargon-heavy output contract is not fully pinned down.
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 date, month, locale and compact fully. The description adds no parameter-level meaning (no syntax, defaults, or interaction rules) beyond implying day-vs-month use; baseline 3 applies when the schema does the heavy lifting.
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 opening sentence ('looks up a deterministic rules engine') is vague and borders on restating the title; the actual purpose only emerges indirectly from the trigger phrases (时间折叠 / nonlinear time) and the enumerated output lines. It never distinguishes itself from the many similarly themed siblings (personal_day, month_brief, solar_terms). An agent can guess what it does but not cleanly name it apart from neighbours.
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 concrete when-to-call triggers: 'Call when the user asks 时间折叠 / 现在叠的是哪一年 / 这个月对应哪一年 / time folding / nonlinear time / 甲午月是哪一年.' That is explicit invocation context. It stops short of naming alternatives or when-not-to-use cases, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
today_rhythmToday rhythm · 今日节奏AInspect
This tool looks up a deterministic rules engine. Same day → same answer. Do not invent pillars or fortune claims. Call when the user asks 今天节奏怎么样 / 今天势能怎么样 / 今天干支是什么 / 今天适不适合签约开会发版 / 今天流通怎么样 / 该不该推进某事 / what is today's rhythm. First line is the #be time atom (keep 干支 in Chinese). Then east pillars, this month’s fold year (same pillar), month posture × west tightness, plus the daily west almanac. Always surface the fold-year line and ask what they lived that year. Public · local · no API key. Preview ≠ prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day. | |
| hour | No | Clock HH:MM or 时支 like 申 / 未时. Adds the public hour pillar. Use when the user says 现在 / 下午 / 几点. | |
| locale | No | Reply language. zh (default) or en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so reasonably: it declares determinism ('same day → same answer'), deployment facts ('Public · local · no API key'), and a fidelity caveat ('Do not invent pillars or fortune claims', 'Preview ≠ prediction'). It does not state read-only status explicitly, rate limits, or failure behavior, leaving some 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?
The purpose is front-loaded in the first sentence, but the remainder is a dense run-on mixing triggers, output structure, and caveats with opaque jargon ('east pillars', 'month posture × west tightness'). Every fragment is informative, yet the wall-of-text formatting makes structure and scannability poor.
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 3-param tool with full schema coverage and no output schema, the description usefully sketches the output sequence (time atom, east pillars, fold-year, almanac), which compensates for the missing output schema. The main omission is sibling differentiation and any error/precondition behavior.
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 date, hour, and locale are already fully documented in the schema with defaults and usage notes. The description adds no parameter-level guidance beyond what the schema provides, 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 (looks up today's rhythm from a deterministic rules engine) and clarifies the nature ('same day → same answer'). It also describes the returned content (time atom, east pillars, fold year, west almanac). However, it never distinguishes itself from siblings like personal_day, body_rhythm, or time_fold, so the agent must infer the boundary from the name alone.
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?
Provides an explicit trigger list ('Call when the user asks 今天节奏怎么样 / ... / what is today's rhythm'), which gives the agent concrete invocation conditions. It stops short of stating when NOT to use it or naming alternative tools for adjacent queries, so there is no routing guidance beyond the positive triggers.
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.
4 tool updates
- Removed
fold_compare - Removed
natal_transit_impact - Removed
pin_long_memory - Removed
qimen_chart
1 tool update
- Added
qimen_chart
3 tool updates
- Added
fold_compare - Added
natal_transit_impact - Added
pin_long_memory
12 tool updates
- First observed
activity_window - First observed
body_rhythm - First observed
date_lookup - First observed
energy_adjust - First observed
month_brief - First observed
people_roster - First observed
personal_day - First observed
personal_month - First observed
sky_window - First observed
solar_terms - First observed
time_fold - First observed
today_rhythm
Related MCP Connectors
Date math and SVG rendering for fictional and custom calendars. Exact, stateless and deterministic.
Deterministic calendars and cosmic date JSON for AI agents via MCP (Gregorian 1900-2100).
Business days, meeting overlap and recurrence expansion, deterministic. 3 of 5 tools free.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceGenerates a complete weekly duty-pair rotation calendar from the current week's pair, applying carry-over and fairness rules with no database or configuration needed.ISC
- AlicenseNot gradedqualityAmaintenanceComputes fixed divination and astronomy facts for any moment — Liu Ren charts, Qimen Dunjia layouts, symbolic stem-branch directions, and the real geometric position of the Big Dipper at a given latitude/longitude — alongside multiple named birth profiles. It also assembles day-by-day candidate windows for a chosen purpose across a 1–7 day range or a full calendar year, accumulating model-filled verdicts into an offline, month-switchable HTML calendar with a local browser preview.8MIT
- AlicenseAqualityCmaintenanceCalendar MCP server with atomic booking, conflict prevention, deterministic RRULE expansion, and TOON token compression for AI agents.1813MIT
- AlicenseNot gradedqualityBmaintenanceProvides deterministic, byte-stable temporal reference data over MCP, resolving civil dates and names into calendars, seasons, moon phases, planetary retrogrades, and traditional symbolic systems. Exposes tools that return a single date's identity, compare two dates across shared symbolic systems, and map a name to cosmic cards and Latin cipher sums, with coverage focused on 1900–2100.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.