生物数据库自然语言交互工具集

Bio-Agents MCP 是一个用于与生物数据库进行自然语言交互的微服务和客户端集合,支持蛋白质数据银行和化学数据库的API服务。

  • by dogeplusplus
  • Python
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 dogeplusplus/bio-agents-mcp

使用说明

生物制剂MCP

一组微服务和客户端,用于与生物数据库进行自然语言交互。

组件

  • LLM客户端:具有web UI和终端模式的自然语言界面
  • PDB MCP服务器:蛋白质数据库API服务
  • ChEMBL MCP服务器:化学品数据库API服务

建筑

┌─────────────┐     ┌──────────────┐
│   LLM UI    │     │  Ollama LLM  │
│  (Chainlit) │     │              │
└─────┬───────┘     └───────┬──────┘
      │                     │
┌─────┴─────────────────────┴──────┐
│           LLM Client             │
└─────┬─────────────────────┬──────┘
      │                     │
┌─────┴───────┐     ┌──────┴───────┐
│  PDB MCP    │     │  ChEMBL MCP  │
│   Server    │     │    Server    │
└─────────────┘     └──────────────┘

快速开始

  1. 配置环境:
cp .env.example .env
  1. 启动服务:
make build
make up
  1. 启动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 <module-name> .
    
  • 运行Docker容器:

    docker run --env-file .env <module-name>
    

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重新启动所有服务。