news 2026/9/13 9:46:14

skills 仓库实战:使用 BigQuery MCP 服务器让 Agent 安全地查询与分析数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
skills 仓库实战:使用 BigQuery MCP 服务器让 Agent 安全地查询与分析数据

skills 仓库实战:使用 BigQuery MCP 服务器让 Agent 安全地查询与分析数据

【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills

在 skills/cloud/bigquery-basics 这一 BigQuery 基础技能中,MCP(Model Context Protocol)是与bq命令行、客户端库并列的第三种操作 BigQuery 的方式。本篇以 MCP Usage 参考文档为核心,完整拆解 BigQuery 官方远程 MCP 服务器提供的 5 个工具、execute_sql的安全边界与审计标签机制,以及 MCP Toolbox 等替代连接方案,帮助你在 Agent 工作流中可靠、可审计地接入 BigQuery。

背景:为什么 BigQuery 要提供 MCP 服务器

MCP 是一种让大语言模型客户端(如 Gemini CLI、Claude Code 等)以结构化工具调用方式访问外部系统的协议。对于 BigQuery 这样的数据平台,核心概念文档 指出其资源遵循"项目 → Dataset → Table/View"的层级结构,Agent 要完成分析任务,通常需要先"看清"有哪些数据集和表,再执行 SQL。

BigQuery 通过一个**远程 MCP 服务器(remote server)**支持这一流程:服务器托管在 Google 基础设施上,客户端无需本地安装组件,直接以 HTTP 方式连接。相比让 Agent 去拼bq query命令或手写 REST 请求,MCP 工具调用参数结构化、返回结果可直接进入模型上下文,显著降低了 Agent 出错面。这也是 skills 仓库 中多个云服务技能(BigQuery、Cloud Storage、Spanner、Cloud SQL 等)统一采用"CLI + 客户端库 + MCP"三路径参考组织方式的原因,可对照 Cloud Storage MCP 参考 查看同一套"远程托管服务器 vs 本地 MCP Toolbox"模式在其他产品上的应用。

MCP 服务器提供的 5 个工具

官方参考文档 列出了 BigQuery 远程 MCP 服务器的完整工具集,共 5 个,覆盖元数据探查与查询执行两类能力:

工具功能说明
list_dataset_ids列出 Google Cloud 项目中的 BigQuery 数据集 ID
get_dataset_info获取指定数据集的元数据信息
list_table_ids列出指定数据集中的表 ID
get_table_info获取指定表的元数据信息
execute_sql在项目内运行 SQL 查询并返回结果(仅允许SELECT,见下文详解)

可以看出工具集的设计逻辑:前 4 个是只读元数据工具,构成 Agent 的"数据探查"能力——先list_dataset_ids找到数据集,再get_dataset_info/list_table_ids/get_table_info逐层下钻确认表结构;第 5 个execute_sql则是唯一的"数据面"入口。Agent 基于这些元数据可以自动完成"自然语言问题 → 生成 SQL → 执行 → 解读结果"的闭环。

execute_sql 的安全边界

execute_sql是整个服务器中唯一可能产生数据影响面的工具,因此文档对其做了严格约束,这也是接入该服务器时必须理解的要点:

  1. 仅允许SELECT语句INSERTUPDATEDELETE语句以及存储过程(stored procedures)均被禁止;如果提交的查询中不包含SELECT语句,工具会直接返回错误。这意味着 Agent 通过 MCP 通道无法修改、写入或删除任何 BigQuery 数据,写入类需求必须改走bqCLI 或客户端库等受你直接控制的路径。
  2. 查询仍可能有副作用。虽然语句层面被限制为只读,但文档特别提示:如果查询调用了远程函数(remote functions)或 Python UDF,仍可能产生副作用。启用该服务器时应在项目内审查已注册的远程函数与 Python UDF,避免它们被SELECT间接触发。
  3. 计费归属明确。所有通过execute_sql执行的查询都会计费到project_id字段所指定的项目。配置客户端时应确认project_id指向预期项目,避免查询成本落到错误的项目账单上。

审计标签:用goog-mcp-server: true过滤 MCP 来源查询

