Juno Open Health Tools

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

我該用這個嗎

品質與安全性

A
說明品質
94%
結構描述完整度
85%
命名品質
92%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'reflect_on_flare' description lacks action verb在 reflect_on_flare 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,339Token(工具定義)
~4.8 KB典型回應大小
中等的注意力影響(128k 上下文的 1.83%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 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
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具