PlugWiki
Mirobody logo

Mirobody MCP Server: Turn Lab Results into Standard Medical Codes

OfficialLocal
GetPyPImirobodythetahealth/mirobody

Lets Claude, Cursor and other assistants turn lab results and symptoms into standard medical codes, offline.

Mirobody is an open-source health record project. Its MCP server is a small offline part of it. It maps lab names and units to LOINC and UCUM, and symptoms and diagnoses to ICPC-3, using vocabularies inside the package.

It runs on your computer with uv and Python 3.12. It reads no health record and needs no API key for the five vocabulary tools. The sixth, standardize_report, reads a document with an AI model and needs extra setup. The full Mirobody app has its own, larger MCP link for your own record.

Good for

  • Health-data developers who need LOINC and UCUM mapping
  • People comparing lab results printed in different units or languages
  • Researchers coding symptoms and diagnoses to ICPC-3

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Mirobody MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the Mirobody MCP server to Claude Code. Run this command:
    
    claude mcp add mirobody -- uvx --python 3.12 mirobody mcp
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires uv (Python), Python 3.12+.

Read-only mode: All tools are read-only. Skip standardize_report if you do not want documents sent to a model provider.

The command needs the mcp argument and Python 3.12, which the MCP Registry entry also uses. standardize_report additionally needs the mirobody[parse] extra and a model provider key; the other tools work offline without a key.

Built from the package data we hold. Not yet tested by us.

Tools

  • Codes lab readings

    Turns lab or vital-sign readings as printed, in any language, into standard FHIR records with a LOINC code and a unit. The unit helps pick the code, and up to 200 readings go in one call.

    Try: “Code this reading: LDL cholesterol 3.2 mmol/L.”

    Read · standardize_reading

  • Classifies a symptom or diagnosis

    Places a complaint or a diagnosis in a person's own words on the ICPC-3 classification. You say whether it is a symptom or a condition, and unplaced words are returned without a code.

    Try: “Classify "sore throat" as a symptom.”

    Read · standardize_complaint

  • Reads a lab report file

    Reads a lab report as PDF, image, spreadsheet or text and returns every reading as a coded record. It sends the document to the model provider you configured, so it needs the parse extra and a model key.

    Try: “Standardize the lab report at /Users/me/labs/june.pdf.”

    Files · standardize_report

  • Looks up LOINC codes by name

    Looks up LOINC codes for up to 200 test names. A panel name returns the panel code, and a whole family of tests such as a lipid panel is refused.

    Try: “Find the LOINC code for 血红蛋白.”

    Read · resolve_indicator

  • Normalizes units

    Rewrites units as printed, such as mg/dL or 毫摩尔每升, into the standard UCUM form and their measurement family. An empty result means the unit is not recognized.

    Try: “Normalize these units: mg/dL, 次/分.”

    Read · normalize_unit

  • Converts a value between units

    Converts one value from one unit to another. Moving between mass and molar concentration needs the LOINC code, and a null answer means the units measure different things.

    Try: “Convert 193 mg/dL of total cholesterol to mmol/L.”

    Read · convert_unit

Read from the source code

Permissions

medium risk · 2 things to watch

Medium risk

It only reads, and five of six tools run offline over the package vocabularies. standardize_report sends a lab report to your configured AI model provider, so avoid it for documents you do not want to share.

What it can do

Watch out for

  • standardize_report sends your document to an AI model provider

    It reads a lab report file and sends it to the model provider you configured. Skip that tool for sensitive documents, or use a provider you trust. github.com

  • standardize_report can read any local file path you give it

    It takes a local path readable by the server. Name only the report you mean to share. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyAll six tools are marked read-only in the code.
Talks tostandardize_report sends the report to the model provider you configure; the module docs say the other tools use no network
Sign-in and keysNo credentials for the vocabulary tools. standardize_report needs the parse extra and a model provider key.

Questions

Is the Mirobody MCP server official?

Yes. It ships inside the thetahealth/mirobody project itself, as the mirobody mcp command, and is listed in the official MCP Registry.

Does it need an API key?

No, not for the five vocabulary tools. Only standardize_report needs the parse extra and a key for a model provider.

Does it read my health record?

No. The offline server reads no database or user record, only the vocabularies in the package. The full Mirobody app has a separate MCP link for your own record.

What does it need installed?

It needs uv and Python 3.12 or later. The install box uses uvx with Python 3.12 and the mcp subcommand, which a plain package name would leave out.

How is it different from the full Mirobody app MCP link?

The README says the full stack serves seven tools scoped to the signed-in person: four read your record and three resolve names and units. This offline server serves the vocabulary tools without a database.

What if it cannot find a code?

It returns the reading without a code and says why. The server instructions tell the assistant to report it as unknown rather than guess.

Information

updated Nov 2, 2026

Publisher
Official
Package
mirobody
Registry
PyPI
Transport
stdio
Version
1.5.9
License
Apache-2.0
Last commit
Oct 31, 2026
Open issues
3
Listed in
Official MCP registry

WebsiteGitHubPyPIOfficial MCP RegistryChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 4
  1. quickstart.md · github.com
  2. README.md · github.com
  3. stdio.py · github.com
  4. server.json · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.