文档中一个非常实用的细节是:所有经由execute_sql执行的查询都会被自动打上一个标签(label),用于标识"该查询来源于 MCP 服务器"。你可以通过标签键值对goog-mcp-server: true在查询监控中过滤出这类查询。

这个能力有两个直接用途:

  • 用量审计:在 BigQuery 的查询日志/作业信息中按该标签过滤,即可区分哪些查询是 Agent 通过 MCP 发起的,哪些是人类直接执行的;
  • 成本归因:结合project_id计费规则,可以精确核算 MCP 自动化查询消耗的处理字节数。

结合本技能的上报标签:为 MCP 请求追加 User-Agent

需要区分的是,goog-mcp-server: true是服务器为查询打的产品标签,而 skills 仓库 的SKILL.md中另有一套用量归因(attribution)机制,两者互不冲突、可以叠加。该要求规定:所有直接 HTTP 调用 BigQuery API 的请求,或对 MCP 服务器的 HTTP 请求,都必须在现有User-Agent头末尾追加固定字符串:

User-Agent: <existing_user_agent> agent-skills/1.0 (skill:bigquery-basics)

agent-skills/<version>skill:<name>两个 token 会被采集管道解析,因此措辞不可改动。这一点与gcloud命令的归因前缀(CLOUDSDK_METRICS_REQUEST_ATTRIBUTION环境变量)共同构成该技能的可观测性约定。同时文档也明确约束:这些归因前缀只用于你在终端直接执行的命令,不要写进交付给用户的脚本或模板

连接设置

连接 BigQuery 远程 MCP 服务器的完整客户端配置步骤,官方指引在 Google Cloud 文档的 "Configure a client connection" 章节(参见 mcp-usage.md 中 "Setup Instructions" 一节的指向)。从仓库中同类技能的配置样例可以推断其典型形态:在 MCP 客户端的服务器列表中新增一个 HTTP 类型的条目,填入 BigQuery MCP 端点 URL,并配置 OAuth 2.0 认证信息。例如 skills 仓库 中的plugins/cloud/google-cloud-developer/mcp_config.json就展示了为客户端声明一个远程 MCP 服务器的标准结构(mcpServers→ 服务器名 →serverUrl);BigQuery 的接入方式与之同构,区别在于需要额外的 OAuth/IAM 认证头。配置完成后,客户端会列出上文的 5 个工具供 Agent 调用。

支持的操作场景

文档归纳了基于 BigQuery MCP 远程服务器的 Agent 可执行任务:

  • 通过生成并运行 SQL 回答数据问题——这是最典型的 NL2SQL 工作流,前 4 个元数据工具为 SQL 生成提供表结构与字段依据;
  • 获取数据集元数据——list_dataset_ids+get_dataset_info
  • 获取表元数据——list_table_ids+get_table_info

一个典型的探查链路是:list_dataset_ids(项目有哪些数据集)→list_table_ids(某数据集有哪些表)→get_table_info(表的列与模式)→execute_sql(基于确认过的模式写SELECT)。由于元数据工具与查询工具由同一个服务器提供,Agent 可以在一次会话内完成"看清结构再查数",无需人工切换工具。

替代方案:MCP Toolbox 与 BigQuery Data Analytics 扩展

参考文档 的末尾给出两条替代/增强路径:

  1. MCP Toolbox:一个开源的本地 MCP 服务器命令行工具,可以在本地为 BigQuery 连接拉起 MCP 服务。适合你希望服务器跑在本机(stdio 传输)、需要本地凭证管理或本地工具链集成的场景。对照仓库内 Cloud Storage MCP 参考 的选型表可以推断二者的分工逻辑:远程托管服务器免安装、带服务端安全护栏,适合元数据探查和小查询;本地 Toolbox 则便于接入更丰富的本地操作。对于 BigQuery 而言,远程服务器已覆盖"元数据 + SELECT 查询"的核心诉求,本地 Toolbox 主要补足托管端点不可用或需要自定义工具集的情形。
  2. BigQuery Data Analytics 扩展:面向 Gemini CLI 以及 Claude Code / Codex 的插件,提供更多专门的技能与高级分析工作流。当你需要的不只是单条 SQL,而是成体系的分析流程时,可在 MCP 服务器之上叠加该扩展。

