Juno Open Health Tools

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
94%
Vollständigkeit des Schemas
85%
Qualität der Benennung
92%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'reflect_on_flare' description lacks action verbin reflect_on_flare

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,339Tokens (Tool-Definitionen)
~4.8 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.83% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "juno-open-health-tools": {
      "url": "https://juno-health-tools.vercel.app/api/mcp"
    }
  }
}

Remote-Endpunkte

https://juno-health-tools.vercel.app/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢find_symptom_words(consentConfirmed, description, bodyArea, timing, impact)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "consentConfirmed": {
      "type": "boolean",
      "const": true,
      "description": "Set to true only after the user explicitly agrees to transient processing of their non-identifying, user-authored health notes. Do not submit PHI, medical-record identifiers, contact details, credentials, or provider documents."
    },
    "description": {
      "type": "string",
      "maxLength": 2000
    },
    "bodyArea": {
      "type": "string",
      "maxLength": 2000
    },
    "timing": {
      "type": "string",
      "maxLength": 2000
    },
    "impact": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "consentConfirmed",
    "description"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "originalDescription": {
      "type": "string",
      "maxLength": 2000
    },
    "prompts": {
      "type": "object",
      "properties": {
        "sensation": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "timing": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pattern": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "impact": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "sensation",
        "timing",
        "pattern",
        "impact"
      ],
      "additionalProperties": false
    },
    "starterSentence": {
      "type": "string",
      "maxLength": 10000
    },
    "disclaimer": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "originalDescription",
    "prompts",
    "starterSentence",
    "disclaimer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢build_health_timeline(consentConfirmed, observations)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "consentConfirmed": {
      "type": "boolean",
      "const": true,
      "description": "Set to true only after the user explicitly agrees to transient processing of their non-identifying, user-authored health notes. Do not submit PHI, medical-record identifiers, contact details, credentials, or provider documents."
    },
    "observations": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "maxLength": 80
          },
          "observation": {
            "type": "string",
            "maxLength": 2000
          },
          "category": {
            "type": "string",
            "maxLength": 120
          },
          "impact": {
            "type": "string",
            "maxLength": 1000
          },
          "uncertainty": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "observation"
        ]
      }
    }
  },
  "required": [
    "consentConfirmed",
    "observations"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "timeline": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "maxLength": 80
          },
          "observation": {
            "type": "string",
            "maxLength": 2000
          },
          "category": {
            "type": "string",
            "maxLength": 120
          },
          "impact": {
            "type": "string",
            "maxLength": 1000
          },
          "uncertainty": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "date",
          "observation",
          "category",
          "impact",
          "uncertainty"
        ],
        "additionalProperties": false
      }
    },
    "changePoints": {
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "maxLength": 80
          },
          "observation": {
            "type": "string",
            "maxLength": 2000
          },
          "category": {
            "type": "string",
            "maxLength": 120
          },
          "impact": {
            "type": "string",
            "maxLength": 1000
          },
          "uncertainty": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "date",
          "observation",
          "category",
          "impact",
          "uncertainty"
        ],
        "additionalProperties": false
      }
    },
    "disclaimer": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "timeline",
    "changePoints",
    "disclaimer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢prepare_appointment_brief(consentConfirmed, mainGoal, changes, impacts, medicines, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "consentConfirmed": {
      "type": "boolean",
      "const": true,
      "description": "Set to true only after the user explicitly agrees to transient processing of their non-identifying, user-authored health notes. Do not submit PHI, medical-record identifiers, contact details, credentials, or provider documents."
    },
    "mainGoal": {
      "type": "string",
      "maxLength": 2000
    },
    "changes": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    },
    "impacts": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    },
    "medicines": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    },
    "questions": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    },
    "detailsToBring": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    }
  },
  "required": [
    "consentConfirmed",
    "mainGoal"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mainGoal": {
      "type": "string",
      "maxLength": 2000
    },
    "changes": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "impacts": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "medicines": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "questions": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "detailsToBring": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "disclaimer": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "mainGoal",
    "changes",
    "impacts",
    "medicines",
    "questions",
    "detailsToBring",
    "disclaimer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢reflect_on_flare(consentConfirmed, baselineBefore, during, recoveryAfter, possiblePatterns)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "consentConfirmed": {
      "type": "boolean",
      "const": true,
      "description": "Set to true only after the user explicitly agrees to transient processing of their non-identifying, user-authored health notes. Do not submit PHI, medical-record identifiers, contact details, credentials, or provider documents."
    },
    "baselineBefore": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    },
    "during": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    },
    "recoveryAfter": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    },
    "possiblePatterns": {
      "default": [],
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1000
      }
    }
  },
  "required": [
    "consentConfirmed"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "baselineBefore": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "during": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "recoveryAfter": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "possiblePatternsToObserve": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "disclaimer": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "baselineBefore",
    "during",
    "recoveryAfter",
    "possiblePatternsToObserve",
    "disclaimer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢render_appointment_brief(mainGoal, changes, impacts, medicines, questions, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mainGoal": {
      "type": "string",
      "maxLength": 2000
    },
    "changes": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "impacts": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "medicines": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "questions": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "detailsToBring": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "disclaimer": {
      "type": "string",
      "maxLength": 2000
    },
    "consentConfirmed": {
      "type": "boolean",
      "const": true,
      "description": "Set to true only after the user explicitly agrees to transient processing of their non-identifying, user-authored health notes. Do not submit PHI, medical-record identifiers, contact details, credentials, or provider documents."
    }
  },
  "required": [
    "mainGoal",
    "changes",
    "impacts",
    "medicines",
    "questions",
    "detailsToBring",
    "disclaimer",
    "consentConfirmed"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mainGoal": {
      "type": "string",
      "maxLength": 2000
    },
    "changes": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "impacts": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "medicines": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "questions": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "detailsToBring": {
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 1500
      }
    },
    "disclaimer": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "mainGoal",
    "changes",
    "impacts",
    "medicines",
    "questions",
    "detailsToBring",
    "disclaimer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools