使用说明
项目简介
mcp_bigquery_biomedical 是一个 MCP 服务器,旨在为大型语言模型 (LLM) 提供访问 Google BigQuery 中生物医学数据集的接口。该服务器允许 LLM 通过标准化的 MCP 协议,安全有效地查询和分析海量的生物医学数据,从而支持生物医药领域的知识发现和决策。
主要功能点
- 数据资源访问: 提供对 Google BigQuery 生物医学数据集的访问能力,特别是 OpenTargets 数据库。
- SQL查询工具: 支持执行 'SELECT' SQL 查询,从 BigQuery 数据集中提取所需信息。
- 数据集和表信息: 提供列出可用数据集、表格以及描述表格结构的功能,帮助 LLM 理解数据模式。
- 分析洞察记录: 内置分析备忘录 (memo) 功能,允许 LLM 记录和检索分析过程中的关键发现 (insights)。
- Prompt 模板: 预置了用于临床试验领域分析的 Prompt 模板,支持定制化的 LLM 交互模式。
- 成本控制: 具备查询成本控制机制,防止因 LLM 生成的复杂查询而产生过高的 BigQuery 使用费用。
安装步骤
- 环境准备: 确保已安装 Python 3.8 或更高版本。建议使用虚拟环境 (venv) 管理项目依赖。
- 安装依赖: 虽然仓库中没有明确的 'requirements.txt' 文件,但根据 'README.md' 和代码内容,你需要安装以下Python包。可以使用 'uv' 或 'pip' 进行安装 (以下命令使用 'uv',如果使用 'pip',请将 'uv' 替换为 'pip'):
如果你还没有安装 'uv', 可以先用 'pip install uv' 安装。uv pip install google-cloud-bigquery mcp pydantic python-dotenv - 配置环境变量:
- 'BIGQUERY_CREDENTIALS': 设置 Google Cloud Service Account 密钥文件的路径。你需要先在 Google Cloud Console 中创建一个 Service Account,并下载 JSON 格式的密钥文件。
- 'ALLOWED_DATASETS': 设置允许访问的 BigQuery 数据集名称列表,用逗号分隔。例如:'open_targets_platform,open_targets_genetics'。
- 'BIGQUERY_MAX_COST_USD' (可选): 设置单个查询允许的最大成本(美元),默认值为 0.5 美元。
- 启动服务器: 在项目根目录下,使用以下命令启动 MCP 服务器:
uv run mcp_bigquery_biomedical
服务器配置
以下是配置 'claude_desktop_config.json' 以连接到 'mcp_bigquery_biomedical' MCP 服务器的示例。你需要根据你的实际环境修改 'PATH TO mcp-bigquery-biomedical REPOSITORY' 和 'PATH_TO_YOUR_SERVICE_ACCOUNT_KEY.json'。
"mcpServers": { "BIGQUERY-BIOMEDICAL-MCP": { "command": "uv", "args": [ "--directory", "PATH TO mcp-bigquery-biomedical REPOSITORY", // 替换为 mcp-bigquery-biomedical 仓库的本地路径 "run", "mcp_bigquery_biomedical" ], "env": { "BIGQUERY_CREDENTIALS": "PATH_TO_YOUR_SERVICE_ACCOUNT_KEY.json", // 替换为你的 Service Account 密钥文件路径 "ALLOWED_DATASETS": "open_targets_platform,open_targets_genetics" // 根据需要配置允许访问的数据集 } } }
基本使用方法
- 确保 MCP 服务器已成功启动并运行。
- 在支持 MCP 协议的 LLM 客户端(例如 Claude Desktop)中,配置并连接到 'BIGQUERY-BIOMEDICAL-MCP' 服务器。
- LLM 客户端将能够:
- 列出和读取服务器提供的资源 (Resources),例如 "OpenTargets Database Schema" 和 "Insights on Target Assessment"。
- 列出和调用服务器提供的工具 (Tools),例如 "read-query", "list-tables", "describe-table" 等,以查询和分析 BigQuery 数据。
- 使用服务器提供的 Prompt 模板,例如 "indication-landscape",进行特定领域的分析任务。
通过这些工具和资源,LLM 可以与 BigQuery 中的生物医学数据进行交互,执行复杂的数据分析和知识挖掘任务。
信息
分类
数据库与文件