与仓库中其他 BigQuery 操作路径的关系

bigquery-basics技能将 MCP 定位为与 CLI、客户端库互补的路径,选型时可对照:

  • bqCLI(cli-usage.md):管理数据集、建表(bq mk --table ... schema.json)、加载数据(bq load)、作业管理(bq ls -j/bq show -j/bq cancel)等资源管理操作,MCP 服务器不覆盖这些写操作——例如 MCP 只能列数据集,而bq mk --dataset --location=us my_dataset才能建数据集;查询方面 CLI 支持--dry_run预估处理字节数,是成本控制手段;
  • 客户端库(client-library-usage.md):Python、Java、Node.js、Go 等语言的程序化集成,适合把 BigQuery 查询固化进应用代码;
  • MCP 服务器(本文主题):面向 Agent 会话的结构化查询入口,只读、可审计、带审计标签。

综合来看,推荐组合是:资源生命周期管理走 CLI 或 IaC,应用内集成走客户端库,Agent 的交互式数据问答走 MCP——execute_sqlSELECT白名单与goog-mcp-server: true标签正是为了让"Agent 自主查询"这件事在安全与成本上都可预期。

小结

BigQuery MCP 服务器以 5 个工具提供了"元数据探查 + 只读查询"的完整闭环:list_dataset_idsget_dataset_infolist_table_idsget_table_info负责让 Agent 看清数据结构,execute_sql负责执行仅SELECT的查询并自动携带goog-mcp-server: true审计标签,计费落到project_id指定项目。接入时注意两点:一是确认项目内远程函数/Python UDF 不会引入查询副作用,二是按 SKILL.md 的约定为对 MCP 服务器的 HTTP 请求追加agent-skills/1.0 (skill:bigquery-basics)归因前缀。若需要更灵活的本地服务器或成体系的高级分析工作流,可分别参考 MCP Toolbox 与 BigQuery Data Analytics 扩展。

【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 9:44:31

A100 80G服务器价格差异的本质:算力生产系统配置全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 9:43:41

专科生论文写作利器:AI工具选型与高效应用指南

1. 毕业论文写作痛点与工具化解决方案专科生在撰写毕业论文时普遍面临三大核心难题&#xff1a;学术规范不熟悉、文献检索能力弱、写作时间紧迫。传统写作模式要求学生从零开始构建论文框架、手动整理文献资料、逐字撰写内容&#xff0c;这对基础薄弱的学生而言无异于一场煎熬。…

作者头像 李华
网站建设 2026/9/13 9:42:16

二叉树基础与GESP考试重点解析

1. 二叉树基础概念与GESP考试要求二叉树是每个节点最多有两个子节点的树形数据结构&#xff0c;在计算机科学中有着广泛应用。GESP2406六级考试将二叉树作为重点考察内容&#xff0c;主要测试考生对二叉树基本操作的理解和实现能力。二叉树的典型特征包括&#xff1a;每个节点至…

作者头像 李华
网站建设 2026/9/13 9:41:21

SPC统计过程控制:原理、工具与行业应用指南

1. 统计过程控制&#xff08;SPC&#xff09;的基本概念统计过程控制&#xff08;Statistical Process Control&#xff0c;简称SPC&#xff09;是一种运用统计方法对生产过程进行监控和管理的技术。它通过收集和分析生产过程中的数据&#xff0c;识别过程中的变异&#xff0c;…

作者头像 李华
网站建设 2026/9/13 9:39:33

Cyclone FPGA UART FIFO自收发实战:跨时钟域与Quartus 9.0兼容

简介&#xff1a;本资源是一套基于Cyclone系列FPGA实现UART串口自收发通信的完整Verilog工程&#xff0c;面向数字电路与FPGA初学者及嵌入式通信开发学习者&#xff0c;解决串口协议底层实现、FIFO缓存设计与跨时钟域数据交互等核心实践问题。压缩包共222个文件&#xff0c;含3…

作者头像 李华