You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/blog/skillbench-biomcp-skills.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Healthcare Agents Need Skills, Not Just Models
2
2
3
-
*Curated skills lift healthcare agent pass rates from 34% to 86%. BioMCP ships one — optimized for 30+ biomedical sources across 12 entity types.*
3
+
*Curated skills lift healthcare agent pass rates from 34% to 86%. BioMCP ships one — optimized for 30+ biomedical sources across the current public entity surface.*
4
4
5
5

6
6
@@ -28,13 +28,14 @@ But a fast tool without domain knowledge is just a fast way to get lost.
28
28
29
29
BioMCP ships an embedded skill — a `SKILL.md` with procedural guidance that teaches agents how to actually do biomedical work. Not what the APIs return, but *how to investigate* a variant, *how to profile* a drug's safety, *how to trace* a resistance mechanism across genes, drugs, trials, and literature.
Copy file name to clipboardExpand all lines: docs/blog/we-deleted-35-tools.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ They're not wrong. We learned the same lesson the hard way.
20
20
21
21
## The Problem
22
22
23
-
BioMCP connects AI agents to 20+ biomedical databases — PubMed, ClinVar, ClinicalTrials.gov, gnomAD, OpenFDA, and more — covering 12 entity types from genes and variants to clinical trials and adverse events. The original Python version worked, but it was fighting the agent at every turn.
23
+
BioMCP connects AI agents to 30+ biomedical data sources — PubMed, ClinVar, ClinicalTrials.gov, gnomAD, OpenFDA, NCBI GTR, WHO IVD, and more — across a public entity surface that spans genes, variants, diagnostics, clinical trials, drugs, adverse events, and literature. The original Python version worked, but it was fighting the agent at every turn.
24
24
25
25
**36 tools ate the context window.** Every MCP connection loaded all tool descriptions — `article_searcher`, `trial_getter`, `variant_searcher`, and 33 more — consuming ~16,600 tokens before a single query. That's 8% of a 200K context window gone on tool signatures alone.
description: "Use BioMCP to search GTR-backed genetic tests, fetch source-native diagnostic cards, and manage the local NCBI Genetic Testing Registry bundle."
4
+
---
5
+
6
+
# NCBI Genetic Testing Registry
7
+
8
+
NCBI Genetic Testing Registry (GTR) is the right source when you need gene-centric genetic tests, laboratory offerings, testing methods, or condition-linked diagnostics. In BioMCP, GTR is the local-runtime backbone for the multi-source `diagnostic` entity: `search diagnostic --source gtr` stays on the NCBI bundle, while the default `--source all` route can merge GTR rows with WHO IVD rows and keeps source provenance visible.
9
+
10
+
BioMCP auto-downloads the GTR `test_version.gz` and `test_condition_gene.txt` bulk exports into `BIOMCP_GTR_DIR` or the default platform data directory on first diagnostic use, refreshes stale data after 7 days, reports `GTR local data (<root>)` in full health output, and exposes `biomcp gtr sync` for forced refreshes.
11
+
12
+
## What BioMCP exposes
13
+
14
+
| Command | What BioMCP gets from this source | Integration note |
15
+
|---|---|---|
16
+
|`search diagnostic --gene <symbol> --source gtr`| Gene-linked genetic test rows | Uses the local GTR condition/gene relation bundle for gene-centric lookup |
17
+
|`search diagnostic --disease <name> --source gtr`| Condition-linked GTR diagnostic rows | Applies the same bounded disease phrase matching used by the multi-source diagnostic route |
|`search diagnostic --manufacturer <name> --source gtr`| Laboratory or provider filtered rows | Filters over GTR lab/provider metadata when available |
20
+
|`get diagnostic GTR000006692.3`| Source-native GTR diagnostic summary card | GTR accessions are the detail identifiers |
21
+
|`get diagnostic GTR000006692.3 genes`| Joined gene symbols for the test | JSON keeps the full deduped symbol arrays even when markdown rows are compact |
22
+
|`get diagnostic GTR000006692.3 conditions`| Joined condition names for the test | Preserves GTR condition provenance |
| EMA | EU regulatory, safety, and shortage context for medicines |[EMA](ema.md)|
33
33
| WHO Prequalification | WHO-backed medicine and vaccine prequalification search plus global access checks |[WHO Prequalification](who-prequalification.md)|
34
+
| NCBI Genetic Testing Registry | Gene-centric genetic tests, GTR diagnostic cards, and local bundle lifecycle |[NCBI Genetic Testing Registry](gtr.md)|
34
35
| WHO Prequalified IVD | Infectious-disease diagnostic products, assay formats, and WHO product-card provenance |[WHO Prequalified IVD](who-ivd.md)|
35
36
| CDC CVX/MVX | Vaccine brand-to-antigen bridge for EMA/default lookups and explicit WHO vaccine search |[CDC CVX/MVX](cdc-cvx.md)|
37
+
| MedlinePlus | Plain-language disease/symptom context for `discover` and disease `clinical_features`|[MedlinePlus](medlineplus.md)|
title: "MedlinePlus MCP Tool for Plain-Language Disease Context | BioMCP"
3
+
description: "Use BioMCP to add MedlinePlus plain-language context to discover results and opt-in disease clinical-feature summaries."
4
+
---
5
+
6
+
# MedlinePlus
7
+
8
+
MedlinePlus is the right source when you need plain-language disease or symptom context alongside structured biomedical identifiers. In BioMCP, MedlinePlus supplements `biomcp discover` for disease and symptom-oriented prompts; it is suppressed for gene, drug, pathway, and other flows where consumer-health prose would add noise.
9
+
10
+
MedlinePlus also backs the opt-in `get disease <name_or_id> clinical_features` section. That section surfaces reviewed clinical-summary rows for configured diseases and can fall back to embedded reviewed fixtures when live MedlinePlus search is unavailable.
11
+
12
+
## What BioMCP exposes
13
+
14
+
| Command | What BioMCP gets from this source | Integration note |
15
+
|---|---|---|
16
+
|`biomcp discover <query>`| Plain-language context for disease and symptom queries | Supplemental only; OLS4 remains the required structured-concept backbone |
17
+
|`get disease <name_or_id> clinical_features`| MedlinePlus clinical-summary feature rows | Opt-in disease section that keeps consumer-health context out of default disease cards |
18
+
19
+
## Example commands
20
+
21
+
```bash
22
+
biomcp discover "symptoms of Marfan syndrome"
23
+
```
24
+
25
+
Returns structured discover follow-ups with supplemental MedlinePlus plain-language context when the query resolves as a disease or symptom flow.
26
+
27
+
```bash
28
+
biomcp get disease "uterine leiomyoma" clinical_features
29
+
```
30
+
31
+
Fetches the opt-in MedlinePlus-backed clinical-features section for a configured disease.
32
+
33
+
```bash
34
+
biomcp get disease MONDO:0007947 clinical_features
35
+
```
36
+
37
+
Uses a resolved disease identifier while keeping the MedlinePlus clinical-summary section explicit.
38
+
39
+
## API access
40
+
41
+
No BioMCP API key required. BioMCP uses the public MedlinePlus Search endpoint
42
+
for supplemental discover context and disease clinical-feature summaries, with
43
+
embedded reviewed fixtures as the offline fallback for configured diseases.
44
+
45
+
## Official source
46
+
47
+
[MedlinePlus](https://medlineplus.gov/) is the official NLM consumer-health
48
+
site. BioMCP uses the public [MedlinePlus Search](https://wsearch.nlm.nih.gov/ws/query)
Copy file name to clipboardExpand all lines: docs/sources/semantic-scholar.md
+23-2Lines changed: 23 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,13 +7,13 @@ description: "Use BioMCP to add Semantic Scholar TLDRs, citations, references, a
7
7
8
8
Semantic Scholar matters when you already have the paper and need the graph around it: the TLDR, the follow-up literature, the references it builds on, and the related papers worth checking next. It turns a flat article lookup into a literature-review workflow that an agent can keep extending without losing the thread.
9
9
10
-
In BioMCP, `search article` does not expose `--source semantic-scholar`. Instead, Semantic Scholar is an automatic optional search leg when the filter set is compatible. The dedicated helper commands on this page are the direct reason to come here: `get article <id> tldr`, `article citations`, `article references`, and `article recommendations`.
10
+
In BioMCP, `search article` does not expose `--source semantic-scholar`. Instead, Semantic Scholar is an automatic optional search leg when the filter set is compatible, with shared-pool mode at 1 req/2sec without `S2_API_KEY` and authenticated mode at 1 req/sec with the key. The dedicated helper commands on this page are the direct reason to come here: `get article <id> tldr`, `article citations`, `article references`, and `article recommendations`.
11
11
12
12
## What BioMCP exposes
13
13
14
14
| Command | What BioMCP gets from this source | Integration note |
15
15
|---|---|---|
16
-
|`search article`| Optional compatible search-leg enrichment | Semantic Scholar joins article search automatically when the filter set allows it |
16
+
|`search article`| Optional compatible search-leg enrichment plus source status | Semantic Scholar joins article search automatically when the filter set allows it; `--source semantic-scholar` is not a public source switch|
17
17
|`get article <id> tldr`| TLDR text, influence counts, and related article metadata | Dedicated Semantic Scholar helper |
@@ -49,6 +49,27 @@ Returns a recommendations table with PMID, title, journal, and year columns.
49
49
50
50
Optional `S2_API_KEY` for dedicated quota and higher reliability. Configure it with the [API Keys](../getting-started/api-keys.md) guide and request one from the [Semantic Scholar API page](https://www.semanticscholar.org/product/api).
51
51
52
+
Without `S2_API_KEY`, BioMCP uses the shared unauthenticated pool at
53
+
1 req/2sec. A shared-pool HTTP 429 fails fast with guidance to set the key
54
+
instead of retrying against the same public pool. With `S2_API_KEY`, BioMCP
55
+
sends authenticated requests at 1 req/sec and honors authenticated
56
+
`Retry-After` responses before retrying. Source status and debug-plan output
57
+
report `auth_mode` as `shared_pool` or `authenticated`, but never print the
58
+
secret key or key prefix.
59
+
60
+
## Runtime behavior
61
+
62
+
`search article` exposes Semantic Scholar as an automatic compatible leg rather
63
+
than a user-selectable source flag. Keep using `--source all`, `pubtator`,
64
+
`europepmc`, `pubmed`, or `litsense2` for the public source switch; Semantic
65
+
Scholar joins only when the article filters can support it.
66
+
67
+
JSON search responses can include redacted Semantic Scholar source status under
68
+
`_meta.source_status[]`, and `--debug-plan` mirrors that redacted status in the
69
+
article leg so operators can distinguish `ok`, `degraded`, and `unavailable`
70
+
without exposing credentials. Degradation of the optional Semantic Scholar leg
71
+
should not be read as a PubMed, Europe PMC, or PubTator failure.
72
+
52
73
## Official source
53
74
54
75
[Semantic Scholar](https://www.semanticscholar.org/) is the official literature-graph product behind BioMCP's TLDR and citation helper workflows.
Copy file name to clipboardExpand all lines: docs/troubleshooting.md
+40-1Lines changed: 40 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -314,7 +314,46 @@ vaccine name/brand search when `--product-type vaccine` is set. It does not
314
314
change WHO finished-pharma/API lookups or `get drug`, and pure `--region us`
315
315
searches do not use the CVX root.
316
316
317
-
## 16) Diagnostic local data not available
317
+
## 16) DDInter local data not available
318
+
319
+
Drug interaction commands depend on the local DDInter CSV bundle. BioMCP
320
+
auto-downloads the eight ATC-sliced DDInter files on first use for
321
+
`biomcp drug interactions <name>` and `get drug <name> interactions`, but full
322
+
`biomcp health` is still the right readiness surface when you need to debug the
323
+
local DDInter state:
324
+
325
+
```bash
326
+
biomcp health
327
+
```
328
+
329
+
Interpret the DDInter row like this:
330
+
331
+
-`configured`: `BIOMCP_DDINTER_DIR` is set and all required DDInter CSV files are present
332
+
-`configured (stale)`: `BIOMCP_DDINTER_DIR` is set and complete, but at least one file is older than the 72-hour refresh window
333
+
-`available (default path)`: BioMCP found a complete DDInter bundle in the default platform data directory
334
+
-`available (default path, stale)`: the default-path DDInter bundle is complete but older than the 72-hour refresh window
335
+
-`not configured`: no complete DDInter root was found at the default path, so DDInter-backed interaction rows are currently unavailable but the install is not considered broken
336
+
-`error (missing: ...)`: BioMCP found a partial DDInter root or unreadable file; install the missing files or point `BIOMCP_DDINTER_DIR` at a complete bundle
337
+
338
+
If a refresh fails, retry explicitly with `biomcp ddinter sync`:
339
+
340
+
```bash
341
+
biomcp ddinter sync
342
+
```
343
+
344
+
If you need to override the default path:
345
+
346
+
```bash
347
+
export BIOMCP_DDINTER_DIR="/path/to/ddinter"
348
+
biomcp health
349
+
```
350
+
351
+
Manual preseed remains supported for offline or controlled environments. A
352
+
complete DDInter root must contain the eight public DDInter CSV files downloaded
353
+
from the ATC-sliced DDInter bundle. Empty interaction results stay scoped to the
354
+
current DDInter bundle and do not prove absence of clinical interactions.
355
+
356
+
## 17) Diagnostic local data not available
318
357
319
358
Diagnostic search/get flows depend on two local bundles:
0 commit comments