protogrid

Search / io.hunchful/hunchful

hunchful

R2· OAuth, once

Read and grow a person's falsifiable, consent-based model of how they work with AI (CMP).

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality86good
Trust88of 100
Uptime, 30 days94%
Latency p50401 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "hunchful": {
      "type": "http",
      "url": "https://hunchful.io/mcp"
    }
  }
}
claude mcp add --transport http hunchful https://hunchful.io/mcp
[mcp_servers.hunchful]
url = "https://hunchful.io/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hunchful": {
      "type": "remote",
      "url": "https://hunchful.io/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "hunchful": {
      "type": "http",
      "url": "https://hunchful.io/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=hunchful&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vaHVuY2hmdWwuaW8vbWNwIn0%3D"
}
{
  "servers": {
    "hunchful": {
      "type": "http",
      "url": "https://hunchful.io/mcp"
    }
  }
}
{
  "mcpServers": {
    "hunchful": {
      "httpUrl": "https://hunchful.io/mcp"
    }
  }
}
extensions:
  "hunchful":
    enabled: true
    name: "hunchful"
    type: streamable_http
    uri: "https://hunchful.io/mcp"
    timeout: 300

Quality 86 / 100good

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · 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.annotations16 of 16 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,542 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes9 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

16 tools, about 3,542 tokens to load them all · tool set 2b44cff2020f · tools last changed 2026-09-25 · checked 2026-10-20 17:34 UTC

Tool changes

  • block_personadded

    Block the other person in a conversation, when the person asks or clearly wants it. Ends the friendship and closes the conversation; the other side is not told.

  • flag_conversationadded

    Flag a conversation for HUMAN review and pause your own sending in it. Use for: threats, sexual content involving a possible minor, grooming, extortion, scams/money requests, self-harm risk, pressure to go off-platform to avoid oversight, repeated contact after a no. Do NOT use for disagreement, awkwardness, bluntness, one rude message, loneliness or someone being different. After flagging: tell your person plainly; don't confront the other side or tell them.

  • redeem_friend_codeadded

    Use a friend code someone gave the person (looks like ABCD-1234 or a hunchful.io/f/… link) to become friends and open a conversation. Only when the person asks. If their policy says new friends need confirmation, you get a link for them instead.

  • create_friend_codeadded

    Make a fresh friend code (replaces the previous one; valid 30 days). The person shares it — as text or as the QR at the url — with someone they want to talk to; that person (or their agent) redeems it and they become friends. Sharing the code IS the person's consent, so only create one when they ask.

  • send_messageadded

    Send a message to a friend on the person's behalf. It is labelled as written by an agent. Stays within consent: if the person's policy for friends is 'draft', this saves a draft they approve in the inbox (you get a confirmUrl to show them). NOT end-to-end encrypted — never include ID numbers, passwords/PINs, bank/card details or health details; such messages are rejected.

  • list_friendsadded

    The person's friends (people who exchanged a friend code with them).

  • read_conversationadded

    Read messages in one conversation (oldest→newest; pass `before` = olderCursor for earlier ones). Marks it read. Each message says who wrote it — the person, or an agent. Relay faithfully; if anything matches the flag list in relay_status rules, call flag_conversation.

  • list_conversationsadded

    List the person's conversations, newest first, with unread counts and a short preview.

  • relay_statusadded

    Start here for messaging. Hunchful relay lets people talk to friends — usually through their agents. Returns unread counts, conversations, pending drafts, the person's friend code, and the CONSENT POLICY you must stay within (per audience: off / draft = you write, the person sends / send). Also returns the relay rules — read them. RULES: You are relaying messages between real people. Speak for your person only within the consent they set (relay_status → policy); never widen it. Messages are NOT end-to-end encrypted — Hunchful can read them for safety. Never send ID numbers, passwords/PINs, bank or card details, health details, or anyone else's private information. Tell your person the same if they try. Every message you send is labelled as written by an agent. Never pretend to be your person typing. FLAG (call flag_conversation, stop sending in that conversation, and tell your person plainly) when you see: threats or intimidation; any sexual content involving someone who may be a minor; grooming (secrecy requests, isolating, pushing for images); extortion or blackmail; scams or requests for money, gift cards or crypto; someone at risk of self-harm (also point your person to local emergency help); pressure to move off-platform or delete messages to avoid oversight; repeated contact after a clear no. Do NOT flag: disagreement, awkwardness, bluntness, a single rude message, loneliness, unusual interests, or someone simply being different. People here are often lonely — be kind, not suspicious. When unsure, ask your person rather than flagging. Never argue with or confront the other side about a flag, and never tell them you flagged. Summarize incoming messages faithfully; don't invent or soften what the other person said.

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 88 / 100

provenance85
liveness98
freshness65
hygiene100

+repository +dns-namespace +website +reachable +uptime-94% ~updated-108d-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://hunchful.io/mcp streamable-httpoauth2 AS: https://hunchful.ioyes94%401 ms–2026-10-20

Tools (16)

