medlineplus-mcp
Provides tools to look up patient-friendly health education links from MedlinePlus Connect using clinical codes or medication names, enabling AI agents to retrieve trustworthy reference material without accessing private health records.
README
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.
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 test
Run
npm start
Example 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 start
To disable disk caching:
MEDLINEPLUS_CACHE_DIR=off npm start
Output
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:
metformin - Good:
rivaroxaban - Good:
4548-4for a LOINC lookup - Bad: 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:
- MedlinePlus Connect
- MedlinePlus Connect Web Service
- Technical Information
- MedlinePlus for Developers
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.