Skip to main content
Glama
lab-units-mcp
by Islam0953

lab-units-mcp

An MCP server that converts clinical blood-test results between conventional and SI units, and resolves lab-marker names — including abbreviations and non-English labels — to a canonical analyte.

I built the first version of this while wiring up a pipeline that ingested blood panels from several different labs. Half of them reported glucose in mg/dL and half in mmol/L, HbA1c came back as either a percentage or mmol/mol, and the marker names were inconsistent across providers and languages. The conversion factors are not complicated, but keeping them correct and in one place — with the name-matching that has to happen before you can convert anything — was worth pulling out into a small, testable tool. This is that tool, exposed over MCP so an assistant can call it directly.

It is a units-and-naming utility. It does not interpret results, does not carry reference ranges, and is not medical advice.

Tools

Tool

What it does

convert_lab_value

Convert a value between two units of the same analyte (e.g. glucose mg/dL ↔ mmol/L, HbA1c % ↔ mmol/mol).

identify_analyte

Resolve a printed label (ЛПНП, A1c, glu) to a canonical analyte and its available units.

list_analytes

List every supported analyte with its canonical unit and unit options.

The analyte can be passed by name or by a common synonym in English or Russian, so glucose, Glucose and глюкоза all resolve to the same marker.

Related MCP server: NIH Research MCP Demo

Supported analytes

Glucose, total/HDL/LDL cholesterol, triglycerides, creatinine, urea, total bilirubin, uric acid, calcium, iron, magnesium, phosphate, haemoglobin, HbA1c, albumin, total protein, C-reactive protein, testosterone, estradiol, cortisol, free T4, free T3, vitamin D (25-OH), vitamin B12, folate, insulin, sodium, potassium and chloride.

Conversion factors are the standard molar-mass-derived values used across clinical laboratories. HbA1c uses the NGSP ↔ IFCC relationship (mmol/mol = (% − 2.152) × 10.931).

Install

npm install -g lab-units-mcp

Or run it without installing:

npx lab-units-mcp

Use it with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "lab-units": {
      "command": "npx",
      "args": ["-y", "lab-units-mcp"]
    }
  }
}

There are no API keys and no network calls — everything runs locally.

Use it with the Claude Code CLI

claude mcp add lab-units -- npx -y lab-units-mcp

Examples

convert_lab_value  analyte="glucose"  value=99  from_unit="mg/dL"
  -> 99 mg/dL = 5.494 mmol/L (Glucose)

convert_lab_value  analyte="HbA1c"  value=5.7  from_unit="%"  to_unit="mmol/mol"
  -> 5.7 % = 38.79 mmol/mol (HbA1c)

identify_analyte   label="ЛПНП"
  -> ЛПНП -> LDL cholesterol (key: ldl_cholesterol); units: mmol/L, mg/dL

Develop

npm install
npm run build
npm start

License

MIT

Available Tools

3 tools
convert_lab_valueConvert a lab value between unitsA

Convert a single blood-chemistry result between conventional and SI units (e.g. glucose mg/dL <-> mmol/L, HbA1c % <-> mmol/mol). The analyte can be given by name or a common synonym in English or Russian. If to_unit is omitted and the analyte has exactly two units, it converts to the other one.

Inputs: value (required), analyte (required), from_unit (required), to_unit.

identify_analyteIdentify a lab marker from its labelA

Resolve a lab-report label — including an abbreviation or a non-English name — to a canonical analyte, and report the units it can be expressed in. Useful for normalising results parsed from labs that use local naming conventions.

Inputs: label (required).

list_analytesList supported analytesA

List every analyte this server can convert, with its display name, canonical unit and the full set of units available for conversion.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a distinct purpose: convert_lab_value performs conversions, identify_analyte resolves labels to canonical analytes, and list_analytes enumerates supported analytes. There is no overlap or ambiguity between them.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern: convert_lab_value, identify_analyte, list_analytes. The verbs and nouns are specific and predictable, making the API intuitive.

    Tool Count5/5

    Three tools is an ideal size for a focused unit conversion server. Each tool adds essential functionality without redundancy or bloat, and the count is well within the recommended 3-15 range.

    Completeness5/5

    The server provides a complete workflow: list analytes to discover what is available, identify an analyte from a lab report, and convert values between units. There are no obvious missing operations for its stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables drug terminology standardization and name normalization via RxNav API, supporting drug name search, generic/brand name conversion, ATC classification, and ingredient lookup.
      6
      GPL 3.0
    • F
      license
      A
      quality
      D
      maintenance
      Enables interaction with synthetic NIH-style clinical research data through tools for searching publications, querying patient metadata, analyzing AAA measurements, and retrieving protocol guidance.
      5
      -
    • A
      license
      A
      quality
      C
      maintenance
      Converts messy metabolite names into standard database identifiers (KEGG, HMDB, ChEBI, PubChem, InChIKey) and performs crosswalking to Mouse-GEM for metabolic model input, with deterministic tools and an LLM reasoning layer for identity disambiguation.
      20
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to analyze synthetic biomarker panels via Phi Longevity's PRISM clinical recommendation engine, providing tiered, guideline-cited recommendations. Also offers tools to list supported biomarkers and retrieve methodology.
      14
      853 npm
      Apache 2.0