protogrid

Search / io.github.MarshallBear1/juno-open-health-tools

Juno Open Health Tools

R0· no sign-in

Consent-gated tools that turn user health notes into non-diagnostic appointment-prep materials.

v1.1.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality79good
Trust91of 100
Uptime, 30 days100%
Latency p50250 ms

Connect

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

Quality 79 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
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
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations5 of 5 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: render_appointment_brief (idempotentHint); prepare_appointment_brief (idempotentHint); find_symptom_words (idempotentHint); …
  • pass
    tools.token_costabout 1,478 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability50 · weight 15
  • pass
    stability.changes5 tool changes in 30 days
  • fail
    stability.rug_pull5 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

5 tools, about 1,478 tokens to load them all · tool set f9e087f5feab · tools last changed 2026-10-12 · checked 2026-10-20 22:23 UTC

Tool changes

  • render_appointment_briefchangeddescription, annotationsmeaning changed
    before

    After the user's existing consent, render the non-identifying output of prepare_appointment_brief as an accessible card. Call prepare_appointment_brief first; do not add PHI.

    after · 27% of words in common

    Renders a supplied, complete, non-identifying appointment brief as an accessible card. Requires explicit consent for transient processing. Preserves the supplied fields and disclaimer; PHI is outside its scope.

  • reflect_on_flarechangeddescription, annotationsmeaning changed
    before

    After explicit consent, structure only non-identifying, user-authored before, during, and after observations; turn suspected patterns into questions, not causal claims. Do not accept PHI.

    after · 31% of words in common

    Structures non-identifying before, during and recovery observations, presenting suspected patterns as questions rather than causes. Requires explicit consent for transient processing. PHI is outside its scope.

  • prepare_appointment_briefchangeddescription, annotationsmeaning changed
    before

    After explicit consent, turn minimal non-identifying goals, changes, impact, user-stated medicines, and questions into a concise appointment brief. Do not accept PHI or provide medical advice.

    after · 39% of words in common

    Structures non-identifying goals, changes, impacts, user-stated medicines and questions into an appointment brief. Requires explicit consent for transient processing. PHI, diagnosis and treatment advice are outside its scope.

  • build_health_timelinechangeddescription, annotationsmeaning changed
    before

    After explicit consent, sort only non-identifying, user-authored observations into a factual chronology while preserving uncertainty. Do not accept PHI or invent dates or diagnoses.

    after · 43% of words in common

    Sorts non-identifying, user-authored observations into a factual chronology while preserving supplied dates and uncertainty. Requires explicit consent for transient processing. PHI and diagnosis are outside its scope.

  • find_symptom_wordschangeddescription, annotationsmeaning changed
    before

    After explicit consent, organise only the user's non-identifying description into neutral sensation, timing, pattern, and impact vocabulary. Do not accept PHI or infer a diagnosis or cause.

    after · 40% of words in common

    Organises a non-identifying, user-authored sensation description into neutral sensation, timing, pattern and impact vocabulary. Requires explicit consent for transient processing. PHI and diagnostic inference are outside its scope.

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

provenance80
liveness100
freshness85
hygiene100

+repository +namespace-matches-repo +reachable +uptime-100% ~updated-81d-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://juno-health-tools.vercel.app/api/mcp streamable-httpnoneyes100%250 ms2026-07-282026-10-20

Tools (5)

build_health_timelineread-onlySorts non-identifying, user-authored observations into a factual chronology while preserving supplied dates and uncertainty. Requires explicit consent for transient processing. PHI and diagnosis are outside its scope.
find_symptom_wordsread-onlyOrganises a non-identifying, user-authored sensation description into neutral sensation, timing, pattern and impact vocabulary. Requires explicit consent for transient processing. PHI and diagnostic inference are outside its scope.
prepare_appointment_briefread-onlyStructures non-identifying goals, changes, impacts, user-stated medicines and questions into an appointment brief. Requires explicit consent for transient processing. PHI, diagnosis and treatment advice are outside its scope.
reflect_on_flareread-onlyStructures non-identifying before, during and recovery observations, presenting suspected patterns as questions rather than causes. Requires explicit consent for transient processing. PHI is outside its scope.
render_appointment_briefread-onlyRenders a supplied, complete, non-identifying appointment brief as an accessible card. Requires explicit consent for transient processing. Preserves the supplied fields and disclaimer; PHI is outside its scope.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.MarshallBear1/juno-open-health-tools",
  "title": "Juno Open Health Tools",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://juno-health-tools.vercel.app/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.1.0",
  "repository": {
    "url": "https://github.com/MarshallBear1/juno-open-health-tools",
    "source": "github"
  },
  "description": "Consent-gated tools that turn user health notes into non-diagnostic appointment-prep materials."
}