{"id":27491950,"url":"https://github.com/genomoncology/biomcp","last_synced_at":"2026-04-02T11:23:14.974Z","repository":{"id":285826198,"uuid":"958852531","full_name":"genomoncology/biomcp","owner":"genomoncology","description":"BioMCP: Biomedical Model Context Protocol","archived":false,"fork":false,"pushed_at":"2026-02-20T18:22:35.000Z","size":7443,"stargazers_count":420,"open_issues_count":0,"forks_count":85,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-02-20T18:38:23.503Z","etag":null,"topics":["ai","bioinformatics","clinical-trials","genomics","llm","mcp","mcp-server","medical","model-context-protocol","pubmed","pubmed-central"],"latest_commit_sha":null,"homepage":"https://biomcp.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genomoncology.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-01T21:44:02.000Z","updated_at":"2026-02-20T18:22:26.000Z","dependencies_parsed_at":"2025-05-05T02:46:31.917Z","dependency_job_id":"eae9b84d-0142-4980-b942-3193c9383490","html_url":"https://github.com/genomoncology/biomcp","commit_stats":null,"previous_names":["genomoncology/biomcp"],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/genomoncology/biomcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genomoncology%2Fbiomcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genomoncology%2Fbiomcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genomoncology%2Fbiomcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genomoncology%2Fbiomcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genomoncology","download_url":"https://codeload.github.com/genomoncology/biomcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genomoncology%2Fbiomcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29829429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T15:41:19.027Z","status":"ssl_error","status_checked_at":"2026-02-25T15:40:47.150Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","bioinformatics","clinical-trials","genomics","llm","mcp","mcp-server","medical","model-context-protocol","pubmed","pubmed-central"],"created_at":"2025-04-16T23:01:03.752Z","updated_at":"2026-04-02T11:23:14.969Z","avatar_url":"https://github.com/genomoncology.png","language":"Python","funding_links":[],"categories":["Healthcare \u0026 Bioinformatics","API Integration MCP Servers","🧰 Research Workbench \u0026 Plugins","Wissenschaft und Forschung","サーバー実装","📚 Projects (1974 total)","MCP 服务器精选列表","📦 Other","❤️ Healthcare \u0026 Life Sciences","Content Creation","Art \u0026 Culture","MCP Servers for Life Sciences","Life Sciences and Research","Biology Medicine and Bioinformatics","Rust","医疗 MCP 服务器","Medical MCP Servers","Server Implementations","MCP Servers"],"sub_categories":["Trading \u0026 Exchanges","Interactive Research Environments","Claude API","Dieselbe Konfiguration, CLI und IDE","🧬 \u003ca name=\"bio\"\u003e\u003c/a\u003e生物学、医学、バイオインフォマティクス","MCP Servers","🔍 搜索","How to Submit","Clinical Validity Score","\u003ca name=\"bio\"\u003e\u003c/a\u003eBiology, Medicine and Bioinformatics","Databases"],"readme":"# BioMCP\n\nOne binary. One grammar. Evidence from the biomedical sources you already trust.\n\n## Description\n\nBioMCP cuts through the usual biomedical data maze: one query reaches the\nsources that normally live behind different APIs, identifiers, and search\nhabits. Researchers, clinicians, and agents use the same command grammar to\nsearch, focus, and pivot without rebuilding the workflow for each source. You\nget compact, evidence-oriented results across live public data plus local study analytics.\n\n## Features\n\n- **Search the literature:** `search article` fans out across PubTator3 and\n  Europe PMC, deduplicates PMID/PMCID/DOI identifiers, and can add a Semantic\n  Scholar leg when your filters support it.\n- **Pivot without rework:** move from a gene, variant, drug, disease, pathway,\n  protein, or article straight into the next built-in view instead of\n  rebuilding filters by hand.\n- **Analyze studies locally:** `study` commands cover local query, cohort, survival,\n  compare, and co-occurrence workflows with native terminal, SVG, and PNG\n  charts for downloaded cBioPortal-style datasets.\n- **Follow the paper trail:** `article citations`, `article references`,\n  `article recommendations`, and `article entities` turn one known paper into a\n  broader evidence map.\n- **Enrich and batch:** use `biomcp enrich` for top-level g:Profiler\n  enrichment and `biomcp batch` for up to 10 focused `get` calls in one\n  command.\n\n## Installation\n\n### PyPI tool install\n\n```bash\nuv tool install biomcp-cli\n# or: pip install biomcp-cli\n```\n\nThis installs the `biomcp` binary on your PATH.\n\n### Binary install\n\n```bash\ncurl -fsSL https://biomcp.org/install.sh | bash\n```\n\n### Claude Desktop extension (.mcpb)\n\nInstall BioMCP from the Anthropic Directory in Claude Desktop when that path is\navailable for your environment. For local/manual setups, use the JSON MCP\nconfig below.\n\n### Install skills\n\nInstall guided investigation workflows into your agent directory:\n\n```bash\nbiomcp skill install ~/.claude --force\n```\n\n### MCP clients\n\n```json\n{\n  \"mcpServers\": {\n    \"biomcp\": {\n      \"command\": \"biomcp\",\n      \"args\": [\"serve\"]\n    }\n  }\n}\n```\n\n### Remote HTTP server\n\nFor shared or remote deployments:\n\n```bash\nbiomcp serve-http --host 127.0.0.1 --port 8080\n```\n\nRemote clients connect to `http://127.0.0.1:8080/mcp`. Probe routes are\n`GET /health`, `GET /readyz`, and `GET /`.\n\nRunnable demo:\n\n```bash\nuv run --script examples/streamable-http/streamable_http_client.py\n```\n\nSee [Remote HTTP Server](https://biomcp.org/getting-started/remote-http/) for\nthe newcomer guide.\n\n### From source\n\n```bash\nmake install\n\"$HOME/.local/bin/biomcp\" --version\n```\n\n## Quick start\n\nFirst useful query in under 30 seconds:\n\n```bash\nuv tool install biomcp-cli\nbiomcp health --apis-only\nbiomcp list gene\nbiomcp search all --gene BRAF --disease melanoma  # unified cross-entity discovery\nbiomcp get gene BRAF pathways hpa\n```\n\n## Command grammar\n\n```text\nsearch \u003centity\u003e [filters]    → discovery\ndiscover \u003cquery\u003e             → concept resolution before entity selection\nget \u003centity\u003e \u003cid\u003e [sections] → focused detail\n\u003centity\u003e \u003chelper\u003e \u003cid\u003e       → cross-entity pivots\nenrich \u003cGENE1,GENE2,...\u003e     → gene-set enrichment\nbatch \u003centity\u003e \u003cid1,id2,...\u003e → parallel gets\nsearch all [slot filters]    → counts-first cross-entity orientation\n```\n\n## Entities and sources\n\n| Entity | Upstream providers used by BioMCP | Example |\n|--------|-----------------------------------|---------|\n| gene | MyGene.info, UniProt, Reactome, QuickGO, STRING, GTEx, Human Protein Atlas, DGIdb, ClinGen | `biomcp get gene BRAF pathways hpa` |\n| variant | MyVariant.info, ClinVar, gnomAD fields via MyVariant, CIViC, Cancer Genome Interpreter, OncoKB, cBioPortal, GWAS Catalog, AlphaGenome | `biomcp get variant \"BRAF V600E\" clinvar` |\n| article | PubMed, PubTator3, Europe PMC, PMC OA, NCBI ID Converter, Semantic Scholar (optional auth; `S2_API_KEY` recommended) | `biomcp search article -g BRAF --limit 5` |\n| trial | ClinicalTrials.gov API v2, NCI CTS API | `biomcp search trial -c melanoma -s recruiting` |\n| drug | MyChem.info, EMA local batch, ChEMBL, OpenTargets, Drugs@FDA, OpenFDA, CIViC | `biomcp get drug Keytruda regulatory --region eu` |\n| disease | MyDisease.info, Monarch Initiative, MONDO, OpenTargets, Reactome, CIViC | `biomcp get disease \"Lynch syndrome\" genes` |\n| pathway | Reactome, KEGG, g:Profiler, Enrichr-backed enrichment sections | `biomcp get pathway hsa05200 genes` |\n| protein | UniProt, InterPro, STRING, ComplexPortal, PDB, AlphaFold | `biomcp get protein P15056 complexes` |\n| adverse-event | OpenFDA FAERS, MAUDE, Recalls | `biomcp search adverse-event --drug pembrolizumab` |\n| pgx | CPIC, PharmGKB | `biomcp get pgx CYP2D6 recommendations` |\n| gwas | GWAS Catalog | `biomcp search gwas --trait \"type 2 diabetes\"` |\n| phenotype | Monarch Initiative (HPO semantic similarity) | `biomcp search phenotype \"HP:0001250\"` |\n\n## Cross-entity helpers\n\nPivot between related entities without rebuilding filters.\n\nSee the [cross-entity pivot guide](docs/how-to/cross-entity-pivots.md) for when\nto use a helper versus a fresh search.\n\n```bash\nbiomcp variant trials \"BRAF V600E\" --limit 5\nbiomcp variant articles \"BRAF V600E\"\nbiomcp drug adverse-events pembrolizumab\nbiomcp drug trials pembrolizumab\nbiomcp disease trials melanoma\nbiomcp disease drugs melanoma\nbiomcp disease articles \"Lynch syndrome\"\nbiomcp gene trials BRAF\nbiomcp gene drugs BRAF\nbiomcp gene articles BRCA1\nbiomcp gene pathways BRAF\nbiomcp pathway drugs R-HSA-5673001\nbiomcp pathway drugs hsa05200\nbiomcp pathway articles R-HSA-5673001\nbiomcp pathway trials R-HSA-5673001\nbiomcp protein structures P15056\nbiomcp article entities 22663011\nbiomcp article citations 22663011 --limit 3\nbiomcp article references 22663011 --limit 3\nbiomcp article recommendations 22663011 --limit 3\n```\n\n## Gene-set enrichment\n\n```bash\nbiomcp enrich BRAF,KRAS,NRAS --limit 10\n```\n\nTop-level `biomcp enrich` uses **g:Profiler**. Gene enrichment sections inside\nother entity views still reference **Enrichr** where that is the backing\nsource.\n\n## Sections and progressive disclosure\n\nEvery `get` command supports selectable sections for focused output:\n\n```bash\nbiomcp get gene BRAF                    # summary card\nbiomcp get gene BRAF pathways           # add pathway section\nbiomcp get gene BRAF hpa                # protein tissue expression + localization\nbiomcp get gene BRAF civic interactions # multiple sections\nbiomcp get gene BRAF all                # everything\n\nbiomcp get variant \"BRAF V600E\" clinvar population conservation\nbiomcp get article 22663011 tldr\nbiomcp get drug pembrolizumab label targets civic approvals\nbiomcp get drug Keytruda regulatory --region eu\nbiomcp get disease \"Lynch syndrome\" genes phenotypes variants\nbiomcp get trial NCT02576665 eligibility locations outcomes\n```\n\nIn JSON mode, `get` responses expose `_meta.next_commands` for the next likely\nfollow-ups and `_meta.section_sources` for section-level provenance. `batch ...\n--json` returns per-entity objects with the same metadata shape.\n\n## API keys\n\nMost commands work without credentials. Optional keys improve rate limits or\nunlock optional enrichments:\n\n```bash\nexport NCBI_API_KEY=\"...\"        # PubTator, PMC OA, NCBI ID converter\nexport S2_API_KEY=\"...\"          # Optional Semantic Scholar auth; dedicated quota at 1 req/sec\nexport OPENFDA_API_KEY=\"...\"     # OpenFDA rate limits\nexport NCI_API_KEY=\"...\"         # NCI CTS trial search (--source nci)\nexport ONCOKB_TOKEN=\"...\"        # OncoKB variant helper\nexport ALPHAGENOME_API_KEY=\"...\" # AlphaGenome variant effect prediction\n```\n\n`search article`, `get article`, `article batch`, `get article ... tldr`, and\nthe explicit Semantic Scholar helpers all work without `S2_API_KEY`. With the\nkey, BioMCP sends authenticated requests and uses a dedicated rate limit at\n1 req/sec. Without it, BioMCP uses the shared unauthenticated pool at 1 req/2sec.\n`--source` still remains `all|pubtator|europepmc` in v1, so the S2 leg is\nautomatic rather than directly selectable. References and recommendations can\nbe empty for paywalled papers because of publisher elision in Semantic Scholar\nupstream coverage.\n\n## Configuration\n\n### Claude Desktop extension settings\n\nThe directory bundle exposes only the optional settings needed for the first\nreviewer-facing build:\n\n| Claude Desktop field | Runtime env var | Purpose |\n|----------------------|-----------------|---------|\n| OncoKB Token | `ONCOKB_TOKEN` | Enables `biomcp variant oncokb \"\u003cgene\u003e \u003cvariant\u003e\"` therapy and level evidence |\n| DisGeNET API Key | `DISGENET_API_KEY` | Enables scored DisGeNET sections on gene and disease lookups |\n| Semantic Scholar API Key | `S2_API_KEY` | Improves reliability for article TLDR, citation, reference, and recommendation helpers |\n\nThe first directory build exposes only those three optional settings. Advanced\nCLI-only env vars remain documented in\n[API Keys](docs/getting-started/api-keys.md) for the general BioMCP CLI path.\n\n## Usage Examples\n\n### Public cross-entity overview\n\n**User prompt:** Give me a low-noise overview of BRAF in melanoma.\n\n**Expected tool call:** `biomcp search all --gene BRAF --disease melanoma --counts-only`\n\n**Expected behavior:** Returns a cross-entity counts summary that orients the\nnext command instead of dumping long detail tables.\n\n**Expected output:** Counts-first summary with suggested next commands for the\nhighest-yield entity follow-ups.\n\n### Public variant evidence\n\n**User prompt:** Summarize ClinVar significance and population frequency for BRAF V600E.\n\n**Expected tool call:** `biomcp get variant \"BRAF V600E\" clinvar population`\n\n**Expected behavior:** Retrieves the focused variant card, ClinVar section, and\npopulation-frequency data in one read-only call.\n\n**Expected output:** Variant summary, ClinVar significance details, and gnomAD\npopulation frequencies.\n\n### Credentialed OncoKB example\n\n**User prompt:** Show OncoKB therapy evidence for BRAF V600E.\n\n**Expected tool call:** `biomcp variant oncokb \"BRAF V600E\"`\n\n**Expected behavior:** Uses `ONCOKB_TOKEN` when configured and otherwise\nreturns helpful guidance about the missing credential.\n\n**Expected output:** Therapy and level evidence when `ONCOKB_TOKEN` is set, or\na clear setup hint when it is not.\n\n### Credentialed DisGeNET example\n\n**User prompt:** Show scored DisGeNET associations for TP53.\n\n**Expected tool call:** `biomcp get gene TP53 disgenet`\n\n**Expected behavior:** Uses `DISGENET_API_KEY` to retrieve the scored\ngene-disease association section.\n\n**Expected output:** Ranked disease-association table with evidence counts and\nscores when `DISGENET_API_KEY` is configured.\n\n## Privacy Policy\n\nBioMCP does not add telemetry, analytics, or remote log upload. Review the\nfull privacy statement at \u003chttps://biomcp.org/policies/\u003e.\n\n## Multi-worker deployment\n\nBioMCP rate limiting is process-local. For many concurrent workers, run one shared\nStreamable HTTP `biomcp serve-http` endpoint so all workers share a single\nlimiter budget:\n\n```bash\nbiomcp serve-http --host 0.0.0.0 --port 8080\n```\n\nRemote clients should connect to `http://\u003chost\u003e:8080/mcp`. Lightweight process\nprobes are available at `GET /health`, `GET /readyz`, and `GET /`.\n\n## Skills\n\nBioMCP ships an embedded agent guide instead of a browsable in-binary catalog.\nUse `biomcp skill` to read the embedded BioMCP guide, then install it into\nyour agent directory when you want local copies of the workflow references:\n\n```bash\nbiomcp skill\nbiomcp skill install ~/.claude --force\n```\n\nSee [Skills](docs/getting-started/skills.md) for supported install targets,\ninstalled files, and legacy compatibility notes.\n\n## Local study analytics\n\n`study` is BioMCP's local analysis family for downloaded cBioPortal-style datasets.\nThe 12 remote entity commands query upstream APIs for discovery and detail; `study`\ncommands work on local datasets when you need per-study query, cohort, survival,\ncomparison, or co-occurrence workflows.\n\nUse `study download` to fetch a dataset into your local study root. Set\n`BIOMCP_STUDY_DIR` when you want an explicit dataset location for reproducible\nscripts and demos; if it is unset, BioMCP falls back to its default study root.\n\n```bash\nexport BIOMCP_STUDY_DIR=\"$HOME/.local/share/biomcp/studies\"\nbiomcp study download msk_impact_2017\nbiomcp study query --study msk_impact_2017 --gene TP53 --type mutations --chart bar --theme dark --palette wong -o docs/blog/images/tp53-mutation-bar.svg\n```\n\nSee the [CLI reference](docs/user-guide/cli-reference.md#local-study-analytics)\nfor the full `study` command family and dataset prerequisites.\n\n## Ops\n\n```bash\nbiomcp version          # show version and build info\nbiomcp health           # inspect API connectivity plus local EMA/cache readiness\nbiomcp update           # self-update to latest release\nbiomcp update --check   # check for updates without installing\nbiomcp uninstall        # remove biomcp from ~/.local/bin\n```\n\n## Support\n\n- GitHub issues: \u003chttps://github.com/genomoncology/biomcp/issues\u003e\n- Troubleshooting: [docs/troubleshooting.md](docs/troubleshooting.md)\n- Full documentation: \u003chttps://biomcp.org/\u003e\n\n## Documentation\n\n- [Getting Started](docs/getting-started/installation.md)\n- [Search All Workflow](docs/how-to/search-all-workflow.md)\n- [BioASQ Benchmark](docs/reference/bioasq-benchmark.md)\n- [Cross-Entity Pivot Guide](docs/how-to/cross-entity-pivots.md)\n- [Privacy Policy](docs/policies.md)\n- [Source Licensing and Terms](docs/reference/source-licensing.md)\n- [Data Sources](docs/reference/data-sources.md)\n- [Quick Reference](docs/reference/quick-reference.md)\n- [Troubleshooting](docs/troubleshooting.md)\n\n## Citation\n\nIf you use BioMCP in research, cite it via [`CITATION.cff`](CITATION.cff).\nGitHub also exposes `Cite this repository` in the repository sidebar when that file is present.\n\n## Data Sources and Licensing\n\nBioMCP is MIT-licensed. It performs on-demand queries against upstream providers instead of vendoring or mirroring their datasets, but upstream terms govern reuse of retrieved results.\n\nSome providers are fully open, some BioMCP features require registration or API keys, and some queryable sources still impose notable reuse limits. The two biggest cautions are KEGG, which distinguishes academic and non-academic use, and COSMIC, which BioMCP keeps indirect-only because its licensing model is incompatible with a direct open integration.\n\nUse [Source Licensing and Terms](docs/reference/source-licensing.md) for the per-source breakdown and [API Keys](docs/getting-started/api-keys.md) for setup steps and registration links.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenomoncology%2Fbiomcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenomoncology%2Fbiomcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenomoncology%2Fbiomcp/lists"}