protogrid

Search / io.github.intentions-me/intentions-mcp

Intentions MCP Server

R1· needs a key

Personalized timing intelligence for AI agents — ask 'should I do X on this date?'

v0.1.2 · active · repository · website · descriptor JSON · versions

An agent can connect on its own if it already holds INTENTIONS_MCP_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality80good
Trust97of 100
Uptime, 30 days100%
Latency p50283 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "intentions-mcp": {
      "type": "http",
      "url": "https://mcp.intentions.me/mcp",
      "headers": {
        "Authorization": "Bearer ${INTENTIONS_MCP_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http intentions-mcp https://mcp.intentions.me/mcp --header "Authorization: Bearer ${INTENTIONS_MCP_TOKEN}"
[mcp_servers.intentions-mcp]
url = "https://mcp.intentions.me/mcp"
bearer_token_env_var = "INTENTIONS_MCP_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "intentions-mcp": {
      "type": "remote",
      "url": "https://mcp.intentions.me/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:INTENTIONS_MCP_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "intentions-mcp": {
      "type": "http",
      "url": "https://mcp.intentions.me/mcp",
      "headers": {
        "Authorization": "Bearer ${INTENTIONS_MCP_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=intentions-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmludGVudGlvbnMubWUvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7SU5URU5USU9OU19NQ1BfVE9LRU59In19"
}
{
  "servers": {
    "intentions-mcp": {
      "type": "http",
      "url": "https://mcp.intentions.me/mcp",
      "headers": {
        "Authorization": "Bearer ${INTENTIONS_MCP_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "intentions-mcp": {
      "httpUrl": "https://mcp.intentions.me/mcp",
      "headers": {
        "Authorization": "Bearer ${INTENTIONS_MCP_TOKEN}"
      }
    }
  }
}
extensions:
  "intentions-mcp":
    enabled: true
    name: "intentions-mcp"
    type: streamable_http
    uri: "https://mcp.intentions.me/mcp"
    headers:
      "Authorization": "Bearer ${INTENTIONS_MCP_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${INTENTIONS_MCP_TOKEN}. The registry never accepts secret values.

Quality 80 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 7 tools declare all four hints; missing: intentions_ask_day (destructiveHint, idempotentHint); intentions_ask_hour (destructiveHint, idempotentHint); intentions_get_profile (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 2,780 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes8 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

7 tools, about 2,780 tokens to load them all · tool set 1827dfa1b881 · tools last changed 2026-10-18 · checked 2026-10-20 12:13 UTC

Tool changes

  • intentions_energy_chartchangeddescription, input schema
    before

    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 `yearly` the month-by-month view, and both are Pro: on the free tier they return a `subscription_required` error whose payload suggests alternatives. `weekly` is free for the past week and the week ahead (omit `date` for this week); further out it is Pro too.

    after · 91% of words in common

    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 Pro: on the free tier it returns a `subscription_required` error whose payload suggests alternatives. `weekly` is free for the past week and the week ahead (omit `date` for this week), and `yearly` for the months of last year and this year (omit `date` for this year); further out both are Pro too.

  • intentions_ask_monthchangeddescription, input schema
    before

    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). Scanning a range of months is Pro; single and compared months are free. 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`.

    after · 91% of words in common

    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). Single and compared months are free; scanning a range is free inside last year and this year, and Pro further out. 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_chartchangeddescription, input schema
    before

    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.

    after · 76% of words in common

    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 `yearly` the month-by-month view, and both are Pro: on the free tier they return a `subscription_required` error whose payload suggests alternatives. `weekly` is free for the past week and the week ahead (omit `date` for this week); further out it is Pro too.

  • intentions_ask_monthchangeddescription, input schema
    before

    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`.

    after · 89% of words in common

    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). Scanning a range of months is Pro; single and compared months are free. 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_ask_yearchangeddescription, input schema
    before

    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.

    after · 95% of words in common

    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-3 to currentYear+3 only.

  • intentions_ask_daychangeddescription, input schema
    before

    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`.

    after · 85% of words in common

    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. On the free tier a range must sit inside the past week and the week ahead; single and compared dates are free anywhere in the window. 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_get_profilechangeddescription
    before

    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.

    after · 66% of words in common

    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, profileChanges: { remaining, resetsAt } | null } where any unknown birth field (e.g. unknown hour) is returned as `null`. `profileChanges` is how many changes to the date, gender or a known hour are left this calendar month (UTC) and the ISO instant they come back; if `remaining` is 0, tell the user before attempting such a change. No quota cost.

  • intentions_set_birth_infochangeddescription
    before

    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.

    after · 81% of words in common

    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. Changes to the date, gender or a known hour (including setting a known hour back to null) are limited to 3 per calendar month (UTC); filling in a previously-null hour, or the minute, is always free. `intentions_get_profile` returns how many are left. Returns the element profile.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-2d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.intentions.me/mcp streamable-httpapi_key ${INTENTIONS_MCP_TOKEN}yes100%283 ms2025-11-252026-10-20

Tools (7)

intentions_ask_dayread-onlyCall 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. On the free tier a range must sit inside the past week and the week ahead; single and compared dates are free anywhere in the window. 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_hourread-onlyCall 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_monthread-onlyCall 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). Single and compared months are free; scanning a range is free inside last year and this year, and Pro further out. 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_ask_yearread-onlyCall 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-3 to currentYear+3 only.
intentions_energy_chartread-onlyCall 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 Pro: on the free tier it returns a `subscription_required` error whose payload suggests alternatives. `weekly` is free for the past week and the week ahead (omit `date` for this week), and `yearly` for the months of last year and this year (omit `date` for this year); further out both are Pro too.
intentions_get_profileread-onlyFetch 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, profileChanges: { remaining, resetsAt } | null } where any unknown birth field (e.g. unknown hour) is returned as `null`. `profileChanges` is how many changes to the date, gender or a known hour are left this calendar month (UTC) and the ISO instant they come back; if `remaining` is 0, tell the user before attempting such a change. No quota cost.
intentions_set_birth_infoCall 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. Changes to the date, gender or a known hour (including setting a known hour back to null) are limited to 3 per calendar month (UTC); filling in a previously-null hour, or the minute, is always free. `intentions_get_profile` returns how many are left. Returns the element profile.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.intentions-me/intentions-mcp",
  "icons": [
    {
      "src": "https://raw.githubusercontent.com/intentions-me/intentions-mcp/main/logo-square.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Intentions MCP Server",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.intentions.me/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer API key (format: itm_...). Generate one at https://intentions.me/account"
        }
      ]
    }
  ],
  "version": "0.1.2",
  "repository": {
    "url": "https://github.com/intentions-me/intentions-mcp",
    "source": "github"
  },
  "websiteUrl": "https://intentions.me",
  "description": "Personalized timing intelligence for AI agents — ask 'should I do X on this date?'"
}