Juno Open Health Tools
Consent-gated tools that turn user health notes into non-diagnostic appointment-prep materials.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen reflect_on_flare
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"juno-open-health-tools": {
"url": "https://juno-health-tools.vercel.app/api/mcp"
}
}
}Puntos de conexión remotos
https://juno-health-tools.vercel.app/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
🟢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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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
}Comunidad
Evidencia