Juno Open Health Tools
Consent-gated tools that turn user health notes into non-diagnostic appointment-prep materials.
我该使用它吗
质量与安全性
发现(1)
- LOW在 reflect_on_flare 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"juno-open-health-tools": {
"url": "https://juno-health-tools.vercel.app/api/mcp"
}
}
}远程端点
https://juno-health-tools.vercel.app/api/mcpstreamable-http它能做什么
工具清单
工具(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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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
}社区
证据