生物制剂MCP
一组微服务和客户端,用于与生物数据库进行自然语言交互。
组件
- LLM客户端:具有web UI和终端模式的自然语言界面
- PDB MCP服务器:蛋白质数据库API服务
- ChEMBL MCP服务器:化学品数据库API服务
建筑
┌─────────────┐ ┌──────────────┐
│ LLM UI │ │ Ollama LLM │
│ (Chainlit) │ │ │
└─────┬───────┘ └───────┬──────┘
│ │
┌─────┴─────────────────────┴──────┐
│ LLM Client │
└─────┬─────────────────────┬──────┘
│ │
┌─────┴───────┐ ┌──────┴───────┐
│ PDB MCP │ │ ChEMBL MCP │
│ Server │ │ Server │
└─────────────┘ └──────────────┘快速开始
- 配置环境:
cp .env.example .env- 启动服务:
make build
make up- 启动web界面:
make run-chainlit访问http://localhost:8000开始查询生物数据。
发展
- 使用
make help查看可用命令 - 每个服务都有自己的README,其中包含详细的文档
- 配置文件位于
conf/目录
描述
该项目包含多个模块,这些模块使用FastMCP框架与各种服务和API进行交互。每个模块都旨在执行特定的任务,可以使用Docker Compose独立或一起运行。该项目的主要重点是生物制剂,提供与蛋白质数据库(PDB)等生物数据源交互的工具和服务。
模块
LLM客户端
这 llm-client 该模块提供了一个与语言模型(LLM)服务器交互的客户端,以处理查询并利用可用工具。它使用FastMCP框架构建,支持异步操作 aiohttp.
有关更多详细信息,请参阅 LLM客户端自述文件.
蛋白质数据库
这 protein_data_bank_mcp 模块提供了一个与蛋白质数据库(PDB)API交互的服务器,以获取结构组装描述、化学成分、药物库注释、分支实体、非聚合物实体、聚合物实体、单核注释、结构、公开注释、PDB簇数据聚合、聚合群来源、PDB聚类数据聚合方法和成对聚合物界面描述。它使用FastMCP框架构建,支持异步操作 aiohttp.
有关更多详细信息,请参阅 蛋白质数据库自述.
码头工人
每个模块都提供了Docker文件来构建Docker镜像。
- 构建Docker镜像:
docker build -t .- 运行Docker容器:
docker run --env-file .env Docker Compose
A. docker-compose.yml 提供文件以一起运行所有服务。
- 启动所有服务:
docker-compose up -d- 停止所有服务:
docker-compose down生成文件
A. Makefile 以简化常见任务。
- 可用目标:
- setup-env:设置初始环境。 - build:构建所有Docker镜像。 - up:使用docker compose启动所有服务。 - down:停止使用docker compose的所有服务。 - restart:使用docker compose重新启动所有服务。

