Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
Description from the maker (original English)
Search PubMed and PMC, read full texts, map evidence and build Obsidian knowledge graphs
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
NCBI_API_KEY, NCBI_EMAILValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"pubmed-stream": {
"command": "uvx",
"args": [
"pubmed-stream",
"mcp"
],
"env": {
"NCBI_API_KEY": "your-value",
"NCBI_EMAIL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add pubmed-stream --env NCBI_API_KEY=your-value --env NCBI_EMAIL=your-value -- uvx pubmed-stream mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"pubmed-stream": {
"command": "uvx",
"args": [
"pubmed-stream",
"mcp"
],
"env": {
"NCBI_API_KEY": "your-value",
"NCBI_EMAIL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"pubmed-stream": {
"type": "stdio",
"command": "uvx",
"args": [
"pubmed-stream",
"mcp"
],
"env": {
"NCBI_API_KEY": "your-value",
"NCBI_EMAIL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
NCBI_EMAIL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
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 7, 2026
The registry name was verified with the GitHub account melhzy, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 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.
You need to fill in: NCBI_API_KEY
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).
The GitHub repo last changed –, and the latest version (0.4.4) reached the registry 15 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Mirobody, FHIR MCP Server, Google Health MCP
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
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
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.
pubmed-stream is an open-source Python library and command-line tool that takes a PubMed search to a knowledge graph of the literature. It is built on NCBI's official E-utilities API, works from the command line or Python, and needs nothing beyond requests. AI assistants use it too: it is a plugin for Claude Code and Codex, and a PubMed MCP server for them and Gemini CLI, so you can ask a research question in plain English and get an answer that cites only papers the assistant downloaded and read.
With it you can:
Documentation: [melhzy.github.io/pubmed-stream](https://melhzy.github.io/pubmed-stream/), the tutorials, guides and reference in one searchable website, with every notebook shown with its results.
**A study made with it: the Aβ\*56 retraction impact page**, how a retracted Alzheimer's paper spread through the literature and how much of it language models learned, as an interactive page where every number comes from the study's files; see Studies.
New to programming? Start with tutorial 0, which takes a research question to a map of its literature in an afternoon. Click Open in Colab to run it in your web browser, with nothing to install; you only type your question into one settings cell.
flowchart LR
S["PubMed searches"] -->|"download"| D["Full-text articles metadata, references, text"] K["Key papers"] -->|"neighborhood"| N["Similar, citing and cited papers flagged reviews, retractions, NIH funding"] D --> G["Knowledge graph kg_topic, an Obsidian vault"] N --> G G --> O["Explore, write, refresh"]
pip install pubmed-stream
pubmed-stream search '"gut microbiota"[Title] AND frailty[Title/Abstract]'
pubmed-stream download '"gut microbiota"[Title] AND frailty[Title/Abstract]' --max-results 50 pubmed-stream abstracts '"gut microbiota"[Title] AND frailty[Title/Abstract]' --max-results 200 pubmed-stream list publications --abstracts
pubmed-stream export publications -o frailty.bib
pubmed-stream neighborhood 31319564
pubmed-stream kg "gut microbiome frailty" -q '"gut microbiota"[Title] AND frailty[Title/Abstract]' --seed 31319564
pubmed-stream open kg_gut_microbiome_frailty
ollama pull qwen3.5:4b pubmed-stream review "Is the gut microbiota linked to frailty?" --limit 10 --model qwen3.5:4b --vault kg_gut_microbiome_frailty pubmed-stream review "Is the gut microbiota linked to frailty?" --limit 10 --model claude --vault kg_gut_microbiome_frailty
For automatic first-time Obsidian setup with --register, see Open the graph in Obsidian. That section also explains how to use the updated source if your installed command does not yet support the option.
An AI assistant can do all of the above for you. Install one: Claude Code needs a paid Claude plan, Codex a paid ChatGPT plan, and Gemini CLI only a Google account. These commands need Node.js 22 or later; tutorial 7 shows the other installers and walks through a session.
npm install -g @anthropic-ai/claude-code # Claude Code
npm install -g @openai/codex # Codex npm install -g @google/gemini-cli # Gemini CLI
Then give your assistant pubmed-stream's tools, in one of two ways:
# Claude Code or Codex: install the plugin once, for every folder. It needs uv (https://docs.astral.sh/uv/)
claude plugin install pubmed-stream --marketplace melhzy/pubmed-stream codex plugin marketplace add melhzy/pubmed-stream codex plugin add pubmed-stream@pubmed-stream
mkdir gut_frailty cd gut_frailty pubmed-stream init
Start your assistant in your research folder with claude, codex or gemini. The first time, it asks you to sign in. With init, Claude Code also asks to approve the pubmed-stream server, and Gemini CLI asks whether you trust the folder: say yes to both, or the assistant will not have pubmed-stream's tools. /mcp lists them. Then ask in plain language:
*Is the gut microbiota linked to frailty? Size the search first, download the clinical studies, and summarize the evidence with PMIDs.*
Section 5 compares the plugin and init.
The first steps of the quick start, in Python:
from pubmed_stream import create_kg, get_neighborhood, search_and_download
stats = search_and_download('"gut microbiota"[Title] AND frailty[Title/Abstract]', max_results=50) hood = get_neighborhood("31319564") result = create_kg("gut microbiome frailty", queries=['"gut microbiota"[Title] AND frailty[Title/Abstract]'], seeds=["31319564"]) print(stats.successful, hood.totals, result.kg_dir)
The notebooks in tutorials/ are written for researchers, not programmers. Each follows a real research question. The notebooks have a single Your settings cell for your own question, run in Google Colab with nothing to install, and are saved with their results so you can read them first, on GitHub or on the documentation site; tutorial 7 happens in a terminal, with an AI assistant.
| # | Tutorial | Use case |
|---|---|---|
| 0 | Start here: a new research topic in an afternoon | From a question to a map of its literature: size the field, find the paper everyone cites, build a knowledge graph, read its themes, evidence and gaps, export a reading list |
| 1 | Getting started | Download a search, read the files, choose a format, resume, fetch one known article, rescue a search that finds nothing, read downloads compactly |
| 2 | Designing searches | Measure the size, precision and availability of five versions of one search, and combine words with MeSH headings |
| 3 | A literature-review corpus | Run a keyword list, deduplicate, screen by theme, export to CSV and BibTeX |
| 4 | The evidence around one paper | Map a paper's neighborhood and screen it for retractions |
| 5 | The knowledge graph of a study | Build a graph and explain it with twelve charts and tables |
| 6 | Text mining and RAG preparation | Split articles into sections and chunk them for embeddings |
| 7 | Your literature search with an AI assistant | For medical students and biologists: install Claude Code or Codex, connect it to pubmed-stream's MCP tools with the plugin or pubmed-stream init, choose a model, ask in plain English, check the evidence, keep it in Obsidian,
Only the beginning is shown; read the rest in the repo