medlineplus-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@medlineplus-mcp look up metformin for patient education"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MedlinePlus MCP
Open-source Model Context Protocol server for MedlinePlus Connect, the U.S. National Library of Medicine service for linking clinical codes and medication names to patient-friendly health information.
This server gives an AI agent narrow tools for looking up public MedlinePlus education links. It is intentionally not a medical-record server and does not store patient data.
Why
Agents working near health records need trustworthy reference material, but they should not invent medication side effects, lab explanations, or condition summaries from memory.
medlineplus-mcp keeps the privacy boundary simple:
Send generic lookup terms or codes to MedlinePlus, such as
metformin, an RXCUI, an NDC, a LOINC code, an ICD-10-CM code, a CPT code, or a SNOMED CT code.Keep private chart context local in your own agent or application.
Merge public education links with private patient context only after the lookup result comes back.
Related MCP server: mcp-medlineplus
Tools
lookup_medication
Look up medication education links using:
name: English medication name fallback, such asmetforminrxcui: RxNorm Concept Unique Identifierndc: National Drug Codelanguage:enores
Spanish medication responses generally require RXCUI or NDC.
lookup_diagnosis
Look up diagnosis/problem education links using:
code: ICD-10-CM, ICD-9-CM, or SNOMED CT codecodeSystem:icd10cm,icd9cm, orsnomedctname: optional display namelanguage:enores
lookup_lab_test
Look up lab-test education links using:
loinc: LOINC codename: optional display namelanguage:enores
lookup_procedure
Look up procedure education links using:
code: CPT or SNOMED CT codecodeSystem:cptorsnomedctname: optional display namelanguage:enores
medlineplus_connect
Low-level escape hatch for supported MedlinePlus Connect request types.
Install
git clone https://github.com/chrisvo/medlineplus-mcp.git
cd medlineplus-mcp
npm install
npm testRun
npm startExample MCP config:
{
"mcpServers": {
"medlineplus": {
"command": "node",
"args": ["/absolute/path/to/medlineplus-mcp/src/server.mjs"],
"cwd": "/absolute/path/to/medlineplus-mcp",
"env": {
"MEDLINEPLUS_CACHE_TTL_MS": "43200000"
}
}
}
}MEDLINEPLUS_CACHE_TTL_MS defaults to 12 hours.
MEDLINEPLUS_CACHE_DIR defaults to .cache/medlineplus-mcp; set it to off to disable persistent disk caching.
Caching
The server uses two cache layers:
in-memory cache for repeated lookups during the current process,
filesystem cache so repeated lookups survive process restarts.
By default cache files are written under .cache/medlineplus-mcp/ in the server working directory. Cache keys are SHA-256 hashes of the MedlinePlus Connect request URL, and cached payloads contain only the public response from MedlinePlus plus the generic lookup request.
For a different cache folder:
MEDLINEPLUS_CACHE_DIR=/var/cache/medlineplus-mcp npm startTo disable disk caching:
MEDLINEPLUS_CACHE_DIR=off npm startOutput
Tool responses are JSON text payloads:
{
"request": {
"type": "drug",
"codeSystem": "ndc",
"code": "",
"name": "metformin",
"language": "en"
},
"query_url": "https://connect.medlineplus.gov/service?...",
"attribution": "U.S. National Library of Medicine",
"updated": "2026-07-18T03:05:36Z",
"total_results": 1,
"entries": [
{
"title": "Metformin",
"url": "https://medlineplus.gov/druginfo/meds/a696005.html",
"summary": "",
"source": "American Society of Health-System Pharmacists, Inc."
}
]
}Privacy
Do not send private chart notes, diagnoses, full medication administration records, names, MRNs, dates of birth, or free-form patient narratives to this server unless you are intentionally sending them to MedlinePlus Connect.
Prefer generic lookups:
Good:
metforminGood:
rivaroxabanGood:
4548-4for a LOINC lookupBad: an entire hospital progress note
Acceptable Use
MedlinePlus says Connect requests should stay under 100 requests per minute per IP address and recommends caching results for 12-24 hours. This server includes in-memory and disk caching by request URL.
See the official docs:
Medical Safety
MedlinePlus content is patient education, not a clinical decision engine. Agents using this MCP should:
cite returned MedlinePlus links,
separate public general education from patient-specific interpretation,
avoid telling users to stop, start, or change medications,
suggest questions for the care team when private clinical context matters.
License
MIT
Available Tools
5 toolslookup_diagnosisA
Look up MedlinePlus health-topic links for ICD-10-CM, ICD-9-CM, or SNOMED CT diagnosis/problem codes.
Inputs: code (required), name, language, codeSystem.
lookup_lab_testA
Look up MedlinePlus lab-test information using a LOINC code.
Inputs: loinc (required), name, language.
lookup_medicationA
Look up medication education links from MedlinePlus Connect using RXCUI, NDC, or an English medication name.
Inputs: ndc, name, rxcui, language.
lookup_procedureA
Look up MedlinePlus information for CPT or SNOMED CT procedure codes.
Inputs: code (required), name, language, codeSystem.
medlineplus_connectC
Low-level MedlinePlus Connect lookup for supported type/code-system combinations.
Inputs: type (required), codeSystem (required), code, name, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
The four specific lookup tools (medication, diagnosis, lab test, procedure) have clearly distinct purposes. However, medlineplus_connect is a low-level utility that overlaps with all of them, potentially causing confusion if an agent chooses it over the more specific tool.
Four tools use a consistent 'lookup_' prefix, but medlineplus_connect breaks this pattern with a different naming style. The inconsistency is noticeable but not chaotic.
Five tools is a reasonable number for the domain, covering the main clinical code systems (RXCUI, ICD, LOINC, CPT, SNOMED). The count is not excessive and fits the scope well.
The tools cover the major MedlinePlus lookup categories (medication, diagnosis, lab, procedure). The general medlineplus_connect tool fills potential gaps, though a dedicated health-topic search tool might be missing.
Maintenance
Related MCP Connectors
Diagnoses, drugs & lab codes: ICD-11, LOINC, RxNorm, MeSH, ATC, CID-10. 33 tools, MIT.
Connect AI clients to biomedical data and tools.
Plain-language MedlinePlus health terms and a MyChart check for family caregivers. No PHI.
Telehealth support for Claude, Codex and Cursor: investigate cases and connect your tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real-time access to medical data including drug interactions, ICD-10 codes, FDA adverse event reports, and clinical guidelines. It enables LLMs to query databases like openFDA, PubMed, and CMS for pharmaceutical and clinical information.1MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to MedlinePlus consumer health information from NIH, enabling free-text search across health topics.292 npmMIT
- FlicenseBqualityDmaintenanceEnables AI agents to query free biomedical and pharmaceutical APIs for clinical trials, drug data, molecular structures, adverse events, and research literature.14-
- FlicenseNot gradedqualityDmaintenanceProvides medical symptom extraction, differential diagnosis generation, PubMed literature search, and abstract summarization tools for LLM agents.-