Balance Engine 非线性日历 Nonlinear Calendar

MCP · rules engine · no calendar OAuth

Give any AI agent a clock that does not invent the day

Ask the same day twice: a model may invent two different day-pillars; this engine will not. Nonlinear Calendar looks up east calendar × west sky — tables, not chat. Empty key is enough to try.

npx -y balance-engine-mcp

Why does an agent invent two day-pillars?

Frontier models still fail date math across timezones, solar terms, and flow-month boundaries. Thin calendar CRUD wrappers pass those failures through. This layer does not call an LLM — L1 is tables, formulas, thresholds. Same day, same timezone, same answer. Ground truth: eval/date-hallucination/.

Same day, two answers

Ask “what’s today’s pillar?” twice without a lookup. A model may change the stem-branch. The engine will not.

0

LLMs inside L1

Ganzhi, flow-month, and sky come from a rules engine. The agent only says the facts in human language.

+1

After birthday

Public windows are shared. Personal timetable (my day / my month) needs a key — which hours are better for you.

Why look up instead of letting the model guess?

Empty calendars answer “is this slot free?” This engine answers “is this hour a good window to meet, move, or ship?” — then, with a birth profile, “good for you.”

today_rhythm

Today’s rhythm, day pillar, do / don’t. Includes this month’s fold year. Public · local · no API key.

today_rhythm({
  date: "2026-08-31",
  locale: "en"
})
// #be · source: rules-engine ✓

time_fold

Which year this flow-month folds onto. Ask what they lived that year — do not invent a biography.

time_fold({
  month: "2026-08",
  locale: "en"
})
// Bingshen ↔ 2016 Bingshen ✓

activity_window

2–3 clock windows for deep work, train, meet, ship, or rest. Suggested slots — not a guarantee.

activity_window({
  date: "2026-08-31",
  task: "meet",
  locale: "en"
})
// public windows · Preview ≠ prediction

How does Nonlinear Calendar work?

Install with npx -y balance-engine-mcp. No Google / Outlook OAuth for the free tools — the agent gets public sky immediately. Optional account key unlocks “my day.”

Install

Paste into Claude Desktop / Cursor MCP config. Registry search: balance-engine.

npx -y balance-engine-mcp

Leave the key empty

No calendar login for public tools. Flip the MCP toggle on, wait for green, open a new chat.

"BALANCE_API_KEY": ""

Ask five questions

What’s today’s rhythm? Should I sleep earlier? When should I do deep work? What’s this month’s potential? Which year does this month fold onto?

Optional · personal timetable

After opening an account, mint a key and ask “my day” / “my month.” That is the personal layer — not a per-query surcharge.

today_rhythm → activity_window → personal_day

Start free. Personal timetable when you need it.

Public sky / today / month tools are free and burn no tokens on this layer. Billing is a yearly account for the personal timetable — not pay-per-question.

Public · empty key

$0 · forever for lookup

  • today_rhythm · body_rhythm · activity_window
  • month_brief · time_fold · sky_window
  • energy_adjust · people_roster
  • Same day → same answer · Preview ≠ prediction

Personal timetable

¥365 / year · company ¥3,650

  • personal_day · personal_month (API key)
  • Birth profile once · my day / hour tone
  • Web calendar, Core, monthly brief with account
  • Key is the agent channel — not metered chat

Wire it into your agent in one paste

Full setup notes, tool list, and verify checklist live in the MCP setup guide. How to read the fold table: Nonlinear Calendar.