Serveur MCP

Nonlinear Calendar

io.github.singularitybpjade/balance-engine
Productivité Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Provides deterministic almanac, lunar-calendar, solar-term, astronomical-event, body-rhythm, and activity-window lookups for planning dates and schedules.

activity_window
Activity window · 活动窗口
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.'}, 'task': {'enum': ['deep_work', 'train', 'meet', 'ship', 'rest'], 'type': 'string', 'description': 'What to place: deep_work (default), train, meet, ship, rest.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
body_rhythm
Body rhythm · 身体节奏
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.'}, 'hour': {'type': 'string', 'description': 'Clock HH:MM or 时支 like 申. Pins the hour slot. Use when the user says 现在 / 下午 / 几点.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
date_lookup
Almanac lookup · 黄历查日
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 three lanes from the same rules engine: body (sleep/load), work (what to push / hold), 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD. Default: today in Asia/Shanghai. Any date 1900–2100.'}, 'hour': {'type': 'string', 'description': 'Clock HH:MM or 时支 like 申. Adds the hour pillar.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
energy_adjust
Energy adjust · 能量调节
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.'}, 'hour': {'type': 'string', 'description': 'Optional hour for the personal seat (HH:MM or 时支).'}, 'seat': {'enum': ['personal', 'org'], 'type': 'string', 'description': 'personal (default) = body load/sleep. org = team window, push vs hold.'}, 'month': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}$', 'description': 'Month YYYY-MM for the org seat. Default: current month.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
month_brief
Flow-month brief · 流月预演
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, dated sky marks, and a do/drop list. Always surface the fold-year line and ask what they lived that year. Public · local · no API key. Preview ≠ prediction.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'month': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}$', 'description': 'Month YYYY-MM. Default: current month.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
people_roster
People roster · 人物花名册
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}, 'people': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'relation'], 'properties': {'id': {'type': 'string', 'description': 'Stable id if the user already has one. Do not merge two ids.'}, 'name': {'type': 'string', 'description': 'User-given name. Do not invent.'}, 'relation': {'type': 'string', 'description': "One-line relation in the user's words."}}}, 'description': 'This-turn roster. Wins over PEOPLE_ROSTER_JSON. Omit to read the env roster.'}}}
personal_day
Personal day · 个人日读
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.'}, 'hour': {'type': 'string', 'description': 'Clock HH:MM or earthly branch 子–亥 (e.g. 14:30 or 未). Adds hour-pillar ten-god.'}, 'birth': {'type': 'object', 'required': ['date', 'time', 'gender'], 'properties': {'city': {'type': 'string', 'description': 'Birth city name, or pass longitude+latitude instead'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD'}, 'time': {'type': 'string', 'description': 'Birth time HH:MM (local civil time on the birth certificate)'}, 'gender': {'enum': ['male', 'female'], 'type': 'string', 'description': 'Required for dayun direction'}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}}, 'description': 'Optional birth profile. If omitted, uses the cloud profile saved on the paid account.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
personal_month
Personal month · 个人流月
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Optional YYYY-MM-DD to pin which flow month to use.'}, 'birth': {'type': 'object', 'required': ['date', 'time', 'gender'], 'properties': {'city': {'type': 'string', 'description': 'Birth city name, or pass longitude+latitude instead'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD'}, 'time': {'type': 'string', 'description': 'Birth time HH:MM (local civil time on the birth certificate)'}, 'gender': {'enum': ['male', 'female'], 'type': 'string', 'description': 'Required for dayun direction'}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}}, 'description': 'Optional birth profile. If omitted, uses the cloud profile saved on the paid account.'}, 'month': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}$', 'description': 'Month YYYY-MM. Default: current month.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
sky_window
Sky window · 天象窗口
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date YYYY-MM-DD. Default: from + 14 days.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date YYYY-MM-DD. Default: today.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
solar_terms
Solar terms · 二十四节气表
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Gregorian year. Default: current year.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
time_fold
Time fold · 时间折叠
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.'}, 'month': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}$', 'description': 'Month YYYY-MM if not passing date. Pins the flow-month.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}, 'compact': {'type': 'boolean', 'description': 'true = return only the atom line, fold mapping and rule line (token-light for chained agent calls). Default false = full 12-row table.'}}}
today_rhythm
Today rhythm · 今日节奏
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 as do/don't, 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.'}, 'hour': {'type': 'string', 'description': 'Clock HH:MM or 时支 like 申 / 未时. Adds the public hour pillar. Use when the user says 现在 / 下午 / 几点.'}, 'locale': {'enum': ['zh', 'en'], 'type': 'string', 'description': 'Reply language. zh (default) or en.'}}}
Ajouté
personal_month
17 September 2026 12:52
Ajouté
personal_day
17 September 2026 12:52
Ajouté
people_roster
17 September 2026 12:52
Ajouté
time_fold
17 September 2026 12:52
Ajouté
activity_window
17 September 2026 12:52
Ajouté
energy_adjust
17 September 2026 12:52
Ajouté
body_rhythm
17 September 2026 12:52
Ajouté
sky_window
17 September 2026 12:52
Ajouté
date_lookup
17 September 2026 12:52
Ajouté
solar_terms
17 September 2026 12:52
Ajouté
month_brief
17 September 2026 12:52
Ajouté
today_rhythm
17 September 2026 12:52