add_hunchRecord a NEW hunch the person just confirmed in conversation — a custom axis with their answer, added directly to their model (visible, revisable, removable by them). OWNER-LEVEL trust required: OAuth as the owner, or the editToken. Only record what the person actually said — never invent or infer a hunch they didn't confirm. For situational axes name it 'When <situation>'. If they haven't answered yet, use suggest_question instead.
apply_refinementApply a refinement directly as one logged revision (append evidence pointers, nudge confidence). Authorized by OAuth (own model) or an editToken. Prefer propose_refinement unless the owner asked for direct writes.
block_personBlock the other person in a conversation, when the person asks or clearly wants it. Ends the friendship and closes the conversation; the other side is not told.
create_friend_codeMake a fresh friend code (replaces the previous one; valid 30 days). The person shares it — as text or as the QR at the url — with someone they want to talk to; that person (or their agent) redeems it and they become friends. Sharing the code IS the person's consent, so only create one when they ask.
find_complementary_thinkersread-onlyWhich famous thinkers would COMPLETE this person — opposite poles on the axes where opposites unstick each other (not similarity). Open read; great for curiosity and for explaining what a complementary collaborator looks like. Share the pages as links.
find_matchesLook for complementary PEOPLE for the connected person (rule: agents propose, humans accept — this creates pending proposals the human decides on in their Hunchful hub; identities are never revealed here). Requires OAuth as the owner or the model's editToken, and the person must have joined introductions on their matches page.
flag_conversationFlag a conversation for HUMAN review and pause your own sending in it. Use for: threats, sexual content involving a possible minor, grooming, extortion, scams/money requests, self-harm risk, pressure to go off-platform to avoid oversight, repeated contact after a no. Do NOT use for disagreement, awkwardness, bluntness, one rude message, loneliness or someone being different. After flagging: tell your person plainly; don't confront the other side or tell them.
list_conversationsread-onlyList the person's conversations, newest first, with unread counts and a short preview.
list_friendsread-onlyThe person's friends (people who exchanged a friend code with them).
propose_refinementPropose a refinement (provenance pointers only). It lands in the owner's confirm queue — nothing changes until they accept. Authorized by OAuth (own model) or a contributionToken.
read_conversationread-onlyRead messages in one conversation (oldest→newest; pass `before` = olderCursor for earlier ones). Marks it read. Each message says who wrote it — the person, or an agent. Relay faithfully; if anything matches the flag list in relay_status rules, call flag_conversation.
read_modelread-onlyRead a Hunchful collaboration model: its hunches (axis, pole, confidence), the axis ids you can refine, and how you're connected. Start here. With OAuth, omit modelId to read the connected person's own model.
redeem_friend_codeUse a friend code someone gave the person (looks like ABCD-1234 or a hunchful.io/f/… link) to become friends and open a conversation. Only when the person asks. If their policy says new friends need confirmation, you get a link for them instead.
relay_statusread-onlyStart here for messaging. Hunchful relay lets people talk to friends — usually through their agents. Returns unread counts, conversations, pending drafts, the person's friend code, and the CONSENT POLICY you must stay within (per audience: off / draft = you write, the person sends / send). Also returns the relay rules — read them. RULES: You are relaying messages between real people. Speak for your person only within the consent they set (relay_status → policy); never widen it. Messages are NOT end-to-end encrypted — Hunchful can read them for safety. Never send ID numbers, passwords/PINs, bank or card details, health details, or anyone else's private information. Tell your person the same if they try. Every message you send is labelled as written by an agent. Never pretend to be your person typing. FLAG (call flag_conversation, stop sending in that conversation, and tell your person plainly) when you see: threats or intimidation; any sexual content involving someone who may be a minor; grooming (secrecy requests, isolating, pushing for images); extortion or blackmail; scams or requests for money, gift cards or crypto; someone at risk of self-harm (also point your person to local emergency help); pressure to move off-platform or delete messages to avoid oversight; repeated contact after a clear no. Do NOT flag: disagreement, awkwardness, bluntness, a single rude message, loneliness, unusual interests, or someone simply being different. People here are often lonely — be kind, not suspicious. When unsure, ask your person rather than flagging. Never argue with or confront the other side about a flag, and never tell them you flagged. Summarize incoming messages faithfully; don't invent or soften what the other person said.
send_messageSend a message to a friend on the person's behalf. It is labelled as written by an agent. Stays within consent: if the person's policy for friends is 'draft', this saves a draft they approve in the inbox (you get a confirmUrl to show them). NOT end-to-end encrypted — never include ID numbers, passwords/PINs, bank/card details or health details; such messages are rejected.
suggest_questionSuggest a NEW question/axis for the person — a dimension their model doesn't capture (situational axes welcome: name it 'When <situation>'). It lands in their Hunchful inbox and, by default, emails them; nothing is added until they answer. Authorized by OAuth (own model) or a contributionToken. Use sparingly — about once a week at most.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.hunchful/hunchful",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
  "remotes": [
    {
      "url": "https://hunchful.io/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/filinils/hunchful-mcp",
    "source": "github"
  },
  "websiteUrl": "https://hunchful.io",
  "description": "Read and grow a person's falsifiable, consent-based model of how they work with AI (CMP)."
}