🚀 BioContextAI - Knowledgebase MCP
BioContextAI - Knowledgebase MCP是一個用於生物醫學研究的模型上下文協議(MCP)服務器,它在人工智能系統和生物醫學資源之間提供了一個標準化的連接層,助力生物醫學領域的智能研究。
🚀 快速開始
BioContextAI Knowledgebase MCP有兩種使用方式:
- 本地部署:作為開源軟件包,可在本地進行託管(詳見自託管)。
- 遠程服務器:可通過https://mcp.biocontext.ai/mcp/ 進行免設置集成(需遵守合理使用原則)。
⚠️ 重要提示
若條件允許,建議您在本地運行BioContextAI Knowledgebase MCP,以避免速率限制,並確保依賴遠程託管的應用程序的服務可用性。
✨ 主要特性
- 統一訪問層:與以往為每個資源進行自定義集成的方法不同,BioContextAI KB MCP通過模型上下文協議提供了一個統一的訪問層,實現了人工智能系統與特定領域數據源之間的互操作性。
- 多工具集成:暴露了許多外部生物醫學API,可看作是大語言模型(LLM)的瀏覽器,使其能夠在這些知識庫中查找相關信息。
- 易於擴展:
FastMCP允許將遵循OpenAPI規範的REST端點輕鬆轉換為MCP服務器,用戶可通過編輯配置文件(src/biocontext_kb/openapi/config.yaml)輕鬆擴展可用工具列表。
📦 安裝指南
克隆倉庫
克隆此倉庫的最新版本:
git clone https://github.com/biocontext-ai/core-mcp-server.git
cd core-mcp-server
部署方式
1. Docker 部署(gunicorn 搭配多個 uvicorn 工作進程)
docker build -t biocontext_kb:latest .
docker run -p 127.0.0.1:8000:8000 biocontext_kb:latest
此方式將在 http://127.0.0.1:8000/mcp/ 暴露您的 MCP 服務器。
⚠️ 重要提示
對於公共部署,您應該禁用不必要的端口,並通過反向代理(如 Nginx 或 Caddy)訪問您的 MCP 服務器。您可能還需要配置運行用戶和目錄以限制權限,在無 root 權限的環境中使用 Docker 或 podman,並採取額外的安全措施,如使用 Cloudflare 進行 DDoS 保護或使用 fail2ban。
2. 使用 uv 進行本地部署,支持可流式傳輸的 HTTP 和 uvicorn
uv build
export MCP_ENVIRONMENT=PRODUCTION
export PORT=8000
biocontext_kb
3. 使用 uv 進行本地部署,使用標準輸入輸出傳輸
uv build
export MCP_ENVIRONMENT=DEVELOPMENT
biocontext_kb
4. 使用 Claude Desktop 進行本地部署(claude_desktop_config.json)
{
"mcpServers": {
"biocontext_kb": {
"command": "uvx",
"args": [
"biocontext_kb@latest"
],
"env": {
"UV_PYTHON": "3.12"
}
}
}
}
別忘了重啟 Claude 以應用更改。
5. 在 VS Code(.vscode/mcp.json)、Cursor(.cursor/mcp.json)或 WindSurf(.codeium/windsurf/mcp_config.json)中與您的編碼代理一起進行本地部署
{
"mcpServers": {
"biocontext_kb": {
"command": "uvx",
"args": [
"biocontext_kb@latest"
]
}
}
}
在使用 Windows 和 WSL2 時,上述配置需要進行如下調整:
{
"mcpServers": {
"biocontext_kb": {
"command": "wsl",
"args": [
"~/.local/bin/uvx",
"biocontext_kb"
]
}
}
}
6. 與您自己的 MCP 客戶端進行本地部署
💻 使用示例
BioContextAI Knowledgebase MCP 可幫助大語言模型(LLM)在多個生物醫學知識庫中查找相關信息。例如,您可以使用它來進行基因ID轉換、文獻搜索、蛋白質結構預測等操作。以下是一些使用示例:
基礎用法
假設您需要進行基因ID轉換,您可以使用集成的 Antibody Registry 或 Ensembl 工具。具體代碼實現需根據您使用的編程語言和具體的API調用方式進行編寫。
高級用法
如果您需要進行更復雜的操作,如結合多個工具進行綜合分析,您可以根據具體需求組合使用不同的API。例如,您可以先使用 bioRxiv/medRxiv 進行最新預印本搜索,然後使用 EuropePMC 進行文獻全文訪問。同樣,具體代碼需根據實際情況編寫。
📚 詳細文檔
- 項目文檔:https://biocontext.ai
- API 文檔:https://docs.kb.biocontext.ai/
- BioContextAI 註冊表:https://github.com/biocontext-ai/registry
- 聊天界面:https://biocontext.ai/chat
🔧 技術細節
BioContextAI Knowledgebase MCP 實現了一個 MCP 服務器,用於連接人工智能系統和生物醫學資源。它通過統一的訪問層,允許大語言模型(LLMs)檢索經過驗證的信息並執行特定領域的任務。服務器使用了多種技術,如 FastMCP 來將遵循 OpenAPI 規範的 REST 端點轉換為 MCP 服務器,方便用戶擴展可用工具列表。
📄 許可證
本項目採用 Apache License 2.0 許可 - 詳情請參閱 LICENSE 文件。
⚠️ 重要提示
Apache 2.0 許可證僅適用於此倉庫中提供的代碼。對於各個集成 API 的使用限制和許可證,用戶應直接參考相應的 API 提供商。以下是數據來源和許可的概述。
數據來源和許可
| 數據來源 |
許可證 |
URL |
備註 |
| AlphaFold (EMBL - EBI) |
CC BY 4.0 |
https://alphafold.ebi.ac.uk/ |
|
| Antibody Registry (RRIDs) |
CC0(元數據:CC - NC) |
https://www.antibodyregistry.org/faq |
部分元數據有商業再利用限制 |
| bioRxiv/medRxiv |
CC BY 4.0 |
https://www.biorxiv.org/about/FAQ |
預印本內容許可證各不相同 |
| ClinicalTrials.gov API |
使用條款 |
https://clinicaltrials.gov/about-site/terms-conditions |
需要註明出處 |
| Ensembl |
無限制* |
https://www.ensembl.org/info/about/legal/disclaimer.html |
*某些第三方數據可能有限制 |
| EuropePMC |
多種/版權保護 |
https://europepmc.org/Copyright |
個別文章許可證各不相同 |
| Google Scholar |
使用條款 |
https://scholar.google.com/intl/en/scholar/terms.html |
有速率限制;請負責任地使用 |
| Grants.gov API |
使用條款 |
https://www.grants.gov/api/terms-conditions |
需要註明出處 |
| Human Protein Atlas |
CC BY - SA 4.0 |
https://www.proteinatlas.org/about/licence |
|
| InterPro |
CC0 1.0 Universal |
https://www.ebi.ac.uk/interpro/ |
包括 InterPro、Pfam、PRINTS 和 SFLD 數據 |
| KEGG |
專有(免費學術使用) |
https://www.kegg.jp/kegg/legal.html |
根據其專有許可證條款,不允許使用 KEGG 數據提供商業服務或進行遠程託管 |
| Ontology Lookup Service (EMBL - EBI) |
通常為 CC0/CC BY |
https://www.ebi.ac.uk/licencing/ |
請參考 EMBL - EBI 通用許可證 |
| Open Targets |
CC0 1.0 |
https://platform-docs.opentargets.org/licence |
|
| OpenFDA |
CC0 1.0 Universal* |
https://open.fda.gov/license/ |
*某些數據可能有限制 |
| PanglaoDB |
公共數據 |
https://panglaodb.se/about.html |
所有數據均為公共數據 |
| PRIDE |
CC0/CC BY 4.0* |
https://www.ebi.ac.uk/pride/markdownpage/license |
*2018 年 6 月以後的數據集為 CC0,衍生資源為 CC BY 4.0 |
| Reactome |
CC0 |
https://reactome.org/license |
|
| STRING |
CC BY 4.0 |
https://string-db.org/cgi/access?footer_active_subpage=licensing |
|
| UniProt |
CC BY 4.0 |
https://www.uniprot.org/help/license |
|
免責聲明
用戶在通過此 MCP 服務器訪問數據時,應獨自負責確保遵守所有適用的許可條款和條件。 上述許可證和條款可能會發生變化,特定數據集或出版物可能有額外的引用要求。在將任何數據用於商業目的、再分發或出版之前,請直接從每個數據源審查當前的許可條款。某些數據源可能有未在此摘要中完全涵蓋的額外限制。
對於 KEGG 數據,特別需要注意的是,雖然允許學術使用,但根據其專有許可證條款,不允許使用 KEGG 數據提供商業服務或進行遠程託管。
引用
如果我們的工作對您的研究有用,請按以下方式引用:
TBA.
已實現的工具
BioContextAI Knowledgebase MCP 暴露了許多外部生物醫學 API,您可以將 BioContextAI 視為大語言模型(LLM)的瀏覽器,使其能夠在這些知識庫中查找相關信息。使用 BioContextAI Knowledgebase MCP 時,請務必遵守各個服務的使用限制(如速率限制)。如果您在研究中使用了這些服務的數據,請務必同時引用 BioContextAI 和相應的數據源/工具。
⚠️ 重要提示
通過這些 API 訪問的數據不在 BioContextAI Knowledgebase MCP 許可證的覆蓋範圍內。您有責任確保您對數據的使用符合許可規定。
工具列表