Research with BioMCP

SkillFiles & storage

Do biomedical literature and variant research with the BioMCP CLI, and file what you learn about the tool itself as issues in the biomcp repo.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Research with BioMCP skill

What this skill tells your AI

The instructions your AI receives, as published by genomoncology/biomcp in sdlc/skills/biomcp-research/SKILL.md and read by ahel’s review.

biomcp is on PATH; source is repos/biomcp. biomcp list is the command reference, -j/--json for machine-readable output.

Two jobs run together here. Answer the question you were asked, and notice what the tool could not do while answering it. The second is not a distraction — a research session is the only time anyone finds out where the gaps are, and if they are not written down that day they are lost.

The loop

  1. Web search first, breadth. Find out what exists — the paper, the registry entry, the guideline. BioMCP is precise, not exploratory; it answers about things you can already name.
  2. BioMCP for the record. get article <pmid> for the citable metadata and abstract, search article / article citations / article references to walk outward from a seed.
  3. Go to the primary source. If the answer lives in a registry, a database, or a specification, fetch it directly. Quote it.
  4. Prefer practice over prose. When a document contradicts itself, what people actually did settles it better than what the document meant. Say which one you used.

Context discipline

get article <id> fulltext prints a path, not the text. That is deliberate: a paper is tens of kilobytes and dumping it pins that cost into the session for good. Do not reflexively read the whole file back.

Read the abstract from get article <id> first — it answers more questions than you expect. If you must open the cached file, grep it for the term you need, or read a bounded range. Read it whole only when you are genuinely going to use most of it.

Same for --json output. Pipe it through a filter; do not print manifests to the transcript to look at one field.

Verify before you trust it

Cross-entity data is joined from several upstreams and the joins can be wrong. A protein change and a cDNA change on the same line can come from different transcripts. A .xlsx that arrives as text/html is a download placeholder, not a spreadsheet.

Before a fact goes in a deliverable, check it against a second source or against internal consistency. When something looks off, query the upstream directly (MyVariant, Europe PMC, NCBI) to find out whether the defect is BioMCP's or inherited — the answer decides whether it is a bug or a feature request.

Open sources BioMCP does not cover

All keyless, all JSON, all worth knowing:

  • ClinGen CSpec registry — gene-specific classification rules. https://cspec.genome.network/cspec/SequenceVariantInterpretation/id/GN003, and attachments at …/cspec/File/id/<entId>/data using ids found inside the payload.
  • ClinGen Evidence Repository — expert panel assertions with their applied evidence codes and guideline version. https://erepo.genome.network/evrepo/api/classifications?gene=PTEN&matchLimit=500
  • Europe PMC — open-access checks and full text. https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID:<pmid>&resultType=core&format=json
  • gnomAD documentation as source markdown, since the browser is a JavaScript app that WebFetch cannot read: github.com/broadinstitute/gnomad-browser/tree/main/browser/help/topics

Report honestly

A researched negative is a result. "I looked in these three places and it is not published" changes what gets built; a silent gap does not. Say which sources you read, quote the sentence you are relying on, and label inference as inference — especially when you are reasoning from what someone did rather than what they wrote.

Paywalls are findings too. Name the article, say it is paywalled, and say what you could and could not establish without it.

Feeding back: issues in the biomcp repo

Bugs and feature ideas both go in repos/biomcp/sdlc/issues/, one file each, kebab-case filename that reads as a sentence. Feature ideas take a feature- prefix so the two are separable at a glance. Open with an # H1 title and a Severity: line (blocking / should-fix / nice-to-have). The triage skill promotes them to tickets later; that is a conversation with Ian, not something to do here.

They are opposite kinds of claim and want opposite evidence.

A bug says the tool is wrong. Carry the reproduction, the observed output, the correct value, and the root cause if you found it. Trace it into the source and cite file.rs:line. Say whether the defect is BioMCP's or inherited from upstream, because that decides who fixes it. Diagnose before you file — an issue that ends at "this warning appears" costs the next person the whole investigation, and you already had the terminal open.

A feature says the tool is incomplete. The evidence is different and it is easy to file the wrong thing.

  • Lead with the question you could not answer, not the feature you want. "Every ACMG frequency criterion is defined on filtering allele frequency and nothing here reports it" is an argument. "Add FAF support" is a preference.
  • Say what you did instead. The workaround is the cost estimate. Downloading 19MB and grepping it is a strong case for a command; one extra web search is not.
  • Check it does not already exist. Read biomcp list and try it. Filing a request for a shipped feature wastes everyone's time and makes the rest of the batch less trustworthy.
  • Propose a shape, ranked cheapest first, and be honest that the cheapest one may be enough. Most of the value usually sits in the first item.
  • Record the negative results you already paid for, so nobody repeats the search. "No expert panel has written this policy anywhere; all 122 specifications were searched" is worth as much as the request itself.
  • Respect the design that exists. If behaviour looks wrong but was chosen on purpose, say so and argue about the trade rather than the choice. A deliberate decision with a bad edge is a design issue, not a bug, and framing it that way is what gets it read.

One issue per defect. Cross-reference related ones by filename rather than merging them — they will be triaged separately.

Signals

GitHub stars
630
Forks
113
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
biomcp-research
Source
github.com/genomoncology/biomcp