返回市场
生物代理mcp

生物代理mcp

作者:dogeplusplus7 星标更新:2025-03-24

项目介绍

Bio-Agents MCP

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

组件

  • LLM 客户端: 支持网页UI和终端模式的自然语言接口
  • PDB MCP 服务器: 蛋白质数据银行API服务
  • ChEMBL MCP 服务器: 化学数据库API服务

架构

┌─────────────┐     ┌──────────────┐
│   LLM UI    │     │  Ollama LLM  │
│  (Chainlit) │     │              │
└─────┬───────┘     └───────┬──────┘
      │                     │
┌─────┴─────────────────────┴──────┐
│           LLM 客户端             │
└─────┬─────────────────────┬──────┘
      │                     │
┌─────┴───────┐     ┌──────┴───────┐
│  PDB MCP    │     │  ChEMBL MCP  │
│   服务器    │     │    服务器    │
└─────────────┘     └──────────────┘

快速开始

  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 客户端 README

蛋白质数据银行

protein_data_bank_mcp 模块提供了一个服务器,该服务器与蛋白质数据银行(PDB) API交互以获取结构组装描述、化学成分、DrugBank注释、分支实体、非聚合物实体、聚合物实体、UniProt注释、结构、PubMed注释、PDB聚类数据聚合、聚合组来源、PDB聚类数据聚合方法以及成对聚合物界面描述。它使用FastMCP框架构建,并支持使用aiohttp的异步操作。

更多详情,请参阅 蛋白质数据银行 README

Docker

为每个模块提供了Dockerfile以构建Docker镜像。

  • 构建Docker镜像:

    docker build -t <module-name> .
    
  • 运行Docker容器:

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

Docker Compose

提供了一个 docker-compose.yml 文件来同时运行所有服务。

  • 启动所有服务:

    docker-compose up -d
    
  • 停止所有服务:

    docker-compose down
    

Makefile

提供了一个 Makefile 来简化常见任务。

  • 可用目标:
    • setup-env: 设置初始环境。
    • build: 构建所有Docker镜像。
    • up: 使用docker-compose启动所有服务。
    • down: 使用docker-compose停止所有服务。
    • restart: 使用docker-compose重启所有服务。