使用说明

项目简介

Biomart-MCP 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供访问 Ensembl Biomart 数据库的接口。通过 Biomart-MCP,LLM 可以调用工具来查询基因注释、基因标识符和其他生物数据,从而扩展 LLM 在生物信息学领域的应用能力。

主要功能点

  • Mart 和 Dataset 发现: 允许 LLM 浏览和发现 Ensembl Biomart 中可用的不同数据库 (marts) 和数据集 (datasets)。
  • 属性和过滤器探索: 提供工具来查看数据集的属性 (attributes) 和过滤器 (filters),帮助 LLM 理解可查询的数据字段和筛选条件。
  • 数据检索: 支持 LLM 使用指定的属性和过滤器从 Biomart 数据库中检索生物数据,返回 CSV 格式的结果。
  • ID 转换: 提供基因或蛋白 ID 的跨数据库转换功能,例如将基因符号转换为 Ensembl ID。
  • 批量 ID 转换: 支持批量转换多个 ID,提高数据处理效率。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/jzinno/biomart-mcp.git
    cd biomart-mcp
  2. 安装依赖: Biomart-MCP 使用 'uv' 包管理器,并依赖 'mcp' 和 'pybiomart' 库。
    uv run --with mcp[cli] mcp install --with pybiomart biomart-mcp.py
    或者,你也可以使用 'uv venv' 创建虚拟环境并手动安装依赖:
    uv venv
    source .venv/bin/activate  # Linux/MacOS
    # .venv\Scripts\activate  # Windows
    uv sync  # 或 uv add mcp[cli] pybiomart

服务器配置

要将 Biomart-MCP 服务器添加到 MCP 客户端(例如 Claude Desktop 或 Cursor),你需要配置服务器启动命令。以下是配置信息示例 (JSON 格式):

{
  "server_name": "biomart",
  "command": "uv run",
  "args": [
    "--with",
    "mcp[cli]",
    "--with",
    "pybiomart",
    "mcp",
    "run",
    "/your/path/to/biomart-mcp.py"  // 请替换为 biomart-mcp.py 文件的实际路径
  ]
}

配置参数说明:

  • 'server_name': 自定义服务器名称,例如 "biomart",在客户端中用于标识该服务器。
  • 'command': 运行服务器的命令,这里使用 'uv run' 来运行 Python 脚本并管理依赖。
  • 'args': 传递给 'uv run' 命令的参数列表:
    • '--with mcp[cli]': 确保包含 MCP 命令行工具,这是运行 MCP 服务器的必要组件。
    • '--with pybiomart': 指定包含 'pybiomart' 库,Biomart-MCP 依赖此库来访问 Biomart 数据库。
    • 'mcp run': 实际执行 MCP 服务器的命令。
    • '/your/path/to/biomart-mcp.py': 重要: 请将 '/your/path/to/biomart-mcp.py' 替换为 'biomart-mcp.py' 脚本在您本地文件系统中的绝对路径。例如,如果 'biomart-mcp.py' 位于用户主目录下的 'biomart-mcp' 文件夹中,路径可能类似于 '/Users/yourusername/biomart-mcp/biomart-mcp.py' (MacOS/Linux) 或 'C:\Users\YourUsername\biomart-mcp\biomart-mcp.py' (Windows)。

在 MCP 客户端中添加服务器时,请务必正确填写 'command' 和 'args',特别是要将脚本路径替换为实际路径。

基本使用方法

  1. 确保 Biomart-MCP 服务器已成功添加到 MCP 客户端。
  2. 在 LLM 的对话界面中,可以使用自然语言指令来调用 Biomart-MCP 提供的工具。例如:
    • "列出 Ensembl 基因 mart 中的所有数据集"
    • "在人类基因数据集中查找基因 'TP53' 的 Ensembl ID"
    • "获取人类基因数据集中 'chromosome_name' 为 '1' 且 'gene_biotype' 为 'protein_coding' 的基因的 Ensembl ID 和基因名称"

LLM 将解析这些指令,并调用 Biomart-MCP 服务器提供的相应工具来查询 Biomart 数据库,并将结果返回给用户。

信息

分类

数据库与文件