Juno Open Health Tools

io.github.MarshallBear1Published by GitHub account MarshallBear1v1.1.0Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableLocation & LifestyleProductivity & Workflow

Overview

AI-generated overview

Consent-gated remote tools that turn non-identifying health notes into neutral wording, timelines and appointment briefs for clinician visits.

What you can do
Organise a user's own sensation description into neutral sensation, timing, pattern and impact vocabulary, with explicit consent for transient processing. Sort non-identifying observations into a factual chronology that keeps supplied dates and uncertainty. Structure goals, changes, impacts, user-stated medicines and questions into an appointment brief. Reflect on before, during and recovery observations, framing suspected patterns as questions rather than causes. Render a complete, non-identifying brief as an accessible card that keeps the supplied fields and disclaimer.
When to use it
Useful when someone has messy symptom notes and wants clearer language, a factual timeline or a structured brief before a medical appointment. It is preparation support only, not a diagnostic or emergency tool.
Requirements
A remote streamable HTTP endpoint; no package, account, API key or environment variable is declared. The README says the public app can be used without a Juno account. Each tool requires explicit consent for transient processing.
Before you install
The tools are explicitly out of scope for PHI, diagnosis and treatment advice, and the README warns against adding information you would not want handled by the service. Submitted text is processed in memory and not intentionally persisted, but it still leaves the user's machine. For urgent or life-threatening symptoms, contact emergency services or a clinician.

Installation

In SourceWeft

  1. Open Juno Open Health Tools in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.MarshallBear1%2Fjuno-open-health-tools/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

README

Juno Open Health Tools

[DOI]

Free, privacy-conscious tools for turning messy symptom notes into a clearer appointment conversation.

This repository includes:

  • an open JSON Schema and CSV format for a portable symptom diary;
  • synthetic examples (no real patient data);
  • an importable Notion appointment-preparation workspace;
  • a printable, Canva-importable appointment-preparation pack;
  • a local-first Chrome/Edge appointment-prep extension;
  • a Juno Health Tools MCP app for ChatGPT and Codex;
  • a combined four-skill and five-tool OpenAI plugin package with explicit consent and privacy boundaries.
  • a production-derived React Native Skia tutorial for compressing images to a strict byte budget.

Safety and privacy

These materials help people organise information. They do not diagnose, recommend treatment, replace a clinician, or provide emergency care. The examples are synthetic. The MCP tools process submitted text in memory and do not intentionally persist it. Avoid adding information you would not want handled by the service or workspace where you use a template.

If symptoms may be urgent or life-threatening, contact local emergency services or an appropriate clinician.

Quick starts

Notion

Duplicate the free public Juno Appointment Prep template, or import the files in templates/notion into a new private Notion page.

Printable / Canva

Use the PDF in output/pdf/ as-is, or upload the layered PowerPoint in templates/canva to Canva for a more editable personal copy. The source generators are in scripts/.

Chrome / Edge extension

Use the source in extension, or download the store-ready ZIP from the latest GitHub release. It saves short changes, timeline points, daily-life impacts, and questions in local browser storage, then creates a copyable appointment plan. It makes no remote requests and requires only the browser storage permission.

MCP app

Try the public Juno Health Tools app, or read the endpoint documentation in app/README.md. Local development:

bash
cd appnpm installnpm testnpm run dev

The public plugin source is in plugins/juno-health-tools, with submission and reviewer materials in submissions/openai-plugin-2026.md.

The remote server is published as io.github.MarshallBear1/juno-open-health-tools in the official MCP Registry.

Engineering notes

Open symptom diary standard

The schema is intentionally small and patient-controlled. It captures observations rather than asserting diagnoses or causal relationships. See schema/README.md.

Engineering tutorials

Citation

If you use or adapt these resources in research, education, or community support, cite the versioned Zenodo release listed in CITATION.cff.

Version 1.3.0 is permanently archived at doi:10.5281/zenodo.21730086. Earlier releases remain available in the Zenodo version history.

The public source history is independently preserved by Software Heritage as swh:1:snp:dff7fdc223846efafa269f3dbf17e7d3fecf78bf.

Machine-readable software metadata is available in codemeta.json for research catalogues and automated indexing systems.

Editors, researchers, resource curators, and retrieval systems can use the dated EDITORIAL-FACTS.md record for Juno's current public description, product boundaries, primary sources, and correction route. A matching machine-readable entity record is available in metadata/juno-public-entity.json. Neither file is independent evidence of clinical effectiveness.

Further reading

The Medium guide, “A better way to prepare for a health appointment when your symptoms are messy”, explains the patient problem these resources are designed to address.

About Juno

Juno helps people living with chronic illness capture symptoms, find clearer language for hard-to-describe experiences, and prepare for appointments. This open repository is usable without a Juno account.

Contributing

Small, evidence-aware contributions are welcome. Read CONTRIBUTING.md for setup, testing, and review expectations. Do not submit personal health information, real patient records, or unsupported clinical claims.

Report suspected vulnerabilities through the private process in SECURITY.md, not through a public issue.

License

MIT. See LICENSE.

Source: README.md at commit ba716d6

Tools

5

find_symptom_words

Find symptom words

Organises a non-identifying, user-authored sensation description into neutral sensation, timing, pattern and impact vocabulary. Requires explicit consent for transient processing. PHI and diagnostic inference are outside its scope.

ParametersimpacttimingbodyAreadescriptionrequiredconsentConfirmedrequired

build_health_timeline

Build health timeline

Sorts non-identifying, user-authored observations into a factual chronology while preserving supplied dates and uncertainty. Requires explicit consent for transient processing. PHI and diagnosis are outside its scope.

ParametersobservationsrequiredconsentConfirmedrequired

prepare_appointment_brief

Prepare appointment brief

Structures non-identifying goals, changes, impacts, user-stated medicines and questions into an appointment brief. Requires explicit consent for transient processing. PHI, diagnosis and treatment advice are outside its scope.

ParameterschangesimpactsmainGoalrequiredmedicinesquestionsdetailsToBringconsentConfirmedrequired

reflect_on_flare

Reflect on a flare

Structures non-identifying before, during and recovery observations, presenting suspected patterns as questions rather than causes. Requires explicit consent for transient processing. PHI is outside its scope.

ParametersduringrecoveryAfterbaselineBeforeconsentConfirmedrequiredpossiblePatterns

render_appointment_brief

Render appointment brief

Renders a supplied, complete, non-identifying appointment brief as an accessible card. Requires explicit consent for transient processing. Preserves the supplied fields and disclaimer; PHI is outside its scope.

ParameterschangesrequiredimpactsrequiredmainGoalrequiredmedicinesrequiredquestionsrequireddisclaimerrequireddetailsToBringrequiredconsentConfirmedrequired

Version history

1
  1. v1.1.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts