BigQuery MCP 服务器
这是什么? 🤔
这是一个让你的 LLM(如 Claude)可以直接与你的 BigQuery 数据交互的服务器!你可以把它想象成一个位于你的 AI 助手和数据库之间的友好翻译器,确保它们能够安全高效地交流。
快速示例
你:"我们上个月的前十名客户是谁?"
Claude:*查询你的 BigQuery 数据库并以纯英文给你答案*
不再需要手动编写 SQL 查询 - 直接自然地与你的数据聊天!
它是如何工作的? 🛠️
该服务器使用模型上下文协议(MCP),这是一个用于 AI-数据库通信的通用翻译器。虽然 MCP 设计用于与任何 AI 模型配合使用,但目前它仅在 Claude Desktop 中提供开发者预览版。
你需要做的是:
- 设置认证(见下文)
- 将你的项目详情添加到 Claude Desktop 的配置文件中
- 自然地与你的 BigQuery 数据聊天!
它能做什么? 📊
- 仅通过用纯英文提问即可运行 SQL 查询
- 访问数据集中的表和物化视图
- 通过清晰的资源类型标签(表与视图)探索数据集架构
- 在安全限制内分析数据(默认 1GB 查询限制)
- 保护你的数据安全(仅读访问)
快速入门 🚀
前置条件
- Node.js 14 或更高版本
- 已启用 BigQuery 的 Google Cloud 项目
- 要么已安装 Google Cloud CLI,要么有服务账户密钥文件
- Claude Desktop(目前唯一支持 LLM 界面)
选项 1:通过 Smithery 快速安装(推荐)
要自动通过 Smithery 安装 BigQuery MCP 服务器用于 Claude Desktop,请在终端中运行以下命令:
npx @smithery/cli install @ergut/mcp-bigquery-server --client claude
安装程序将提示你输入:
- 你的 Google Cloud 项目 ID
- BigQuery 位置(默认为 us-central1)
配置完成后,Smithery 将自动更新你的 Claude Desktop 配置并重启应用程序。
选项 2:手动设置
如果你更喜欢手动配置或需要更多控制:
-
使用 Google Cloud 进行认证(选择一种方法):
- 使用 Google Cloud CLI(开发环境适用):
gcloud auth application-default login - 使用服务账户(生产环境推荐):
# 保存你的服务账户密钥文件并使用 --key-file 参数 # 请确保安全保管服务账户密钥文件,切勿将其提交到版本控制
- 使用 Google Cloud CLI(开发环境适用):
-
添加到你的 Claude Desktop 配置 将以下内容添加到你的
claude_desktop_config.json:-
基本配置:
{ "mcpServers": { "bigquery": { "command": "npx", "args": [ "-y", "@ergut/mcp-bigquery-server", "--project-id", "your-project-id", "--location", "us-central1" ] } } } -
使用服务账户:
{ "mcpServers": { "bigquery": { "command": "npx", "args": [ "-y", "@ergut/mcp-bigquery-server", "--project-id", "your-project-id", "--location", "us-central1", "--key-file", "/path/to/service-account-key.json" ] } } }
-
-
开始聊天! 打开 Claude Desktop 并开始询问你的数据相关问题。
命令行参数
服务器接受以下参数:
--project-id:必需的 Google Cloud 项目 ID--location:可选的 BigQuery 位置,默认为 'us-central1'--key-file:可选的路径到服务账户密钥 JSON 文件
使用服务账户的示例:
npx @ergut/mcp-bigquery-server --project-id your-project-id --location europe-west1 --key-file /path/to/key.json
需要的权限
你需要以下其中一项:
roles/bigquery.user(推荐)- 或者两者:
roles/bigquery.dataViewerroles/bigquery.jobUser
开发者设置(可选) 🔧
想自定义或贡献?以下是本地设置方法:
# 克隆并安装
git clone https://github.com/ergut/mcp-bigquery-server
cd mcp-bigquery-server
npm install
# 构建
npm run build
然后更新你的 Claude Desktop 配置以指向你的本地构建:
{
"mcpServers": {
"bigquery": {
"command": "node",
"args": [
"/path/to/your/clone/mcp-bigquery-server/dist/index.js",
"--project-id",
"your-project-id",
"--location",
"us-central1",
"--key-file",
"/path/to/service-account-key.json"
]
}
}
}
当前限制 ⚠️
- MCP 支持目前仅在 Claude Desktop(开发者预览版)中可用
- 连接仅限于运行在同一台机器上的本地 MCP 服务器
- 查询为只读模式,处理限制为 1GB
- 虽然支持表和视图,但某些复杂的视图类型可能存在限制
支持 & 资源 💬
许可证 📝
MIT 许可证 - 详情请见 LICENSE 文件。
作者 ✍️
Salih Ergüt
赞助商
本项目由以下机构自豪赞助:
版本历史 📋
更新和版本历史请见 CHANGELOG.md。