Prototype · This site is a prototype showing 100 real servers from the official registry, not all of them yet.
PopNx MCPMCP servers for people who use AI · explained in plain words

Mirobody

by thetahealthversion 1.5.10i★ 1,408iRuns on your computer
Registry nameai.thetahealth/mirobody

Overview

Description from the maker (original English)

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Clinics & health

Install

Pick the AI app you use, then copy the settings.

You need

  • PyPIPython’s uv installed (for the uvx command)

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "mirobody": {
      "command": "uvx",
      "args": [
        "mirobody",
        "mcp"
      ]
    }
  }
}

Run this in your terminal

claude mcp add mirobody -- uvx mirobody mcp

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "mirobody": {
      "command": "uvx",
      "args": [
        "mirobody",
        "mcp"
      ]
    }
  }
}

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "mirobody": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mirobody",
        "mcp"
      ]
    }
  }
}

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 5, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain thetahealth.ai (the registry checks domain ownership)

  • ✓ Pass

    Still maintained

    Code last changed today

  • ✓ Pass

    Has a licence

    Uses Apache-2.0

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Needs the server’s tool list first; this check starts in the next step

Compared with others in Clinics & healthi

  • More stars than 100% of the other 3 servers in this category
  • Published to the registry more recently than 100% of the other 3 servers in this category
  • Basic checks equal to or better than 100% of the other 3 servers in this category

Compared only with servers in this prototype, not the whole registry.

Common questions

Is Mirobody safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed today, and the latest version (1.5.10) reached the registry 4 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: FHIR MCP Server, Google Health MCP, Langcare MCP FHIR

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications

Runs on your computer★ 137Apache-2.0Updated 7 days ago

Google Health MCP

by davidmosiah

Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents

Runs on your computer★ 79MITUpdated 4 months ago

An MCP FHIR server written in Go for EMR systems like Epic and Cerner

Runs on your computer★ 70MITUpdated 9 months ago

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Mirobody

Mirror your body in data.

One standard, every source, one complete picture of you — building a lasting record to understand where your health is going.

This open-source edition keeps that record on your own machine: lab reports, wearables and genetic files flow into it, and your AI agent can query it over MCP.

English · [中文](README.zh-CN.md) · [日本語](README.ja.md)

