Looker 代管式 MCP 服务器
Looker 代管式 MCP 服务器 是一种内置集成,可将 Model Context Protocol (MCP) 服务器直接嵌入到 Looker 平台中。它允许 AI 智能体(例如 Gemini CLI、Claude Desktop、Cursor 和 Copilot)安全地连接到 Looker 实例,并与商家数据和 LookML 模型进行交互。
通过托管服务器,Looker 可让您无需部署和维护自己的中间件基础架构,从而提供即插即用、安全且受监管的网关,以获取可信的业务洞见。
Looker 代管式 MCP 服务器目前处于 Looker (Google Cloud Core) 和 Looker(原始版本)实例的预览阶段。此预览版不支持客户托管(本地)实例。
如果您使用的是客户托管实例,或者您更喜欢管理自己的基础架构,则可以使用独立的 MCP Toolbox for Databases 进行连接。MCP Toolbox 是一款开源 MCP 服务器,您可以在本地计算机或自己的服务器上运行该服务器,使其充当 AI 智能体与 Looker 实例之间的桥梁。如需了解详情,请参阅将 Looker 与 MCP、Gemini CLI 和其他智能体搭配使用文档页面。
准备工作
如需使用 Looker 代管式 MCP 服务器,您必须满足以下要求:
实例要求
- 您必须使用 Looker (Google Cloud Core) 或 Looker(原始版本)实例。
- 该实例必须由 Looker 托管。
所需权限
- 如需管理工具访问权限:您必须具有Admin Looker 角色。
- 如需使用 API Explorer 将 AI 智能体注册为 OAuth 客户端:您必须具有 Admin Looker 角色。
- 如需将 AI 智能体连接到 Looker 代管式 MCP 服务器:您需要使用标准 Looker 登录凭据在 OAuth 连接过程中进行身份验证。AI 智能体必须先由 Looker 管理员注册为 OAuth 客户端。连接后,AI 智能体将继承经过身份验证的用户的 Looker 角色和访问权限。
设置代管式 MCP 服务器
配置工具访问权限以设置代管式 MCP 服务器。
配置工具设置
默认情况下,所有工具都针对代管式 MCP 服务器处于停用状态。Looker 管理员必须明确启用允许 AI 智能体使用的工具。如需了解启用工具的步骤,请参阅 Admin 设置 - Model Context Protocol (MCP) 文档页面。
配置 CORS 设置
如果 MCP 客户端直接在网络浏览器中运行,并且想要使用 CORS 与 Looker 代管式 MCP 服务器通信,则 Looker 管理员必须将该客户端网站的网域添加到 嵌入式网域许可名单 在 Admin 面板中。
通过 OAuth 注册 AI 智能体
在预览版发布期间,Looker 管理员必须手动注册 AI 智能体,才能将该智能体连接到代管式 MCP 服务器。
-
如果您的 Looker 实例已安装 API Explorer,则可以使用以下网址格式访问它:
LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/如果您的 Looker 实例没有 API Explorer,则可以从 Looker Marketplace 安装它。如需了解相关信息,请参阅使用 API Explorer 页面。
如果您使用的是使用 专用服务访问通道 的 Looker (Google Cloud Core) 专用连接实例,则不支持 Looker Marketplace 和 API Explorer。如需注册 AI 智能体,您必须直接调用
oauth_client_appsAPI 端点。如果您使用此方法,则可以跳过以下 API Explorer 步骤,直接前往配置 MCP 客户端部分。展开此部分,查看可与
oauth_client_apps端点搭配使用的curl命令示例,以注册智能体。curl -X POST "https://LOOKER_INSTANCE_URL/api/4.0/oauth_client_apps/CLIENT_GUID" \ -H "Authorization: token ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "redirect_uri": "REDIRECT_URI", "display_name": "CLIENT_NAME", "description": "OAuth client to access MCP server using CLIENT_NAME", "enabled": true }'
在 Auth 方法下,找到 Register OAuth App API 端点。您还可以在搜索 字段中搜索“oauth app”。
在 Register OAuth App 页面上,点击 Run It 按钮。
在 Run It 对话框的 Request 标签页中,在相应字段中输入以下信息:
对于
CLIENT_GUID字段,请完成以下步骤:- 如果智能体规定了特定的客户端 ID,请使用该客户端 ID。
- 如果智能体未规定特定的客户端 ID,请使用任何全局唯一 ID。
- 准备好将 ID 分发给任何想要使用该智能体的 LookML 开发者。
对于
redirect_uri,URI 因 AI 智能体应用而异。您可以参阅智能体的 OAuth 身份验证文档,了解其特定的重定向网址。格式可能类似于以下示例之一:Gemini CLI
http://localhost:7777/oauth/callback
Gemini Code Assist
http://localhost:7777/oauth/callback
我们建议将 Gemini CLI 与 Gemini Code Assist 搭配使用,在这种情况下,它们共享相同的本地回调服务器和端口配置。
Gemini Enterprise
https://vertexaisearch.cloud.google.com/oauth-redirect
Claude Code
Claude Code 使用随机可用的端口进行 OAuth 回调,但您应使用
标志(或使用--callback-port 8080callbackPort设置在mcp.json中)将其固定,以与您注册的 URI 匹配。http://localhost:8080/callback
VS Code 和其他 IDE
对于 IDE,重定向 URI 可能类似于以下内容,并针对您的 IDE 进行了自定义。
vscode://google.vscode-looker-official/oauth_callback
云端托管的应用
对于云端托管的应用,它可能类似于安全的 HTTPS 网址:
https://AI_AGENT_URL/oauth2callback
本地应用
对于在本地运行的应用,它应是具有静态端口的 localhost 网址:
http://localhost:7777/oauth/callback
按照注册 OAuth 客户端应用文档中的说明完成
display_name和description。
选中我了解此 API 端点将更改数据 复选框。
点击运行 。
您可以按照以下步骤,使用 API Explorer 中的
Get OAuth Client App方法验证是否已成功设置身份验证:- 在 API Explorer 的搜索 字段中,输入 Get OAuth Client App 。
- 点击 Run It 。
在 CLIENT_GUID 字段中,输入您在注册 OAuth 时使用的值:
CLIENT_GUID
如果 OAuth 设置成功,Response 标签页将返回您在注册应用时输入的值。
(可选) 您可以按照以下步骤,使用 API Explorer 中的
Activate App User方法提前激活 OAuth 应用用户:- 在 API Explorer 的搜索 字段中,输入 Activate App User 。
- 点击 Run It 。
在 CLIENT_GUID 字段中,输入您在注册 OAuth 应用时使用的值:
CLIENT_GUID在 user_id 字段中,输入用户的 Looker 用户 ID。
点击运行 。
配置 MCP 客户端
注册 AI 智能体后,您可以将其作为 MCP 客户端连接到代管式 MCP 端点。请参阅智能体的文档以完成客户端设置。
- 服务器网址:
LOOKER_INSTANCE_URL/mcp - 身份验证: OAuth 2.1
配置示例 (mcp.json)
本部分介绍了如何配置各种开发者工具,以便使用 Looker 代管式 MCP 服务器连接到 Looker 实例。MCP 服务器位于 IDE 和 Looker 之间,为 AI 工具提供安全高效的控制平面。选择特定工具的标签页,查看配置说明。
Gemini CLI
将 Gemini CLI 配置为直接连接到 Looker 代管式 MCP 服务器。
- 安装 Gemini CLI。
- 使用以下命令添加远程 MCP 服务器,将
LOOKER_INSTANCE_URL替换为您的 Looker 实例网址:gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
或者,您也可以通过将以下配置添加到您的
settings.json文件(位于~/.gemini/settings.json或项目目录中)来手动配置此设置:{ "mcpServers": { "looker": { "httpUrl": "LOOKER_INSTANCE_URL/mcp", "oauth": { "clientId": "CLIENT_GUID" } } } } - 以互动模式启动 Gemini CLI:
系统会提示您进行连接,CLI 会启动 OAuth 授权流程,以便安全地向您的 Looker 实例进行身份验证。gemini
Gemini Code Assist
我们建议您将 Gemini Code Assist 配置为使用 Gemini CLI。这种方法无需手动配置 MCP 服务器。
- 确保您已安装并配置 Gemini CLI 和 Looker 代管式 MCP 服务器。
- 配置 Gemini Code Assist 以使用 Gemini CLI。
- 直接在 Gemini Code Assist 对话中使用自然语言开始与 Looker 实例互动。
Gemini Enterprise
将 Gemini Enterprise 配置为以自定义 MCP 服务器数据存储区的形式连接到 Looker 代管式 MCP 服务器。
- 按照官方文档在 Gemini Enterprise 中创建自定义 MCP 服务器数据存储区。
- 对于数据存储区配置,请使用以下值,将
LOOKER_INSTANCE_URL替换为您的 Looker 实例网址,并将CLIENT_GUID替换为您在 OAuth 应用注册期间使用的确切字符串:{ "instance_uri": "LOOKER_INSTANCE_URL/mcp", "auth_uri": "LOOKER_INSTANCE_URL/auth", "auth_uri_params": "&response_type=code&code_challenge_method=S256", "token_uri": "LOOKER_INSTANCE_URL/api/token", "client_id": "CLIENT_GUID", "client_secret": "none", "scopes": "cors_api", "pkce_support_enabled": "true" }PKCE 不需要 OAuth 客户端密钥,但 Gemini Enterprise 需要在
client_secret字段中提供一个值。您可以输入none,如配置示例所示。 - 通过 OAuth 进行身份验证以继续。
- 设置 MCP 服务器说明,以帮助 Gemini 了解何时调用服务器。例如:
Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
- 定义 MCP 服务器智能体说明。例如:
Use this server exclusively to interact with the Looker instance for monitoring health, checking status, and retrieving data. Invoke the Looker MCP server for the following request categories: - Instance Health Checks: Auditing connection status, uptime, performance metrics, or system errors. - Analytics Queries & Data Retrieval: Fetching live business metrics from Explores, Looks, or Dashboards. Strict Constraints: - No Local Estimation: Do not guess. Always fetch real-time data via MCP tools. - Fallback Behavior: Inform the user of connectivity failures immediately.
- 前往您刚刚创建的自定义 MCP 数据存储区中的 Actions 标签页,然后启用您希望 Gemini Enterprise 使用的工具。
- 前往 Gemini Enterprise,点击连接器 图标,然后授权 MCP 服务器,以完成设置。
Claude Code
- 安装 Claude Code。
- 在项目根目录中创建
.mcp.json文件(如果尚不存在)。 - 添加以下配置,将
LOOKER_INSTANCE_URL替换为 Looker 实例的网址,并将CLIENT_GUID替换为 OAuth 客户端 GUID,然后保存。
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp",
"oauth": {
"clientId": "CLIENT_GUID",
"callbackPort": 8080
}
}
}
}
Claude Desktop
- 在 Claude Desktop 中,前往设置 ,然后选择连接器 。
- 选择添加自定义连接器 ,然后输入名称(例如 Looker )。
- 对于网址,请输入 Looker 实例的网址,并在末尾添加
/mcp路径(例如https://looker.example.com/mcp)。 - 在高级设置 下,输入您在 OAuth 应用注册期间用于
CLIENT_GUID的确切字符串。将 OAuth 客户端密钥留空。 - 选择添加 以保存连接器。系统会提示您进行连接,Claude Desktop 会通过您的浏览器安全地启动 PKCE 授权流程。
- 重启 Claude Desktop。
Cline
- 在 IDE 中打开 Cline 扩展程序,然后点击 MCP Servers 图标。
- 点击配置 MCP 服务器 以打开配置文件。
- 添加以下配置,将
LOOKER_INSTANCE_URL替换为您的 Looker 网址,然后保存。
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Cursor
- 在项目根目录中创建
.cursor目录(如果尚不存在)。 - 创建
.cursor/mcp.json文件(如果尚不存在)并打开该文件。 - 添加以下配置,将
LOOKER_INSTANCE_URL替换为您的 Looker 网址,然后保存。
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
- 打开 Cursor,然后依次前往 设置 > Cursor 设置 > MCP。服务器连接时,系统会显示绿色的活跃状态。
Visual Studio Code (Copilot)
- 打开 VS Code,并在项目根目录中创建
.vscode目录(如果尚不存在)。 - 创建
.vscode/mcp.json文件(如果尚不存在)并打开该文件。 - 添加以下配置,将
LOOKER_INSTANCE_URL替换为 Looker 实例的网址,然后保存。
{
"servers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Windsurf
- 打开 Windsurf 并前往 Cascade 助理。
- 点击 MCP 图标,然后点击配置 以打开配置文件。
- 添加以下配置,将
LOOKER_INSTANCE_URL替换为 Looker 实例的网址,然后保存。
{
"mcpServers": {
"looker": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
使用客户端进行身份验证
使用 mcp.json 设置配置 MCP 客户端后,当您首次尝试通过该客户端与 Looker 互动时,它将启动 OAuth 2.1 身份验证流程。这通常涉及客户端打开一个浏览器窗口,您必须在该窗口中使用标准凭据登录 Looker 实例,并授予应用代表您访问 Looker 的权限。
此登录流程是交互式身份验证步骤,允许 MCP 客户端获取访问令牌以发出未来的请求。
如需了解详情,请参阅客户端的文档。
连接后,客户端将继承您的 Looker 角色和内容访问权限。客户端还可以访问 Looker 管理员为 MCP 服务器启用的 AI 工具。如需查看所有可能的工具的列表,请参阅使用 AI 工具文档。
安全和治理
代管式 MCP 服务器旨在继承 Looker 现有的安全和治理框架。
- 权限边界 :服务器会强制执行严格的用户级权限。AI 智能体无法访问经过身份验证的用户无权查看的数据或模型。
- VPC Service Controls :对于使用 VPC Service Controls 的 Looker (Google Cloud Core) 实例,代管式 MCP 端点会遵循现有的 VPC Service Controls 边界,无需额外的政策或配置。
- 客户管理的加密密钥 (CMEK): 对于使用 CMEK 的 Looker (Google Cloud Core) 实例,代管式 MCP 服务器符合 CMEK 要求,无需额外的政策或配置。
审核日志记录
AI 智能体执行的每项操作都会记录在 Looker System Activity 和 Cloud Audit Logs 中。
系统活动
Looker 代管式 MCP 服务器活动会在 History 和 Event Attribute 探索中进行跟踪。使用 System Activity 探索监控 Looker 使用情况文档页面提供了以下示例查询:
- Looker 代管式 MCP 服务器发起了哪些 API 调用?
- 哪些事件与 Looker 代管式 MCP 服务器的请求相关?
- Looker 管理员对 Looker 代管式 MCP 服务器工具设置进行了哪些更新?
- Looker 代管式 MCP 服务器的用户运行了哪些查询?
Cloud Audit Logs
Looker (Google Cloud Core) 实例还会通过 Cloud Audit Logs 跟踪 Looker 代管式 MCP 服务器活动。Looker (Google Cloud Core) 审核日志记录 文档页面提供了 示例查询。
限制
- 精细范围 :代管式 MCP 服务器尚不支持 OAuth 范围。访问权限控制依赖于全局工具许可名单和用户的基本权限。
- 动态注册 :预览版不支持动态客户端注册。
- 客户端刷新 :对工具许可名单的更改不会自动推送到已连接的客户端。用户必须在更改工具列表后等待 30 秒,然后重新连接其客户端以刷新工具清单。如需了解如何重新连接到 MCP 服务器,请参阅客户端的文档。
- 服务器容量:在预览阶段,代管式 MCP 服务器配置了固定容量,以帮助我们收集性能数据。在用量高峰期,您可能会偶尔遇到超时问题。这是预期行为。
- IP 许可名单 :Looker 代管式 MCP 服务器与 Looker(原始版本)中的 IP 许可名单不兼容。它与 Looker (Google Cloud Core) 中的 IP 许可名单兼容。
价格和配额
Looker 代管式 MCP 服务器可免费使用。但是,AI 智能体进行的工具调用会消耗实例的标准管理和基于查询的 API 配额。智能体活动频繁可能会影响您的可用 API 配额。