{"name":"io.github.singularitybpjade/balance-engine","slug":"singularitybpjade-balance-engine","title":"Nonlinear Calendar","description":"Nonlinear Calendar: this year’s months fold onto the previous 12 years. No key to try.","url":"https://mcp.market/server/singularitybpjade-balance-engine","rating":null,"grade":"B","score":73,"certified":false,"status":"active","category":"productivity","tags":["productivity"],"presence":{"score":18,"stars":null,"forks":null,"downloads_week":95,"last_push_at":null,"license":"MIT"},"uptime":{"percent":100,"checks":1,"ok":1,"last_checked_at":"2026-09-19T19:26:02.801Z","last_ok_at":"2026-09-19T19:26:02.801Z","latency_ms":300},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/singularitybpjade/balance-engine","website":"https://balance-engine.vercel.app/stories/agent-mcp.html","version":"0.2.1","remotes":[{"type":"streamable-http","url":"https://balance-engine.vercel.app/api/mcp","headers":[{"description":"Optional. Bearer be_… account key from join.html — only needed for personal_day / personal_month. Free tools work without it.","format":"string","isSecret":true,"name":"Authorization"}]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"balance-engine-mcp","version":"0.2.1","runtimeHint":"npx","transport":{"type":"stdio"},"runtimeArguments":[{"value":"-y","type":"positional"}],"environmentVariables":[{"description":"Account key from join.html (be_…) for your personal timetable. Leave empty for free tools (today/body/adjust/month/fold/sky/almanac/solar-terms). Empty key cannot call personal_day / personal_month.","format":"string","isSecret":true,"name":"BALANCE_API_KEY"},{"description":"Optional API origin. Default https://balance-engine.vercel.app","format":"string","name":"BALANCE_ENGINE_API_BASE"}]}],"tools":[{"name":"activity_window","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"description":"Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"task":{"description":"What to place: deep_work (default), train, meet, ship, rest.","type":"string","enum":["deep_work","train","meet","ship","rest"]},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"body_rhythm","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"description":"Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"hour":{"description":"Clock HH:MM or 时支 like 申. Pins the hour slot. Use when the user says 现在 / 下午 / 几点.","type":"string"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"date_lookup","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"description":"Date YYYY-MM-DD. Default: today in Asia/Shanghai. Any date 1900–2100.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"hour":{"description":"Clock HH:MM or 时支 like 申. Adds the hour pillar.","type":"string"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"energy_adjust","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"seat":{"description":"personal (default) = body load/sleep. org = team window, push vs hold.","type":"string","enum":["personal","org"]},"date":{"description":"Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"month":{"description":"Month YYYY-MM for the org seat. Default: current month.","type":"string","pattern":"^\\d{4}-\\d{2}$"},"hour":{"description":"Optional hour for the personal seat (HH:MM or 时支).","type":"string"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"month_brief","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"month":{"description":"Month YYYY-MM. Default: current month.","type":"string","pattern":"^\\d{4}-\\d{2}$"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"people_roster","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"people":{"description":"This-turn roster. Wins over PEOPLE_ROSTER_JSON. Omit to read the env roster.","type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"User-given name. Do not invent."},"relation":{"type":"string","description":"One-line relation in the user's words."},"id":{"description":"Stable id if the user already has one. Do not merge two ids.","type":"string"}},"required":["name","relation"]}},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"personal_day","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"description":"Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"hour":{"description":"Clock HH:MM or earthly branch 子–亥 (e.g. 14:30 or 未). Adds hour-pillar ten-god.","type":"string"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]},"birth":{"description":"Optional birth profile. If omitted, uses the cloud profile saved on the paid account.","type":"object","properties":{"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)"},"city":{"description":"Birth city name, or pass longitude+latitude instead","type":"string"},"longitude":{"type":"number"},"latitude":{"type":"number"},"gender":{"type":"string","enum":["male","female"],"description":"Required for dayun direction"}},"required":["date","time","gender"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"personal_month","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"month":{"description":"Month YYYY-MM. Default: current month.","type":"string","pattern":"^\\d{4}-\\d{2}$"},"date":{"description":"Optional YYYY-MM-DD to pin which flow month to use.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]},"birth":{"description":"Optional birth profile. If omitted, uses the cloud profile saved on the paid account.","type":"object","properties":{"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)"},"city":{"description":"Birth city name, or pass longitude+latitude instead","type":"string"},"longitude":{"type":"number"},"latitude":{"type":"number"},"gender":{"type":"string","enum":["male","female"],"description":"Required for dayun direction"}},"required":["date","time","gender"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sky_window","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"from":{"description":"Start date YYYY-MM-DD. Default: today.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"description":"End date YYYY-MM-DD. Default: from + 14 days.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"solar_terms","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"year":{"description":"Gregorian year. Default: current year.","type":"integer","minimum":1900,"maximum":2100},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"time_fold","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"description":"Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"month":{"description":"Month YYYY-MM if not passing date. Pins the flow-month.","type":"string","pattern":"^\\d{4}-\\d{2}$"},"compact":{"description":"true = return only the atom line, fold mapping and rule line (token-light for chained agent calls). Default false = full 12-row table.","type":"boolean"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"today_rhythm","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"description":"Date YYYY-MM-DD. Default: today in Asia/Shanghai. Use when the user asks about a specific day.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"hour":{"description":"Clock HH:MM or 时支 like 申 / 未时. Adds the public hour pillar. Use when the user says 现在 / 下午 / 几点.","type":"string"},"locale":{"description":"Reply language. zh (default) or en.","type":"string","enum":["zh","en"]}},"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":73,"grade":"B","scanned_at":"2026-09-19T20:25:56.700Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:25:56.722Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 753ms"]},"poisoning":{"score":15,"max":15,"notes":["12 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[],"inputs":{"probes":[{"url":"https://balance-engine.vercel.app/api/mcp","reachable":true,"authRequired":false,"latencyMs":753,"serverInfo":{"name":"nonlinear-calendar","version":"0.2.1"}}],"packages":[{"registryType":"npm","identifier":"balance-engine-mcp","version":"0.2.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-11T02:37:13.137Z","repositoryUrl":"git+https://github.com/singularitybpjade/balance-engine.git","weeklyDownloads":95}],"repo":{"found":false,"owner":"singularitybpjade","repo":"balance-engine","error":"repo not found"},"icon":{"url":"https://balance-engine.vercel.app/assets/mcp-icon.png","source":"registry","width":500,"height":500},"presence":{"stars":null,"forks":null,"downloadsWeek":95,"license":"MIT","lastPushAt":null,"score":18}}}},"grade_history":[],"reviews":[]}