项目简介
BigQuery MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在让大型语言模型 (LLM),如 Claude,能够直接与您的 Google BigQuery 数据进行交互。它充当 LLM 和 BigQuery 数据库之间的桥梁,允许您通过自然语言查询和分析 BigQuery 中的数据,而无需手动编写 SQL 代码。
主要功能点
- 自然语言查询: 通过简单的自然语言提问,即可查询 BigQuery 数据库中的数据。
- 数据访问: 支持访问 BigQuery 中的表和物化视图。
- 模式探索: 清晰展示数据集的结构,包括表和视图的类型。
- 安全访问: 提供只读数据访问权限,保障数据安全。
- 可配置: 支持通过命令行参数配置项目 ID、地理位置和服务账号密钥文件等信息。
安装步骤
-
安装 Node.js: 确保您的计算机上已安装 Node.js 14 或更高版本。
-
安装 BigQuery MCP Server: 推荐使用 Smithery 进行快速安装。打开终端并运行以下命令:
npx @smithery/cli install @ergut/mcp-bigquery-server --client claude按照提示输入您的 Google Cloud 项目 ID 和 BigQuery 地理位置(默认为 us-central1)。Smithery 将自动配置 Claude Desktop 并重启应用。
如果您选择手动安装,请参考仓库 README.md 中的 "Option 2: Manual Setup" 部分。
服务器配置
要将 BigQuery MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端的配置文件。以下是配置信息,您需要将其添加到客户端的 MCP 服务器配置中。
Claude Desktop 配置示例 (claude_desktop_config.json):
{ "mcpServers": { "bigquery": { "command": "npx", "args": [ "-y", "@ergut/mcp-bigquery-server", "--project-id", "YOUR_PROJECT_ID", // 替换为您的 Google Cloud 项目 ID "--location", "us-central1" // BigQuery 地理位置,默认为 us-central1,可根据您的实际情况修改 ] } } }
如果使用服务账号密钥文件进行身份验证,配置示例为:
{ "mcpServers": { "bigquery": { "command": "npx", "args": [ "-y", "@ergut/mcp-bigquery-server", "--project-id", "YOUR_PROJECT_ID", // 替换为您的 Google Cloud 项目 ID "--location", "us-central1", // BigQuery 地理位置,默认为 us-central1,可根据您的实际情况修改 "--key-file", "/path/to/service-account-key.json" // 替换为您的服务账号密钥文件路径 ] } } }
配置参数说明:
- 'server name': 'bigquery' (此名称在客户端配置中用于标识该服务器)
- 'command': 'npx' (用于执行 Node.js 包)
- 'args': 启动服务器的参数列表,包括:
- '-y': 'npx' 参数,用于自动确认安装包
- '@ergut/mcp-bigquery-server': 要执行的 npm 包名称,即 BigQuery MCP Server
- '--project-id': 您的 Google Cloud 项目 ID (必填)
- '--location': BigQuery 地理位置 (可选,默认为 us-central1)
- '--key-file': 服务账号密钥文件路径 (可选,如果使用服务账号密钥文件进行身份验证)
注意: 请将 'YOUR_PROJECT_ID' 和 '/path/to/service-account-key.json' 替换为您的实际信息。
基本使用方法
- 启动 MCP 客户端: 启动您配置了 BigQuery MCP Server 的 MCP 客户端,例如 Claude Desktop。
- 开始对话: 在客户端中,您可以像与普通 LLM 对话一样,提出关于您的 BigQuery 数据的问题。例如:
- "上个月销售额最高的 10 个客户是谁?"
- "订单量超过 100 的产品有哪些?"
- "展示客户表中的字段名称。"
MCP 服务器会将您的自然语言问题转换为 BigQuery SQL 查询,执行查询并返回结果给客户端,最终以自然语言呈现给您。
信息
分类
数据库与文件