借助 BigQuery 全托管式远程 MCP 服务器,加速构建数据分析智能体 📅 发布时间:2026/7/9 11:55:11 👁️ 浏览次数: 以下文章来源于谷歌云服务作者 Google CloudVikram Manghnani技术项目经理Prem Ramanathan软件工程师将 AI 智能体接入企业数据其实不需要复杂的自定义集成或耗费数周开发。12 月我们推出了面向 Google 服务的全托管式远程 Model Context Protocol (MCP) 服务器。借助 BigQuery MCP 服务器您现在可以为 AI 智能体提供一种直接且安全的数据分析方式。这一全托管式 MCP 服务器不会带来额外的管理开销让您可以专注于智能体的开发。BigQuery MCP 服务器让智能体能够原生解读数据架构并查询企业数据彻底免去将数据搬运至上下文窗口所带来的安全隐患与延迟。在确保数据原位存储且受控的前提下智能体还能直接调用预测等 BigQuery 强大功能。BigQuery 的 MCP 服务器支持也可以通过开源的 MCP Toolbox for Databases 实现适用于对服务器灵活性和控制力有更高要求的场景。本文将介绍并演示新近发布的全托管式远程 BigQuery 服务器的集成方式。该产品于 2026 年 1 月推出预览版。远程 MCP 服务器在服务的基础设施上运行并向 AI 应用提供 HTTP 端点。这使得 AI MCP 客户端能够按照既定标准与 MCP 服务器进行通信。MCP 通过一组明确定义的工具使基于大语言模型的应用能够直接访问分析数据从而加快 AI 智能体的构建进程。采用 Google OAuth 身份验证方法将 BigQuery MCP 服务器与 ADK 集成相对简便。下文将结合智能体开发套件 (ADK) 和 Gemini CLI 进行说明。LangGraph、Claude code、Cursor IDE 等平台和框架或其他 MCP 客户端均可以在无需大量工程投入的情况下完成集成。让我们开始吧。将 BigQuery MCP 服务器与 ADK 结合使用使用 ADK 构建 BigQuery 智能体原型时可按照以下六个步骤操作1. 前提条件: 创建项目并完成必要的设置和运行环境配置。2. 配置: 启用 MCP 和所需的 API。3. 加载示例数据集。4. 创建 OAuth 客户端。5. 创建 Gemini API 密钥。6. 创建并测试智能体。重要提示: 在规划生产环境部署或使用 AI 智能体处理真实数据时请务必遵循 AI 安全性和稳定性指南。第 1 步: 前提条件 配置和环境1.1 设置 Cloud 项目创建新的或使用已有的 Google Cloud 项目并确保已启用结算功能。1.2 用户角色确保您的用户账号在该项目中具备以下权限a. roles/bigquery.user (用于运行查询)b. roles/bigquery.dataViewer (用于访问数据)c. roles/mcp.toolUser (用于访问 MCP 工具)d. roles/serviceusage.serviceUsageAdmin (用于启用 API)e. roles/iam.oauthClientViewer (oAuth)f. roles/iam.serviceAccountViewer (oAuth)g. roles/oauthconfig.editor (oAuth)1.3 设置环境使用安装了 gcloud CLI 的 MacOS 或 Linux 终端。在 shell 中使用您的 Cloud PROJECT_ID 运行以下命令并对 Google Cloud 账号进行身份验证这是启用 ADK 对 BigQuery 访问权限的必要操作。# Set your cloud project id in env variableBIGQUERY_PROJECTPROJECT_ID gcloud config set project ${BIGQUERY_PROJECT}gcloud auth application-default login按照提示完成身份验证流程。第 2 步: 配置 用户角色和 API2.1 启用 BigQuery 和 MCP API运行以下命令以启用 BigQuery API 和 MCP API。gcloud services enable bigquery.googleapis.com --project${BIGQUERY_PROJECT}gcloud beta services mcp enable bigquery.googleapis.com --project${BIGQUERY_PROJECT}第 3 步: 加载示例数据集 cymbal_pets 数据集3.1 创建 cymbal_pets 数据集本次演示使用 cymbal_pets 数据集。运行以下命令从公共存储桶中加载 cymbal_pets 数据库:# Create the dataset if it doesnt exist(pick a location of your choice)# You can add --default_table_expiration to auto expire tables.bq --project_id${BIGQUERY_PROJECT} mk -f --dataset --locationUS cymbal_pets # Load the datafor table in products customers orders order_items; dobq --project_id${BIGQUERY_PROJECT} query --nouse_legacy_sql \ LOAD DATA OVERWRITE cymbal_pets.${table} FROM FILES( format avro, uris [ gs://sample-data-and-media/cymbal-pets/tables/${table}/*.avro]);done第 4 步: 创建 OAuth 客户端 ID4.1 创建 OAuth 客户端 ID我们将使用 Google OAuth 连接到 BigQuery MCP 服务器。在 Google Cloud 控制台中依次前往 Google Auth Platform 客户端 创建客户端○ *在 应用类型 中选择 桌面应用。○ 创建客户端后请务必复制并妥善保管客户端 ID 和密钥。可选: 如果 OAuth 客户端使用的是其他项目请使用对应的CLIENT_ID_PROJECT运行以下命令:gcloud beta services mcp enable bigquery.googleapis.com --projectCLIENT_ID_PROJECT注意 [仅适用于 Cloud Shell 用户]:如果您使用的是 Google Cloud Shell 或 localhost 以外的任何托管环境则必须创建一个 Web 应用类型的 OAuth 客户端 ID。在 Cloud Shell 环境中:已获授权的 JavaScript 来源 使用以下命令的输出值:echo https://8000-$WEB_HOST已获授权的重定向 URI 使用以下命令的输出值:echo https://8000-$WEB_HOST/dev-ui/(Cloud Shell 中的 URI 为临时地址仅在当前会话期间有效)注意:如果您选择使用 Web 服务器则需要使用 Web 应用 类型的 OAuth 客户端并填写对应的域名和重定向 URI。第 5 步: Gemini API 密钥5.1 创建 Gemini API 密钥前往 API 密钥页面创建 Gemini API 密钥。我们需要生成一个密钥以便使用 ADK 访问 Gemini 模型。第 6 步: 创建 ADK Web 应用6.1 安装 ADK按照《ADK Python 快速入门》中的说明操作安装 ADK并初始化一个智能体项目。6.2 创建新的 ADK 智能体接下来为 BigQuery 远程 MCP 服务器集成创建一个新的智能体。adk create cymbal_pets_analyst #When prompted, choose the following:#2.Other models(fill later)6.3 配置 env 文件运行以下命令使用以下变量列表及对应的实际值更新cymbal_pets_analyst/.env文件。cat cymbal_pets_analyst/.env EOFGOOGLE_GENAI_USE_VERTEXAIFALSEGOOGLE_CLOUD_PROJECTBIGQUERY_PROJECTGOOGLE_CLOUD_LOCATIONREGIONGOOGLE_API_KEYAI_STUDIO_API_KEYOAUTH_CLIENT_IDYOUR_CLIENT_IDOAUTH_CLIENT_SECRETYOUR_CLIENT_SECRETEOF6.4 更新智能体代码修改 cymbal_pets_analyst/agent.py 文件将文件内容替换为以下代码。import osfrom google.adk.agents.llm_agent import Agentfrom google.adk.tools.mcp_tool import McpToolsetfrom google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParamsfrom google.adk.auth.auth_credential import AuthCredential, AuthCredentialTypesfrom google.adk.auth import OAuth2Authfrom fastapi.openapi.models import OAuth2from fastapi.openapi.models import OAuthFlowAuthorizationCodefrom fastapi.openapi.models import OAuthFlowsfrom google.adk.auth import AuthCredentialfrom google.adk.auth import AuthCredentialTypesfrom google.adk.auth import OAuth2Auth def get_oauth2_mcp_tool(): auth_scheme OAuth2( flowsOAuthFlows( authorizationCodeOAuthFlowAuthorizationCode( authorizationUrlhttps://accounts.google.com/o/oauth2/auth, tokenUrlhttps://oauth2.googleapis.com/token, scopes{ https://www.googleapis.com/auth/bigquery: bigquery }, ) ) ) auth_credential AuthCredential( auth_typeAuthCredentialTypes.OAUTH2, oauth2OAuth2Auth( client_idos.environ.get(OAUTH_CLIENT_ID, ), client_secretos.environ.get(OAUTH_CLIENT_SECRET, ) ), ) bigquery_mcp_tool_oauth McpToolset( connection_paramsStreamableHTTPConnectionParams( urlhttps://bigquery.googleapis.com/mcp), auth_credentialauth_credential, auth_schemeauth_scheme, ) return bigquery_mcp_tool_oauth root_agent Agent( modelgemini-3-pro-preview, nameroot_agent, descriptionAnalyst to answer all questions related to cymbal pets store., instructionAnswer user questions, use the bigquery_mcp tool to query the cymbal pets database and run queries., tools[get_oauth2_mcp_tool()],)6.5 运行 ADK 应用在包含 cymbal_pets_analyst 文件夹的父级目录中运行以下命令。adk web --port 8000 .打开浏览器访问 http://127.0.0.1:8000/ 或运行 ADK 的主机地址并在下拉菜单中选择您的智能体名称。此时您已拥有一个可回答 cymbal pets 数据相关问题的个人智能体。当智能体连接到 MCP 服务器时会自动发起 OAuth 授权流程您可以在此过程中授予相应的访问权限。如第二次提示所示您无需再指定项目 ID。这是因为智能体可以从对话中自行推断该出信息。以下是一些您可以提出的问题:●my_project 中包含哪些数据集●cymbal_pets 数据集中包含哪些表●获取 cymbal_pets 数据集中 customers 表的架构信息。●找出美国西部地区 cymbal 宠物店过去 3 个月内销量排在前 3 位的订单。识别下单客户及其邮箱。●能否改为获取前 10 个订单而不是前 1 个订单●过去 6 个月内哪款产品最畅销将 BigQuery MCP 服务器与 Gemini CLI 结合使用要使用 Gemini CLI请在 ~/.gemini/settings.json 文件中使用以下配置。如果您已有配置则需要将此配置合并到 mcpServers 字段下。{ mcpServers: { bigquery: { httpUrl: https://bigquery.googleapis.com/mcp, authProviderType: google_credentials, oauth: { scopes: [ https://www.googleapis.com/auth/bigquery ] } } }}然后使用 gcloud 进行身份验证。gcloud auth application-default login --clien-id-file YOUR_CLIENT_ID_FILE运行 Gemini CLI。gemini面向智能体的 BigQuery MCP 服务器您可以将 BigQuery 工具集成到开发工作流中并结合大语言模型和 BigQuery MCP 服务器构建数据智能体。该集成基于单一标准协议可与所有领先的智能体开发 IDE 和框架兼容。当然在将智能体用于生产环境或处理真实数据之前请务必遵循 AI 安全性指南。我们期待看到您如何利用 BigQuery MCP 服务器开发面向数据分析的生成式 AI 应用。点击屏末|阅读原文|了解更多
FPGA片上逻辑分析仪ILA原理与实战配置指南 1. ILA硬件调试原理与工程实践基础在FPGA数字系统开发中,逻辑分析仪(Logic Analyzer)是验证时序行为、定位信号异常、确认状态机跳转的关键工具。Xilinx Vivado集成的Integrated Logic Analyzer(ILA)IP核,将… 2026/7/9 1:25:17
终极Windows安卓子系统(WSA)高效部署指南:从环境配置到应用优化全攻略 终极Windows安卓子系统(WSA)高效部署指南:从环境配置到应用优化全攻略 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA 想在Windows系统中获得原生… 2026/7/8 3:21:54
系统思考:个人学习与团队学习 在这个强调“个人IP”“单点爆发”的时代,我们越来越习惯一个人战斗。 但系统思考告诉我:个人学习,优化的是效率;团队学习,校准的是方向。 一个人不断优化产品,可能只是单环修正;一群人一起反思… 2026/7/9 7:46:38
我朋友做AI项目半年后,最大的困惑不是技术,而是不知道下一步该做什么 最近和一个朋友聊AI项目,他跟我说了一句话,我印象挺深。他说:“以前觉得最大的问题是不会做,现在发现最大的问题是不知道该做什么。”刚开始做AI项目的时候,他其实挺兴奋的。因为很多以前觉得门槛很高的东西࿰… 2026/7/9 11:50:59
数字资产授权合规治理:品牌内容资产的安全护城河 引言一张广告素材,可能同时捆绑商用图库授权、模特肖像权、背景音乐许可以及字体使用权——而每一项在不同国家/地区的有效期和使用边界各不相同。当这些授权信息被强行塞入几个固定字段,管理粗放、过期失察、侵权隐患丛生……这早已不是单纯的技术难题&… 2026/7/9 11:50:59
江西省吉安市安福县钱山乡四层别墅电梯落地:老乡口碑转介绍,山顶观景房定制全铝合金观光家用电梯 在江西省吉安市安福县,山地乡镇的观景自建房数量较多,不少房屋选址在山顶、坡地等景观优越的位置,全观光电梯能最大化发挥户型的景观优势;乡镇家装市场中,老乡口碑与实景案例是业主决策的核心参考,很多业主… 2026/7/9 11:48:59
鞍山老人怎么吃饭才能省心又方便?靠谱的相关服务到底该选哪家 最近好多鞍山的朋友私信我,家里老人独居或者行动不便,做饭要么采买累得慌,要么怕烫伤摔倒,要么做的饭盐多糖高不利于基础病控制,找配餐又怕不卫生、送的晚、不合口,到底怎么选才能省心又靠谱?今… 2026/7/9 11:48:59
告别繁琐命令行:三分钟掌握这款超简单的M3U8视频下载工具 告别繁琐命令行:三分钟掌握这款超简单的M3U8视频下载工具 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 你是否曾经遇到过想要保存在线视频却无从下手的困扰… 2026/7/9 11:46:58
如何高效使用网盘直链下载助手:免费提升下载体验的实用指南 如何高效使用网盘直链下载助手:免费提升下载体验的实用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /… 2026/7/9 11:44:58
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08