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 verbreflect_on_flare 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,339トークン数(ツール定義)
~4.8 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.83%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件