Open-source personal AI assistant and Agent Harness that plans tasks, runs tools and skills, and keeps memory across web and IM channels.
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
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
For the full app locally with Docker, clone the repository
git clone --depth 1 https://github.com/thetahealth/mirobody.git && cd mirobody - 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
Self-hostable AI answering engine that searches the web via SearxNG and cites sources, working with local LLMs through Ollama or cloud providers.
Official Python SDK for building Model Context Protocol servers and clients that connect LLM applications to tools, data and prompts.
An MCP server that gives AI assistants like Claude and Cursor documentation, properties and operations for n8n workflow nodes so they can build and validate workflows.
The official TypeScript SDK for building Model Context Protocol servers and clients that give LLM applications standardized context.
An MCP server that connects AI agents to Exa for web search, page content fetching, and multi-step research.