Repolode
thetahealth

thetahealth/mirobody

A self-hosted AI health data engine that standardizes lab reports, wearable data and genetic files into one traceable record, with an MCP server.

Stars
1,382
Forks
242
Open issues
2
Last commit
yesterday

What is it?

Mirobody collects scattered health data, such as lab report PDFs and photos, Apple Health exports, Garmin, Oura and Whoop data, and 23andMe or VCF genetic files, and maps test names and units to standard codes. The engine resolves different names for the same test, like A1c, HbA1c and Glycated Hemoglobin, to one LOINC code offline, and converts units to UCUM. Each reading keeps a link to the source file and page it came from.

You can run the full web app in GitHub Codespaces with your own model API key, or deploy it with Docker. A Docker profile runs llama.cpp locally so the app, records and models stay on your own machine without an API key. A native install path on Debian or Ubuntu is also documented.

The package can be used on its own via pip for name and unit resolution, and the app exposes seven MCP tools so agents such as Claude Code, Codex or Cursor can query the signed-in person's record.

Key features

  • 01Maps lab test names in multiple languages to one LOINC code, offline.
  • 02Converts units to UCUM with dimensional checks.
  • 03Imports PDFs, photos, spreadsheets and Apple Health exports into one history.
  • 04Links every reading back to its source file and page.
  • 05Runs fully local with Docker and llama.cpp, with no model API key required.
  • 06Exposes MCP tools for querying the signed-in user's record.

Use cases

  • Tracking one health metric, such as cholesterol, across reports from different labs.
  • Consolidating wearable and genetic data alongside medical records in a private, self-hosted store.
  • Giving a coding or chat agent structured access to a personal health record over MCP.
  • Standardizing lab test names and units in a health app or data pipeline using the Python package.

Quick start

  1. 1

    Install uv (see uv's installation guide), then run the resolver with one command

    uvx --python 3.12 mirobody resolve "LDL cholesterol" 血红蛋白 ヘモグロビン "Total Kolesterol" 血脂
  2. 2

    For the full app locally with Docker, clone the repository

    git clone --depth 1 https://github.com/thetahealth/mirobody.git && cd mirobody
  3. 3

    Start the local stack with Docker and the CPU model profile

    COMPOSE_PROFILES=local-cpu ./deploy.sh

Things to know

  • The full local app needs about 16 GB of memory and a network connection for the first download of images and model weights.
  • Local CPU answers can take minutes; no GPU is required but is faster.
  • The no-Docker install path supports Debian or Ubuntu only and needs your own model API key for answers.
  • The codespace route sends documents and questions to your chosen model vendor.

Topics

FAQ

What is mirobody?
A self-hosted AI health data engine that standardizes lab reports, wearable data and genetic files into one traceable record, with an MCP server. Mirobody collects scattered health data, such as lab report PDFs and photos, Apple Health exports, Garmin, Oura and Whoop data, and 23andMe or VCF genetic files, and maps test names and units to standard codes. The engine resolves different names for the same test, like A1c, HbA1c and Glycated Hemoglobin, to one LOINC code offline, and converts units to UCUM. Each reading keeps a link to the source file and page it came from.
Is mirobody free to use? What license does it have?
mirobody is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is mirobody still maintained?
Actively maintained. The last commit to mirobody was on Oct 19, 2026.
What can I use mirobody for?
Tracking one health metric, such as cholesterol, across reports from different labs. Consolidating wearable and genetic data alongside medical records in a private, self-hosted store. Giving a coding or chat agent structured access to a personal health record over MCP. Standardizing lab test names and units in a health app or data pipeline using the Python package.
How do I install mirobody?
Install uv (see uv's installation guide), then run the resolver with one command: uvx --python 3.12 mirobody resolve "LDL cholesterol" 血红蛋白 ヘモグロビン "Total Kolesterol" 血脂 For the full app locally with Docker, clone the repository: git clone --depth 1 https://github.com/thetahealth/mirobody.git && cd mirobody Start the local stack with Docker and the CPU model profile: COMPOSE_PROFILES=local-cpu ./deploy.sh
Where can I get mirobody?
The source code and installation instructions are on GitHub: https://github.com/thetahealth/mirobody

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects