生物医药数据统一接口 biomcp (typescript)
一个高性能的MCP服务器,为LLMs提供对24种生物医学工具的访问权限,这些工具分布在50多个上游API中,包括基因、变异、药物、疾病、文献和临床试验。它具有零配置启动、基于部分的获取、联合文章搜索以及全面的测试。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"biomcp": {
"args": [
"biomcp"
],
"command": "npx"
}
}
}
服务介绍
BioMCP
一个高性能的MCP服务器,通过单一集成让LLM能够访问分布在50多个上游API中的24种生物医学工具——涵盖基因、变异、药物、疾病、文献和临床试验。
基于BioMCP Rust改编,并采用以代理为先的开发方法进行了增强。感谢原作者。
亮点
- 24种工具 覆盖7个领域 —— 搜索、检索和交叉引用生物医学实体
- 50多个上游来源 —— MyGene, MyVariant, MyChem, MyDisease, ClinVar, gnomAD, UniProt, Reactome, OpenTargets, CIViC, OncoKB, DisGeNET, GTEx, STRING, DGIdb, ClinicalTrials.gov, PubMed, EuropePMC, Semantic Scholar, PubTator, LitSense, Monarch Initiative, OpenFDA, NIH Reporter, AlphaGenome等
- 基于部分获取 ——
entityGet(id, sections)分散到多个源,每个部分有超时设置并优雅降级(失败的部分返回{ _error }而不是崩溃) - 联合文章搜索 —— 同时查询5个文献后端,并进行PMID/PMCID/DOI去重
- 零配置启动 —— 开箱即用;可选的API密钥解锁更高的速率限制和高级数据
- 195个测试 —— 131个单元测试(模拟)+ 64个集成测试(通过进程内MCP客户端调用实时API)
快速开始
安装与构建
git clone <repo-url> && cd biomcp-ts
make install build-bundle
使用Claude Desktop配置
在你的Claude Desktop claude_desktop_config.json中添加:
{
"mcpServers": {
"biomcp": {
"command": "npx",
"args": ["biomcp"]
}
}
}
或者从本地检出:
{
"mcpServers": {
"biomcp": {
"command": "node",
"args": ["/path/to/biomcp-ts/dist/bundle.js"]
}
}
}
直接stdio
npm start
任何兼容MCP的客户端
BioMCP通过stdio支持标准MCP。将任何MCP客户端指向biomcp二进制文件或node dist/bundle.js。
可用工具
基因 (7)
| 工具 | 描述 |
|---|---|
gene_search |
通过符号、名称或关键词搜索基因,带有类型/染色体过滤器 |
gene_get |
通过HGNC符号获取详细的基因信息,可选部分包括(通路、蛋白质、GO、相互作用、表达、约束、成药性、临床证据、疾病关联、资助) |
gene_diseases |
获取与基因相关的疾病(DisGeNET / OpenTargets) |
gene_drugs |
查找针对特定基因的药物(OpenTargets) |
gene_trials |
查找特定基因的临床试验 |
gene_articles |
查找关于特定基因的文章 |
gene_enrich |
对基因列表进行通路富集分析(Reactome) |
变异 (4)
| 工具 | 描述 |
|---|---|
variant_search |
通过rsid、HGVS、基因、ClinVar显著性、频率、CADD搜索变异 |
variant_get |
获取详细的变异信息,可选部分包括(频率、预测、临床、alphagenome_scores) |
variant_oncokb |
获取OncoKB癌症变异注释(需要ONCOKB_TOKEN) |
variant_trials |
查找特定变异的临床试验 |
药物 (3)
| 工具 | 描述 |
|---|---|
drug_search |
通过名称、机制或关键词搜索药物 |
drug_get |
获取详细的药物信息,可选部分包括(美国监管、欧盟监管、WHO监管、安全性、靶点、适应症) |
drug_trials |
查找特定药物的临床试验 |
疾病 (4)
| 工具 | 描述 |
|---|---|
disease_search |
通过名称、表型或关键词搜索疾病 |
disease_get |
通过ID(DOID, MONDO, OMIM等)获取详细的疾病信息,可选部分包括(基因关联、表型、通路、生存率) |
disease_drugs |
获取治疗特定疾病的药物(OpenTargets) |
disease_trials |
获取特定疾病的临床试验(ClinicalTrials.gov) |
文章 (2)
| 工具 | 描述 |
|---|---|
article_search |
在PubMed, EuropePMC, Semantic Scholar, PubTator和LitSense上进行联合文献搜索 |
article_get |
通过PMID获取详细的文章信息,可选部分包括(开放获取、注释、引用图) |
试验 (2)
| 工具 | 描述 |
|------|-------------|| trial_search | 通过条件、干预措施、状态或阶段搜索临床试验 |
| trial_get | 通过NCT ID获取详细的试验信息,可选部分包括(资格、地点、结果) |
工具 (2)
| 工具 | 描述 |
|---|---|
discover |
跨所有实体类型的概念自由文本解析 |
batch_get |
并行检索多个实体 |
开发
make # Show available targets
make install # Install dependencies
make build-bundle # Compile and bundle into dist/bundle.js
make typecheck # Type-check without emitting
make test # Run unit tests (fast, mocked)
make test-integration # Run integration tests (live APIs, ~60s)
make test-all # Run all tests
make clean # Remove build artifacts
环境变量
所有键都是可选的。BioMCP可以在没有任何键的情况下工作——它们解锁更高的速率限制和额外的数据源。
| 变量 | 来源 | 好处 |
|---|---|---|
NCBI_API_KEY |
NCBI | 提高PubMed / NCBI的速率限制 |
S2_API_KEY |
Semantic Scholar | 访问Semantic Scholar API |
OPENFDA_API_KEY |
OpenFDA | 访问OpenFDA API |
NCI_API_KEY |
NCI CTS | NCI临床试验API |
ONCOKB_TOKEN |
OncoKB | OncoKB癌症变异注释 |
DISGENET_API_KEY |
DisGeNET | 疾病-基因关联 |
UMLS_API_KEY |
UMLS | UMLS术语服务 |
ALPHAGENOME_API_KEY |
AlphaGenome | AlphaGenome变异评分 |