[▶ Live demo](https://chat.mirobody.ai/demo?ref=github-readme&lang=en) · [Try one command](#try-the-engine-with-one-command) · [Open in Codespaces](#try-the-full-app-in-codespaces) · [100% local](#run-everything-100-locally)

Three reports, three names for the same test. One trend, with the file behind every number.

Choose where to start

You want toStart hereWhat you need
Standardize names and units, in a terminal or inside your AI agentOne commanduv; no model or API key
Try the full app in your browserGitHub CodespacesA GitHub account and your own model API key
Keep the app, models and records on your machine100% local with DockerDocker with Compose; 16 GB memory; no API key
Keep the app and records on your machine, without DockerNo DockerDebian or Ubuntu; PostgreSQL 16; Python 3.12; your own model API key
Use it on your own records with nothing to runTry Mirobody in Theta Web, or in the Theta mobile appAn account

Try the engine with one command

With uv installed, paste this into your terminal:

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

No repository clone, Docker, model or API key. uv prepares Python and the package for you; the first run needs a network connection to download them. The resolver then works offline from the bundled vocabulary.

血红蛋白 and ヘモグロビン both resolve to 718-7. 血脂 stays unresolved: it names a category, not one test. The same engine standardizes names and units across the full app.

Give the same engine to your AI agent. In Claude Code:

claude mcp add mirobody -- uvx --python 3.12 mirobody mcp

Your agent can then standardize any name, reading, unit or complaint you paste, on your machine and without a key. Reading a whole report also needs mirobody[parse] and a model key. Other MCP clients take the same command.

→ Use the engine from Python or MCP

Try the full app in Codespaces

Run the web app in your browser with your own model API key. GitHub prepares the environment; you do not need to install Docker or Python on your computer.

  1. Create the codespace and wait for the automatic setup to finish in its terminal. It starts the app, Postgres, the worker and the synthetic demo data.
  2. Open the setup link printed in the terminal and enter your own model API key: OpenRouter, OpenAI, Gemini, Anthropic, DeepSeek, DashScope, or any OpenAI-compatible gateway. The key is saved only after a real request succeeds. The forwarded app port is private by default.
  3. Sign in as you@mirobody.ai, code 111111, on the Email code tab. Ask "How has my cholesterol changed?" The demo holds 2,019 readings across your record and mom@mirobody.ai's, shared with you view-only.
  4. Upload a synthetic sample from demo/upload/ on the Data page to see a new report join the record, or switch to mom's record and ask again.

The app and its records run in GitHub's cloud; the model service receives the documents and questions it processes. Use the included synthetic data to explore. Codespaces has usage limits and billing; model usage is billed by your model provider. Stop the codespace when you finish. For complete control on your own machine, use the local route below.

Run everything 100% locally

The app, records and models all run on your own machine. No model API key needed. Docker with Compose starts the stack and llama.cpp, with a small answering model and a document reader:

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

COMPOSE_PROFILES=local-cpu ./deploy.sh

Allow 16 GB of memory, at least 8 GB of it for Docker. No GPU is required; on Windows, run the commands in a WSL 2 terminal. The first start needs a network connection to download container images and model weights. If the registry is not reachable from your network, deploy.sh says so and retries through a mirror; DOCKER_MIRROR in .env names your own. After those downloads, document reading, standardization and answers run locally. CPU answers can take minutes; Mac, NVIDIA and Windows options explain how to use your GPU.

Open the app link the script prints. The local models are already selected; sign in with the same demo account above, ask a question or upload a sample. Which model to choose compares the local options.

Prefer Docker with a cloud model? Run ./deploy.sh without a local model profile, then paste your own model key into the printed setup link. The app and records stay on your host; the model service processes your documents and questions.

Chat calculations take the original queried data directly. A cloud model's code runs as JavaScript inside the app, with nothing to set up; a model on your own hardware computes in Python in a local Docker container when the app can reach a Docker daemon. Setup and data flow cover both. Query views provide their built-in statistics without either.

→ Self-host guide · Walkthrough · Deploy on a server

Run without Docker

No container, and nothing pulled from a registry. On Debian or Ubuntu, PostgreSQL 16 with pgvector comes from the distribution's own packages and the app runs straight from the checkout. It is the same install the Codespaces path performs:

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

scripts/install_native.sh # PostgreSQL, pgvector, the Python package, a .env scripts/start_native.sh # the worker and the app on port 18060

Open the link it prints and sign in as you@mirobody.ai, code 111111: the demo record is seeded already. A model key from the printed setup link adds document extraction and answers. install_native.sh installs system packages with sudo and writes one sudoers rule for the postgres account, and says so as it runs.

The local models belong to the Docker path, so this one answers through a model service. Everything else matches the row above it in what stays on your machine: the records live in the PostgreSQL you just installed, and a name to a code never leaves the machine.

What you can do

  • Compare reports across labs. PDFs, phone photos and spreadsheets, 23 file types in all, land in one history. Every reading links to the page it was read from.
  • Bring in everyday data. Import an Apple Health export, or connect Garmin, Oura and Whoop.
  • Look after your family. Invite someone who shares their own record, or keep one for a parent who never signs in.
  • Write a health journal. headache since last night, BP 150/95, no fever becomes a coded complaint and two coded readings; "no fever" is not logged as a fever.
  • Explore genetic data. Upload a 23andMe, AncestryDNA or WeGene export, or a VCF, and ask by rsID, gene or region. Drug questions get the matching CPIC guideline coverage, never a change of medication.
  • Use your own agent. Connect Claude Code, Codex or Cursor over MCP, or embed the offline engine in Python.

Mirobody does not diagnose or prescribe, and its answers are not medical advice.

Collect · Standardize · Agent

StageWhat it doesWhere
① CollectLab reports, devices, photos, genetic files and journal entries come in from every source; each reading keeps the file it came from.collect/
② StandardizeA1c, HbA1c and Glycated Hemoglobin resolve to one code, units to one standard, offline: readings from scattered sources land as clean rows in one table. A name it cannot place stays unresolved.engine/ · standardize/
③ AgentAnswers come from tools that query that table, not from the model's memory: trends, comparisons across labs and devices, a chart. Every number traces to its file, so you can check it instead of taking it on trust.agent/

The model reads documents and reasons; the codes and units come from vocabularies bundled with the package, never from the model. How a reading is standardized, step by step · How a reading moves through the pipeline.

Care for your family

<img src="docs/images/care-circle-sharing.svg" alt="Invite a family member; they choose whether you may view or edit their own

Only the beginning is shown; read the rest in the repo

Ask PopNx