BioMCP is an open-source MCP server that connects any AI assistant directly to 43 open bioinformatics databases â zero config, no API keys. Literature, sequences, BLAST, structures, enrichment, annotations, genomes, interactions, pathways, variants, population frequencies, methylation QTLs, tissue expression, drug targets, compounds, single-cell, glycomics, metabolomics, lipidomics, microbiome, plants, model organisms, proteomics and more.
BioMCP æ¯äžäžªåŒæºç MCP æå¡åšïŒè®©ä»»æ AI 婿é¶é 眮çŽè¿ 43 äžªå ¬åŒçç©æ°æ®åºââæç®ãåºåãæ¯å¯¹ãç»æãå¯éãæ³šéãåºå ç»ãäºäœãéè·¯ãååŒã人矀é¢çãç²åºå QTLã衚è§éäŒ ãç»ç»è¡šèŸŸãè¯ç©é¶ç¹ãååç©ãåç»èãç³ç»åŠã代谢ç»åŠãè莚ç»åŠã埮çç©ç»ãæ€ç©ãæš¡åŒçç©ãèçœèŽšç»åŠçå šæµçšã
æ å MCP åè®® / Standard MCP protocol â Based on official MCP SDK with stdio transport, compatible with all MCP clients åºäºå®æ¹ MCP SDKïŒstdio äŒ èŸïŒå Œå®¹ææ MCP 客æ·ç«¯
83 äžªå·¥å · · 43 äžªæ°æ®åº / 83 tools · 43 databases â Covers literature â sequences â structures â functions â interactions â pathways â variants â population frequency â methylation â tissue expression â drug targets â drugs â single-cell â glycomics â metabolomics â lipidomics â microbiome â plants â model organisms â proteomics â intelligent analysis èŠçæç®âåºåâç»æâåèœâäºäœâéè·¯âååŒâ人矀é¢çâç²åºåâç»ç»è¡šèŸŸâè¯ç©é¶ç¹âè¯ç©âåç»èâç³ç»åŠâ代谢ç»åŠâè莚ç»åŠâ埮çç©ç»âæ€ç©âæš¡åŒçç©âèçœèŽšç»åŠâæºèœåæå šæµçš
é¶é
çœ®äœ¿çš / Zero-config â pip install biomcp-server one command, no database setup, no API keys required
pip install biomcp-server äžæ¡åœä»€ïŒæ éæ°æ®åºãæ éå¯é¥
æ°æ®å ¬åŒæåš / Authoritative public data â All from official APIs: NCBI / RCSB / UniProt / Ensembl / EBI / STRING / KEGG / GlyGen / Reactome / OpenAlex, etc. å šéšæ¥èª NCBI / RCSB / UniProt / Ensembl / EBI / STRING / KEGG / GlyGen / Reactome / OpenAlex ç宿¹ API
æºèœéé / Smart rate-limiting â Built-in NCBI 3 seconds/request rate limiting with retry backoff, respects academic API standards å 眮 NCBI 3 ç§/请æ±ééäžéè¯éé¿ïŒéµå®åŠæ¯ API è§è
è·šåºäº€åéªè¯ / Cross-database validation â gene_full_profile concurrently queries 4 databases, intelligent_analyze auto-detects data types and recommends optimal analysis plans
gene_full_profile äžæ¬¡å¹¶åæ¥è¯¢ 4 äžªæ°æ®åºïŒintelligent_analyze èªå𿣿µæ°æ®ç±»åå¹¶æšèæäœ³åææ¹æ¡
äžè±åè¯ / Bilingual â Tool descriptions and documentation in both languages, domestic network reachable (adapted Enrichr as g:Profiler alternative) åœä»€æè¿°äžææ¡£åè¯ïŒåœå çœç»å¯èŸŸïŒå·²éé Enrichr æ¿ä»£ g:ProfilerïŒ
æºèœ Agent ç³»ç» / Intelligent Agent System â Auto-analyzes input data, recommends optimal tools, saves tokens, provides unexpected insights èªåšåæèŸå ¥æ°æ®ïŒæšèæäœ³å·¥å ·ïŒèç tokenïŒæäŸæå€è§è§£
è¯å® Agent / Honest Agent â db_health_check runs real connectivity tests on all endpoints, tool_inventory reports which tools are end-to-end verified vs best-effort
db_health_check 对å
šéšç«¯ç¹åçå®è¿éæ§æ£æ¥ïŒtool_inventory åŠå®æ¥ååªäºå·¥å
·å·²ç«¯å°ç«¯éªè¯ãåªäºäžºå°œåè䞺ïŒäžåä¹è§å讟
# 1. å®è£
ïŒéèŠ Python 3.10+ïŒ/ Install (Python 3.10+)
pip install biomcp-server
# 2. å¯åšïŒstdio æš¡åŒïŒäŸ MCP 客æ·ç«¯è°çšïŒ/ Run in stdio mode
bio-mcpgit clone https://github.com/qgeng1465/bio-mcp.git
cd bio-mcp
pip install .
# æåŒåæš¡åŒ / or dev mode
pip install -e ".[test]"Register BioMCP in any MCP-compatible AI assistant / IDE (Cursor / VS Code / MCP clients, etc.): åšä»»äœæ¯æ MCP ç AI 婿 / IDE äžæ³šå BioMCPïŒCursor / VS Code / åç±» MCP 客æ·ç«¯çïŒïŒ
{
"mcpServers": {
"bio-mcp": {
"command": "bio-mcp"
}
}
}Then just ask in conversation: ç¶ååšå¯¹è¯äžçŽæ¥äœ¿çšïŒ
æ¥è¯¢ BRCA1 çžå
³çææ°æç® / æ¥ CRISPR é¢åçé«è¢«åŒè®ºæ
äžèœœ CYP2D6 çèçœåºå / æ£çŽ¢å€§è æèçæ žé
žåºå
å¯¹è¿æ®µ DNA å BLASTïŒATGC...
æ¥ PDB 1CRN çç»æ / AlphaFold 颿µ P04637 / EMDB çµéç»æ EMD-1234
åæåºå å衚 BRCA1,TP53,EGFR,ATM,RAD51 çå¯é
æ¥ apoptosis éè·¯ / æ¥ TP53 çå®éªäºäœçœç»
æ¥ç³è· G00051MO çç»æ / P04637 çç³åºå / æ¥è莚 LMFA01030001
æ£çŽ¢è é埮çç©ç»ç ç©¶ / æ£çŽ¢å€§è æèçåºå ç»ç»è£
/ æ¥ pET-28a 莚ç²
æ¥ BRCA1 åšäººäœç»ç»äžç衚蟟
æ¥ rs1800562 ç人矀çäœåºå é¢ç / HFE åºå ç gnomAD çºŠæææ
æ¥ rs6602381 ç mQTL å
³è / cg05575921 ç衚è§éäŒ å
³è
æ¥ TP53 åšèèç eQTL / æ¥ TP53 çè¯ç©é¶ç¹-çŸç
å
³è
æ¥æåè¥åºå AT1G01010 / æ¥çº¿è«åºå WBGene00000001
æ£çŽ¢äººè¡æµèçœèŽšç»åŠé¡¹ç® PXD000001 / æ¥ TP53 ç HGNC åºå 笊å·
æçޢ乳è
ºçç SRA æµåºæ°æ® / æ¥ aspirin åš UniChem ç ID æ å°
对 BRCA1 åäžäžªå€åºç»Œååææ¥å
äœ¿çšæºèœåæïŒTP53 åºå çåèœåæ
è·ååºå ç ç©¶çåææš¡æ¿
æ£æ¥åœååªäºæ°æ®åºå¯èŸŸïŒè¯å®æ£æ¥ïŒ
| å·¥å · | åèœ / Function | 诎æ / Description |
|---|---|---|
intelligent_analyze |
æºèœæ°æ®åæåå·¥å ·æšè / Intelligent data analysis and tool recommendation | èªå𿣿µæ°æ®ç±»åïŒæšèæäœ³åææ¹æ¡ïŒèç token äœ¿çš |
get_analysis_template |
è·ååæåºæ¯æš¡æ¿ / Get analysis scenario templates | é¢æå»ºçåºå ç ç©¶ãè¯ç©åç°çåææµçš |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
pubmed_search |
PubMed æç®æ£çŽ¢ïŒæ é¢/äœè /æå/PMID/DOIïŒ/ literature search | NCBI E-utilities |
europepmc_search |
å šææç®æ£çŽ¢ïŒå« OA å šæïŒ/ full-text + open-access | Europe PMC (EBI) |
openalex_work_search |
å šçåŠæ¯èäœæ£çŽ¢ïŒè¢«åŒ/äœè /æåïŒ/ scholarly works search | OpenAlex |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
ncbi_fetch_sequence |
äžèœœæ žé ž/èçœåºåïŒFASTA/GenBankïŒ/ fetch sequences | NCBI E-utilities |
blast_search |
DNA/èçœåæº BLASTïŒè¿å top hits / homology search | NCBI BLAST |
taxonomy_lookup |
ç©ç§åç±»æ¥è¯¢ïŒåŠå/谱系ïŒ/ species taxonomy | NCBI Taxonomy |
geo_dataset_search |
åºå è¡šèŸŸæ°æ®éæ£çŽ¢ / expression dataset search | NCBI GEO |
uniparc_search |
èçœåºååœæ¡£æ£çŽ¢ïŒUPI/亀ååŒçšïŒ/ protein archive search | EBI UniParc |
uniparc_by_id |
UniParc è®°åœè¯Šæ ïŒåºå/å šéšäº€ååŒçšïŒ/ record by UPI ID | EBI UniParc |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
pdb_structure_summary |
å®éªç»ææ¥è¯¢ïŒå蟚ç/æ¹æ³/éŸåºåïŒ/ experimental structures | RCSB PDB |
alphafold_structure |
AI 颿µç»æïŒpLDDT 眮信床ïŒ/ AI-predicted structures | AlphaFold DB (EBI) |
emdb_structure_lookup |
å·å»çµéç»æïŒæ é¢/äœè /å蟚ç/ç»åïŒ/ cryo-EM structures | EBI EMDB |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
uniprot_annotate |
èçœæ³šéïŒåç§°/åºå /åèœ/GOïŒ/ protein annotations | UniProt |
protein_domains |
èçœç»æå/å®¶æ/äœç¹ / structural domains | InterPro (EBI) |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
hgnc_search |
åºå 笊å·/å«åæçŽ¢ / gene symbol search | HGNC |
hgnc_gene_symbol |
æ ååºå 笊å·äžå«åæ¥è¯¢ / canonical symbol & aliases | HGNC |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
gene_enrichment |
GO/KEGG/Reactome å¯éåæ / enrichment analysis | Enrichr |
kegg_pathway_search |
KEGG éè·¯æçŽ¢ / pathway search | KEGG |
kegg_pathway_genes |
éè·¯å å«çåºå å衚 / genes in a pathway | KEGG |
reactome_pathway_search |
çç©éè·¯æ£çŽ¢ïŒä¿¡å·èœ¬å¯Œ/代谢/DNAä¿®å€ïŒ/ pathway search | Reactome |
string_interactions |
èçœäºäœçœç»ïŒé¢æµïŒ/ protein interaction network | STRING-db |
intact_interactions |
å®éªååäºäœïŒæ£æµæ¹æ³/è¯æ®ïŒ/ experimental interactions | EBI IntAct |
ensembl_gene_lookup |
åºå å®äœïŒGRCh38 åæ ïŒ/ gene lookup | Ensembl |
ensembl_homologs |
åæºåºå ïŒçŽç³»/æç³»ïŒ/ homologous genes | Ensembl Compara |
biogrid_interactions |
èçœäºäœïŒé BIOGRID_ACCESS_KEYïŒ/ interactions | BioGRID |
biogrid_gene_interactions |
åºå 级äºäœæ£çŽ¢ïŒé BIOGRID_ACCESS_KEYïŒ/ gene interactions | BioGRID |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
ucsc_genome_info |
åºå ç»ç»è£ äžæ³šé蜚é / genome assemblies | UCSC Genome Browser |
genome_assembly_search |
åºå ç»ç»è£ æ£çŽ¢ïŒç»è/ç æ¯/çæ žïŒ/ genome assemblies | NCBI Assembly |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
variant_annotate |
ååŒæ³šéïŒé¢ç/åèœé¢æµ/äžŽåºæä¹ïŒ/ variant annotation | MyVariant.info |
clinvar_query |
ClinVar 䞎åºååŒåç±» / clinical variant classification | NCBI ClinVar |
dbsnp_search |
dbSNP éäŒ ååŒæ£çŽ¢ïŒrsID/çäœåºå /äžŽåºæä¹ïŒ/ variant search | NCBI dbSNP |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
go_term_lookup |
GO æ¯è¯è¯Šæ ïŒå®ä¹/æ¹é¢/åä¹è¯ïŒ/ GO term details | QuickGO (EBI) |
go_term_search |
GO æ¯è¯å ³é®è¯æçŽ¢ / GO term search | QuickGO (EBI) |
gene_go_annotation |
åºå GO åèœæ³šéïŒè¯æ®/PMIDïŒ/ GO annotations by gene | QuickGO (EBI) |
gwas_variant_associations |
ååŒ GWAS å ³èïŒæ§ç¶/påŒ/æåºïŒ/ variant-trait associations | GWAS Catalog (EBI) |
gwas_gene_variants |
åºå å ³èç GWAS ååŒ / GWAS variants by gene | GWAS Catalog (EBI) |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
gnomad_variant_lookup |
gnomAD 人矀çäœåºå é¢çïŒå€æŸåç»/å šåºå ç»ã人矀åå±ãfaf95/faf99ïŒ/ allele frequency | gnomAD (Broad) |
gnomad_gene_constraint |
åºå çºŠæææ ïŒpLI / LOEUFïŒ/ gene constraint metrics | gnomAD (Broad) |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
mqtl_snp_lookup |
SNPâCpG mQTL å ³èïŒÎ²/påŒ/éåæ°ïŒ/ SNP-to-CpG mQTL | GoDMC |
mqtl_cpg_lookup |
CpGâSNP mQTL å ³è / CpG-to-SNP mQTL | GoDMC |
ewas_probe_lookup |
CpG äœç¹ç EWAS å ³èïŒæ§ç¶/ç ç©¶/PMIDïŒ/ probe EWAS associations | EWAS Atlas (NGDC) |
ewas_gene_lookup |
åºå å ³èç CpG æ¢éäž EWAS æ§ç¶ / geneâprobe EWAS | EWAS Atlas (NGDC) |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
gtex_tissue_expression |
åºå åšåç»ç»çåäœæ°æ ååäžäœè¡šèŸŸïŒTPMïŒ/ tissue median expression | GTEx Portal |
gtex_eqtl |
åç»ç» eQTL å ³èïŒååŒ/påŒ/æåºïŒ/ single-tissue eQTL | GTEx Portal |
ot_target_info |
è¯ç©é¶ç¹ä¿¡æ¯ïŒç¬Šå·/å®äœ/åä¹è¯ïŒ/ drug target info | Open Targets |
ot_target_disease |
é¶ç¹-çŸç è¯ååå ³èïŒå«æ°é¢æ§ïŒ/ target-disease associations | Open Targets |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
compound_info |
ååç©ä¿¡æ¯ïŒSMILES/åååŒ/InChIKeyïŒ/ compound info | PubChem |
chembl_drug_search |
è¯ç©æŽ»æ§äžé¶ç¹ïŒIC50/KiïŒ/ drug bioactivity & targets | ChEMBL (EBI) |
unichem_mapping |
ååç© ID è·šåºæ å°ïŒæ InChIKeyïŒ/ ID mapping by InChIKey | UniChem (EBI) |
unichem_structure |
ååç©è·šåºåŒçšè¯Šæ ïŒæ InChIKeyïŒ/ cross-refs by InChIKey | UniChem (EBI) |
chebi_compound |
ChEBI ååç©è¯Šæ ïŒæ¬äœ/å ³ç³»ïŒ/ compound details | ChEBI (EBI) |
chebi_search |
ChEBI ååç©å šææçŽ¢ / compound search | ChEBI (EBI) |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
plasmid_search |
莚ç²/蜜äœåºåæ£çŽ¢ïŒåç§°/宿䞻/é¿åºŠïŒ/ plasmid search | NCBI nuccore |
ena_sequence_search |
æ¬§æŽ²æ žè·é žæ¡£æ¡åºåïŒåŸ®çç©/ç æ¯/莚ç²ïŒ/ nucleotide sequences | EBI ENA |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
microbiome_study_search |
埮çç©ç»å®åºå ç»ç ç©¶ïŒå®¿äž»/æ æ¯å°ïŒ/ metagenomics studies | EBI MGnify |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
cellxgene_search |
åç»èæ°æ®éæ£çŽ¢ïŒå«ç±»åšå®/è¿ç€åŸè°±ïŒ/ single-cell datasets | CELLxGENE (CZ) |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
glycan_lookup |
ç³è·ç»æè¯Šæ ïŒç»æ/莚é/IUPACïŒ/ glycan structure | GlyGen (GlyTouCan) |
protein_glycosylation |
èçœç³åºåäœç¹äžç³ä¿®é¥° / protein glycosylation | GlyGen |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
metabolomics_study |
代谢ç»åŠç 究诊æ ïŒææ¯/讟计/å åïŒ/ study details | EBI Metabolights |
metabolomics_latest |
ææ°ä»£è°¢ç»åŠç ç©¶å衚 / latest studies | EBI Metabolights |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
lipid_lookup |
èèŽšç»ææ¥è¯¢ïŒåç§°/åååŒ/SMILES/DB亀ååŒçšïŒ/ lipid structure | LIPID MAPS |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
protein_tissue_expression |
èçœç»ç»è¡šèŸŸäžäºç»èå®äœ / tissue expression | Human Protein Atlas |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
biosample_by_id |
çç©æ ·æ¬è¯Šæ ïŒå±æ§/æ¥æºïŒ/ sample details | NCBI BioSamples |
biosample_search |
çç©æ ·æ¬æ£çŽ¢ / sample search | NCBI BioSamples |
expression_atlas_gene |
åºå çžå ³è¡šèŸŸå®éªïŒè¯å®çïŒ/ gene-related experiments | EBI Expression Atlas |
expression_atlas_experiment |
衚蟟å®éªæ£çŽ¢ïŒå ³é®è¯/ç©ç§ïŒ/ experiment search | EBI Expression Atlas |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
pride_project |
莚谱项ç®è¯Šæ ïŒä»ªåš/èœæ®µ/èçœïŒ/ project details | EBI PRIDE |
pride_search |
èçœèŽšç»åŠé¡¹ç®æ£çŽ¢ / project search | EBI PRIDE |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
flybase_gene |
æèåºå 诊æ ïŒFBgnïŒ/ fly gene details | FlyBase |
flybase_search |
æèåºå æçŽ¢ / fly gene search | FlyBase |
wormbase_gene |
线è«åºå 诊æ ïŒWBGeneïŒ/ worm gene details | WormBase |
wormbase_search |
线è«åºå æçŽ¢ / worm gene search | WormBase |
rgd_gene_symbol |
å€§éŒ åºå æ å笊å·äžæ³šé / rat gene symbol | Rat Genome DB |
rgd_search |
å€§éŒ åºå æçŽ¢ / rat gene search | Rat Genome DB |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
plant_gene_lookup |
æ€ç©åºå æ¥è¯¢ïŒæåè¥/æ°Žçš»/çç±³çïŒ/ plant gene lookup | Ensembl Plants |
plant_species_list |
æ¯æçæ€ç©ç©ç§å衚 / supported plant species | Ensembl Plants |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
sra_search |
æµåºæ°æ®æ£çŽ¢ïŒRNA-seq/WGS/ATAC-seqïŒ/ sequence read archive | NCBI SRA |
bioproject_search |
æµåºé¡¹ç®æ£çŽ¢ïŒæ ·æ¬/ç 究讟计ïŒ/ BioProject search | NCBI BioProject |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
db_health_check |
çå®è¿éæ§æ£æ¥ïŒéåº HTTP æµè¯ïŒåŠå®æ¥åå¯èŸŸ/äžå¯èŸŸ / real connectivity test | å šéšæ°æ®åº |
tool_inventory |
å·¥å ·æž åäžéªè¯ç¶æïŒe2e_verified / best_effortïŒ/ tool inventory & status | å šéšå·¥å · |
| å·¥å · | åèœ / Function | æ°æ®æº / Source |
|---|---|---|
gene_full_profile |
å€åºäº€åéªè¯ïŒäžæ¬¡å¹¶åæ¥ Ensembl+UniProt+STRING+PubMed / combined report | 4 äžªæ°æ®åº |
æºèœåæïŒIntelligent AnalysisïŒ
èŸå
¥: "TP53"
åæç®æ : "function"
èŸåº:
{
"data_analysis": {
"primary_type": "gene_name",
"confidence": {"gene_name": 0.85}
},
"recommended_plans": [
{
"plan_id": "primary",
"recommended_tools": [
"uniprot_annotate",
"protein_domains",
"gene_enrichment",
"string_interactions"
],
"expected_results": [
"èçœåºæ¬ä¿¡æ¯",
"ç»æååå®¶æ",
"GOå¯éåæ",
"èçœäºäœçœç»"
],
"token_efficiency": "high",
"insights": [
"å»ºè®®æ£æ¥åºå çç©ç§ç¹åŒæ§",
"èè该åºå åšäžåç»ç»äžç衚蟟差åŒ",
"å¯ä»¥æ¢çŽ¢è¯¥åºå åšçŸç
ç¶æäžçåŒåžžè¡šèŸŸ"
]
}
]
}
gene_full_profileïŒç»åå·¥å · / combined toolïŒ
åºå 绌ååæïŒTP53 (homo_sapiens)
- Ensembl ENSG00000141510 · chr17:7668402-7687550 · protein_coding · tumor protein p53
- UniProt P04637 · Cellular tumor antigen p53 · Homo sapiens · 393 aa · Multifunctional transcription factor...
- STRING äºäœäŒäŒŽ: MDM2(0.999), TP53BP1(0.996), EP300(0.986), ...
- PubMed æç®: 74,021 ç¯
ç»Œåæ¥èª Ensembl / UniProt / STRING / PubMed ç亀åéªè¯ã
BioMCP åæ¶æ¯æäž€ç§äœ¿çšæ¹åŒïŒå¯æééæ©ã / Two usage modes are available:
æ¹åŒäžïŒçšæºèœ Agent äž SkillïŒç tokenïŒ/ Mode 1 â Intelligent agent + skills (token-saving)
- çŽæ¥æé®
intelligent_analyze(input, goal)ïŒç± agent å€ææ°æ®ç±»åãæšèæ°æ®åºãç»åºé¢æç»æäžæŽå¯ïŒå¹¶åªè°çšå¿ èŠçå·¥å ·ã - æäœ¿çšä»åºå 眮 SkillïŒbio-data-to-database / bio-analysis / bio-mcp-usageïŒïŒèªåšèµ°ãåç±» â æšè â 亀åéªè¯ â è¯å®æ¥åãæµçšã
- éåïŒäžç¡®å®æ°æ®èœåä»ä¹ãæ³ç tokenãéèŠæŽå¯çåºæ¯ã
æ¹åŒäºïŒåç¬è°çšä»»æå·¥å ·ïŒå®å šæåšïŒ/ Mode 2 â Call any tool directly (fully manual)
- äžç»è¿ agentïŒçŽæ¥è°çšä»»æå䞪工å
·ïŒåŠ
pubmed_search(term="BRCA1")ãblast_search(...)ãuniprot_annotate(gene="TP53")ã - éåïŒæ°æ®äžç®æ æç¡®ãå·²ææ¥è¯¢è®¡åãäžæ³åŒå ¥ agent 倿çåºæ¯ã
- å·¥å
·æ¬èº«äž agent çšçæ¯åäžå¥ïŒ
tool_inventory坿¥çå šéš 83 äžªå·¥å ·äžéªè¯ç¶æïŒdb_health_checkå¯ç¡®è®€åœåçœç»å¯èŸŸæ§ã
äž€ç§æ¹åŒçä»·äžäºéïŒagent æç»ä¹æ¯è°çšè¿äºå·¥å ·ïŒæåšè°çšåŸå°çç»æå®å šçžåã
Client Layer / 客æ·ç«¯å±
ââââââââââââââââââââââââââââââââââââââââââââââââ
â MCP Client â
â (Any MCP-compatible AI assistant / IDE) â
ââââââââââââââââââââââââ¬ââââââââââââââââââââââââ
â stdio (JSON-RPC 2.0)
Server Layer / æå¡åšå±
ââââââââââââââââââââââââŒââââââââââââââââââââââââ
â bio-mcp server â
â ââââââââââââââââââââââââââââââââââââââââââ â
â â tools/ (83 MCP tools / 83 å·¥å
·) â â
â â intelligent · honesty · pubmed · ncbi â â
â â blast · pdb · uniprot · enrichment · â â
â â ensembl · string · kegg · variant · â â
â â interpro · pubchem · chembl · â â
â â europepmc · alphafold · cellxgene · â â
â â ucsc · taxonomy · geo · glygen · â â
â â uniparc · metabolights · proteinatlas â â
â â assembly · dbsnp · plasmid · ena · â â
â â mgnify · reactome · openalex · lipid â â
â â emdb · intact · crosscheck · hgnc · â â
â â biogrid · biosamples · expression · â â
â â unichem · chebi · pride · flybase · â â
â â wormbase · rgd · plants · gnomad · â â
â â godmc · ewas · gtex · opentargets â â
â ââââââââââââââââââââââ¬ââââââââââââââââââââ â
â ââââââââââââââââââââââŒââââââââââââââââââââ â
â â core/ (42 client modules · 43 DBs) â â
â â BioHTTP: retry/backoff/rate-limit/ â â
â â LRUCache: thread-safe caching â â
â ââââââââââââââââââââââ¬ââââââââââââââââââââ â
âââââââââââââââââââââââââŒâââââââââââââââââââââââ
Database Layer / æ°æ®åºå±
âââââââââ¬ââââââââŒââââââââ¬ââââââââ¬âââââââââââââ
ââââŒâââ ââââŒâââ ââââŒâââ ââââŒâââ ââââŒâââ âââââââŒââââââ
âNCBI â âRCSB â âUni â âEns â âSTRINGâ âEnrichr â
â â âPDB â âProt â âembl â â â â... å
±43åº â
âââââââ âââââââ âââââââ âââââââ âââââââ âââââââââââââ
g:ProfilerïŒç±æ²å°ŒäºïŒåšåœå çœç»äžåžžäžå¯èŸŸïŒEnrichrïŒMa'ayan LabïŒåœå å¯èŸŸäžæäŸ GO/KEGG/Reactome/WikiPathways çæ°çŸäžªåºå éåºãBioMCP é»è®€éçš EnrichrïŒä¿è¯åŒç®±å³çšã
OpenGWAS ä» 2024-05 起区å¶èŠæ± API tokenïŒDisGeNET ä¹é API keyïŒåæ æ³é¶é
眮çŽè¿ïŒæ
äžå
å«ãæ¶åœçæ°æ®åºäžïŒé€ BioGRID éèŠ BIOGRID_ACCESS_KEY ç¯å¢åéå€ïŒå
¶äœ 42 䞪åäžºåŒæŸå
å¯é¥ APIãBioGRID 乿以ä¿çïŒæ¯å 䞺å
¶æ³šåå³å¯å
莹è·åŸ keyïŒäžäºäœæ°æ®å¯¹èçœçœç»åæä»·åŒé«ã
bio-mcp/
âââ src/bio_mcp/
â âââ server.py # MCP server å
¥å£ïŒè£
é
83 䞪工å
·ïŒ
â âââ core/ # 42 䞪客æ·ç«¯æš¡åèŠç 43 åº
â â âââ http.py # BioHTTPïŒéè¯/éé¿/éé/è¶
æ¶
â â âââ cache.py # LRUCacheïŒçº¿çšå®å
šçŒåå±
â â âââ ncbi.py # NCBI E-utilities + BLAST + Assembly + dbSNP + SRA/BioProject/BioSamples
â â âââ rcsb.py # RCSB PDB
â â âââ uniprot.py # UniProt REST
â â âââ enrichr.py # Enrichr å¯é
â â âââ ensembl.py # Ensembl åºå /åæº/æ€ç©
â â âââ stringdb.py # STRING äºäœ
â â âââ kegg.py # KEGG éè·¯
â â âââ myvariant.py # MyVariant ååŒ
â â âââ interpro.py # InterPro ç»æå
â â âââ pubchem.py # PubChem ååç©
â â âââ europepmc.py # Europe PMC æç®
â â âââ alphafold.py # AlphaFold ç»æ
â â âââ chembl.py # ChEMBL è¯ç©
â â âââ cellxgene.py # CELLxGENE åç»è
â â âââ ucsc.py # UCSC åºå ç»
â â âââ glygen.py # GlyGen ç³ç»åŠ
â â âââ uniparc.py # UniParc èçœåºååœæ¡£
â â âââ metabolights.py # Metabolights 代谢ç»åŠ
â â âââ proteinatlas.py # Human Protein Atlas
â â âââ ena.py # EBI ENA æ žé
žæ¡£æ¡
â â âââ mgnify.py # EBI MGnify 埮çç©ç»
â â âââ reactome.py # Reactome éè·¯
â â âââ openalex.py # OpenAlex æç®
â â âââ lipidmaps.py # LIPID MAPS è莚
â â âââ emdb.py # EBI EMDB çµéç»æ
â â âââ intact.py # EBI IntAct å®éªäºäœ
â â âââ hgnc.py # HGNC åºå åœå
â â âââ biogrid.py # BioGRID äºäœïŒé keyïŒ
â â âââ expressionatlas.py # EBI Expression Atlas
â â âââ unichem.py # UniChem ååç© ID æ å°
â â âââ chebi.py # ChEBI ååç©æ¬äœ
â â âââ pride.py # EBI PRIDE èçœèŽšç»åŠ
â â âââ flybase.py # FlyBase æè
â â âââ wormbase.py # WormBase 线è«
â â âââ rgd.py # Rat Genome DB 倧éŒ
â â âââ gnomad.py # gnomAD 人矀é¢ç/åºå 纊æ
â â âââ godmc.py # GoDMC mQTL
â â âââ ewas.py # EWAS Atlas 衚è§éäŒ
â â âââ gtex.py # GTEx ç»ç»è¡šèŸŸ/eQTL
â â âââ opentargets.py # Open Targets è¯ç©é¶ç¹
â âââ tools/ # 83 䞪 MCP å·¥å
·å®ä¹
â âââ intelligence.py # æºèœåæç³»ç»
â âââ honesty.py # è¯å® agentïŒè¿éæ§æ£æ¥/å·¥å
·æž
åïŒ
â âââ plants.py # æ€ç©åºå å·¥å
·
â âââ pubmed.py · ncbi.py · blast.py · pdb.py
â âââ uniprot.py · enrichment.py · ensembl.py
â âââ stringdb.py · kegg.py · variant.py
â âââ interpro.py · pubchem.py · europepmc.py
â âââ alphafold.py · chembl.py · cellxgene.py
â âââ ucsc.py · ncbi_extra.py · glygen.py
â âââ uniparc.py · metabolights.py · proteinatlas.py
â âââ ena.py · mgnify.py · reactome.py · openalex.py
â âââ lipidmaps.py · emdb.py · intact.py · crosscheck.py
â âââ hgnc.py · biogrid.py · biosamples.py
â âââ expressionatlas.py · unichem.py · chebi.py
â âââ pride.py · flybase.py · wormbase.py · rgd.py
â âââ gnomad.py · godmc.py · ewas.py · gtex.py
â âââ opentargets.py
âââ tests/ # åå
æµè¯ïŒäžäŸèµçœç»ïŒ
âââ examples/ # 客æ·ç«¯é
眮äžå¿«éåŒå§
âââ .github/workflows/ # CIïŒGitHub ActionsïŒ
âââ pyproject.toml
# åå
æµè¯ïŒçŠ»çº¿ïŒäžäŸèµçœç»ïŒ/ offline unit tests
python -m pytest tests/ -vè¯å®å£°æ / Honest note on verification statusïŒ
- åæ 40 äžªå·¥å ·ïŒv0.1-0.4ïŒåšåŒåæå¯¹çå®å ¬åŒæ°æ®åºåè¿ç«¯å°ç«¯éªè¯ã
- v0.5 æ°å¢ç 28 äžªå·¥å ·äžïŒå€§éšåïŒHGNCãBioSamplesãUniChemãChEBIãPRIDEãWormBaseãæ€ç©ãSRA/BioProjectãExpression Atlas å®éªæ£çŽ¢ãæºèœåæäžè¯å®æ£æ¥ïŒå·²åšåŒåæçšç宿°æ®ç«¯å°ç«¯éªè¯ã
- v0.6 æ°å¢ç 5 äžªå·¥å ·ïŒQuickGO 3 䞪ãGWAS Catalog 2 䞪ïŒå·²å¯¹çå® API 端å°ç«¯éªè¯ã
- v0.7 æ°å¢ç 10 䞪工å
·ïŒgnomAD 2ãGoDMC 2ãEWAS 2ãOpen Targets 2 已对çå® API 端å°ç«¯éªè¯ïŒGTEx 2 å·²æ OpenAPI å®ç°å¹¶åç»ææ ¡éªïŒåœåçœç»äž gtexportal 端ç¹å¶å 502/SSL äžæïŒè¿éæ§ä»¥
db_health_check宿¶ç»æäžºåïŒã - åéå·¥å ·åŠå®æ«é²ïŒFlyBase 被 CloudFront WAF æºåšäººæ£æµæŠæªïŒèæ¬å®¢æ·ç«¯æ æ³è®¿é®ïŒïŒRat Genome DB åšåœåçœç»äžè¶ æ¶ïŒWormBase æçŽ¢äžºå°œåè䞺ïŒBioGRID é API keyã
- Expression Atlas ç
expression_atlas_gene䞺è¯å®çïŒå ¬åŒ REST å·²äžæäŸååºå æ°åŒè¡šèŸŸé端ç¹ïŒè¯¥å·¥å ·è¿åå¹é 该åºå çå®éªå衚äŸè¿äžæ¥æ¥çã - åŠé确讀åœåç¯å¢äžææ°æ®åºæ¯åŠå¯èŸŸïŒå
è°çš
db_health_checkïŒå¯¹å ³é®ç»è®ºè¯·ç»åäžäžå·¥å ·äžåå§æ°æ®å€æ žã
The original 40 tools (v0.1-0.4) were end-to-end validated during development. Most of the 28 tools added in v0.5 were validated against real data during development. The 5 tools added in v0.6 (QuickGO Ã3, GWAS Catalog Ã2) were e2e-validated against live APIs. The 10 tools added in v0.7 (gnomAD Ã2, GoDMC Ã2, EWAS Ã2, Open Targets Ã2) were e2e-validated against live APIs; GTEx Ã2 were implemented per OpenAPI with structural checks â the gtexportal endpoints intermittently return 502/SSL errors from some networks, so verify with
db_health_check. Restricted tools are disclosed honestly: FlyBase is blocked by CloudFront WAF bot detection; Rat Genome DB timed out in the current network; WormBase search is best-effort; BioGRID needs an API key.expression_atlas_geneis an honest version â the public REST no longer exposes numeric per-gene expression values, so it returns matching experiments instead. Rundb_health_checkto confirm endpoint reachability before relying on a specific database.
BioMCP uses a dual licensing model / BioMCP éçšåéæææš¡åŒïŒ
-
Academic Use / åŠæ¯äœ¿çšïŒMIT License for educational, research, and personal non-commercial use æè²ãç ç©¶å䞪人éåäžäœ¿çšéçš MIT 讞å¯
-
Commercial Use / åäžäœ¿çšïŒRequires separate commercial license for business integration, revenue generation, or SaaS deployment äžå¡éæãåæ¶æ SaaS éšçœ²éèŠåç¬çåäžè®žå¯
For commercial licensing inquiries / åäžè®žå¯åšè¯¢ïŒhttps://github.com/qgeng1465
- æ¹é对æ¯åæïŒå€æ¡åºå/å€åºå æ¹éå¯éïŒ/ Batch comparative analysis
- èæç»è / ç±»åšå®æ°æ®æ¥å£ïŒå€ç»åŠæŽåïŒ/ Virtual cell & organoid data interfaces
- æŽå€æ°æ®åºæ¯æïŒMGI/ZFIN/Xenbase çæš¡åŒçç©ãæŽå€æ€ç©åºå ç»ïŒ/ More database support
- é«çº§æºèœåæåèœïŒå€agentååïŒ/ Advanced intelligent analysis (multi-agent collaboration)
- P1/P2 åéæ°æ®åºïŒEVA ååŒæ¡£æ¡ãcBioPortal ççåºå ç»ãGDC ççæ°æ®ãBioMartãSIGNOR ä¿¡å·çœç»ãSGD é µæ¯ãBioStudiesãCTD æ¯èŸæ¯çåºå ç»åŠãWikiPathwaysãComplex PortalãHCA 人类ç»èåŸè°±ãMGI/AllianceMineïŒå key 端ç¹äŒå æ¥å ¥ïŒ/ Candidate databases: EVA, cBioPortal, GDC, BioMart, SIGNOR, SGD, BioStudies, CTD, WikiPathways, Complex Portal, HCA, MGI/AllianceMine
- HTTP/2 + ååºçŒå + å¹¶å请æ±äŒåïŒçŒ©çå€åºäº€åéªè¯ççåŸ æ¶éŽ / HTTP/2, response caching, concurrent requests to speed up cross-database validation
æ¬å·¥å ·ä» çšäºåŠä¹ ç ç©¶å䞪人åçäœ¿çš / For educational research and personal reasonable use only.
-
æ¥è¯¢ç»ææ¥èªå ¬åŒæ°æ®åºåå§æ°æ®ïŒäžä¿è¯å®å šåç¡®ïŒè¯·ç»åäžäžå·¥å ·äžåå§æ°æ®å€æ žã Query results come from public database raw data and are not guaranteed to be completely accurate; please verify with professional tools and original data.
-
请éµå®åæ°æ®åºäœ¿ç𿡿¬ŸïŒNCBI èŠæ± â¥3 ç§/请æ±å¹¶æäŸèç³»æ¹åŒïŒæ¬é¡¹ç®å·²å 眮ïŒã Please comply with database usage terms (NCBI requires â¥3 seconds/request with contact info, already built-in).
-
æ¶å䞎åº/è¯ç©/å»çå³çæ¶ïŒè¯·åšè¯¢äžäžäººå£«ãäœ¿çšæ¬å·¥å ·äº§ççä»»äœé£é©äžæ³åŸèޣ任ç±äœ¿çšè èªè¡æ¿æ ã For clinical/drug/medical decisions, please consult professionals. Users assume all risks and liabilities.
If BioMCP helps you, consider supporting the project to keep it updated.
åŠæ BioMCP åž®å°äºäœ ïŒæ¬¢è¿æ¯æé¡¹ç®ïŒè®©ææåšåæç»æŽæ°ã
If you use BioMCP in your research or publication, please cite: åŠææšåšç ç©¶æåºçç©äžäœ¿çšäº BioMCPïŒè¯·åŒçšïŒ
@software{bio_mcp_2026,
title={BioMCP: A Zero-Config MCP Server for Bioinformatics Databases},
author={qgeng1465},
year={2026},
url={https://github.com/qgeng1465/bio-mcp}
}License © 2026 qgeng1465
