
Intentions MCP Server
Personalized timing intelligence for AI agents — ask 'should I do X on this date?'
Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeRead-only
What it can do
What data it sees
Do you need an account
An API key from the service settings is required
Personalized timing intelligence for AI agents — ask 'should I do X on this date?'
Server tool list (7)
Raw names from tools/list. Only developers need these.
| intentions_ask_day | Call when the user asks about timing a decision for a specific date, or wants to pick the best day from a multi-day window. Covers trip dates, launch days, interview/meeting days, publish/send dates, travel, negotiation windows, relationship moments — any "when to X" question where the answer is a date ("should I X on April 23", "best day this month to Y", "下周四怎么样"). Modes: single date, compare up to 5 dates, or scan a range up to 31 days. Returns score (0-100), verdict, per-layer year/month/day breakdown (alerts + dimension signals), element breakdown, adverse alerts. For multi-month windows use `intentions_ask_month`; for hour precision use `intentions_ask_hour`. |
| intentions_ask_hour | Call when the user asks about timing within a specific day — best hour to act, morning vs afternoon, when during the day ("best time today to X", "morning or afternoon for Y", "几点去见面好"). Use for interview slots, meeting times, send/publish times, departure times, workout windows. Pro subscription required; on the free tier this returns a `subscription_required` error whose payload suggests `intentions_ask_day` for day-level analysis or `intentions_energy_chart` with period `weekly` / `yearly` for a visual overview (the caller LLM decides whether to retry). Modes: single (date+hour), compare up to 5 hour-pairs, or scan all 12 two-hour blocks of one day. Accepts any clock hour 0..23; internally mapped to the containing 2-hour block midpoint (0/2/4/…/22). 23:00–23:59 automatically rolls the effective day forward by one. Every output entry includes a `window { start, end }` local wall-clock span (`YYYY-MM-DDTHH:MM`, no timezone offset — interpret in the same frame as the input hour). Always cite this when presenting the time. Returns score, verdict, adverse alerts. |
| intentions_ask_year | Call when the user asks about a full calendar year as a whole ("how is 2026", "今年怎么样", "what's next year like overall"). Returns year-level score, verdict, adverse alerts, and element dimensions. For month precision use `intentions_ask_month`; for day use `intentions_ask_day`. Window: currentYear-1 to currentYear+1 only. |
| intentions_ask_month | Call when the user asks at month granularity or wants the best month from a multi-month window ("how is next month", "best month in 2026 to X", "下个月适合吗"). Use for trip-month selection, launch months, content-calendar planning, quarterly/annual decisions. Modes: single month, compare up to 5 months, or scan up to 12 months (returns top 5). Returns month score, element breakdown, adverse alerts. For day precision near the 4th–6th of a month use `intentions_ask_day`; for hour precision use `intentions_ask_hour`. |
| intentions_energy_chart | Call when the user wants a visual overview rather than a narrative answer ("show me this week", "chart for today", "next 12 months", "看一下图"). Returns an ASCII chart: `hourly` = 12 two-hour blocks of one day, `weekly` = 7 days, `yearly` = 12 months. The `hourly` mode emits the same hour-resolution scores as `intentions_ask_hour` and is gated behind the Pro subscription on the same terms — on the free tier it returns a `subscription_required` error whose payload suggests `weekly` / `yearly` chart modes or `intentions_ask_day` as alternatives. `weekly` and `yearly` are always free. |
| intentions_set_birth_info | Call once to register the user's birth date/time/gender. Each call is a complete replacement — all 6 fields must be supplied. For fields the user does not know or prefers not to share, pass `null` explicitly (e.g. `hour: null` for unknown birth time, `gender: null` for unspecified). To update just one field, first call `intentions_get_profile` to fetch the current values, merge the user's new input, then call this tool with the full merged payload. Identity-changing edits (year/month/day/hour/gender) are limited to 3 per calendar month; adding precision (e.g. filling in a previously-null hour) is always free. Returns the element profile. |
| intentions_get_profile | Fetch the user's currently stored birth info. Use this before `intentions_set_birth_info` when updating an existing profile so you can send back a complete merged payload. Returns { hasProfile, birthInfo: { year, month, day, hour, minute, gender } | null } where any unknown field (e.g. unknown hour) is returned as `null`. No quota cost. |