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 服务器:您需要在 OAuth 连接过程中使用标准 Looker 登录凭据进行身份验证。AI 智能体必须先由 Looker 管理员注册为 OAuth 客户端。连接后,AI 智能体将继承已通过身份验证的用户的 Looker 角色和访问权限。

设置受管理的 MCP 服务器

配置工具访问权限以设置受管理的 MCP 服务器。

配置工具设置

默认情况下,所有工具都已针对受管理的 MCP 服务器停用。Looker 管理员必须明确启用允许 AI 智能体使用的工具。如需了解启用工具的步骤,请参阅管理员设置 - Model Context Protocol (MCP) 文档页面。

通过 OAuth 注册 AI 智能体

在预览版发布期间,Looker 管理员必须手动注册 AI 智能体,才能将该智能体连接到受管理的 MCP 服务器。

  1. 打开 Looker API Explorer

    • 如果您的 Looker 实例已安装 API 探索器,您可以使用以下网址格式访问它:

      https://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_apps API 端点。如果您使用此方法,则可以跳过以下 API 浏览器流程,直接前往配置 MCP 客户端部分。

      展开此部分可查看 curl 命令的示例,您可以使用该命令通过 oauth_client_apps 端点注册代理。

      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
      }'
      
  2. Auth 方法下,找到 Register OAuth App API 端点。您还可以在搜索字段中搜索“oauth 应用”。

  3. Register OAuth App 页面上,点击 Run It 按钮。

  4. 运行对话框的请求标签页中,在相应字段中输入以下信息:

    • 对于 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 搭配使用,在这种情况下,它们会共用同一个本地回调服务器和端口配置。

      Claude Code

      Claude Code 使用随机可用的端口进行 OAuth 回调,但您应使用 --callback-port 8080 标志(或使用 mcp.json 中的 callbackPort 设置)来修复此问题,以匹配您注册的 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_namedescription

  5. 选中我了解此 API 端点会更改数据复选框。

  6. 点击运行

  7. 您可以使用 API 资源管理器中的 Get OAuth Client App 方法验证是否已成功设置身份验证,具体步骤如下:

    • 在 API Explorer 的搜索字段中,输入 Get OAuth Client App
    • 点击 Run It
    • client_guid 字段中,输入您在注册 OAuth 时使用的值:

      client_guid
      

    如果您成功设置了 OAuth,响应标签页将返回您注册应用时输入的值。

配置 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 服务器。

  1. 安装 Gemini CLI
  2. 使用以下命令添加远程 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"
        }
      }
    }
    
  3. 以互动模式启动 Gemini CLI:
    gemini
    
    当系统提示您进行连接时,CLI 会启动 OAuth 授权流程,以便安全地向您的 Looker 实例进行身份验证。

Gemini Code Assist

我们建议您将 Gemini Code Assist 配置为使用 Gemini CLI。此方法无需手动配置 MCP 服务器。

  1. 确保您已安装并配置 Gemini CLI 和 Looker 管理的 MCP 服务器。
  2. 配置 Gemini Code Assist 以使用 Gemini CLI
  3. 直接在 Gemini Code Assist 对话中使用自然语言开始与 Looker 实例互动。

Claude Code

  1. 安装 Claude Code
  2. 在项目根目录中创建 .mcp.json 目录(如果尚不存在)。
  3. 添加以下配置,将 PROXY_URL 替换为反向代理服务器的网域,然后保存。

      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Claude Desktop

  1. 在 Claude Desktop 中,前往设置,然后选择连接器
  2. 选择添加自定义连接器,然后输入名称(例如 Looker)。
  3. 对于网址,请输入 Looker 实例的网址,并在末尾附加 /mcp 路径(例如 https://looker.example.com/mcp)。
  4. 高级设置下,输入您在注册 OAuth 应用期间为 client_guid 使用的确切字符串。将 OAuth 客户端密钥留空。
  5. 选择添加以保存连接器。当系统提示您进行连接时,Claude 桌面应用会通过您的浏览器安全地启动 PKCE 授权流程。
  1. 重启 Claude Desktop。

Cline

  1. 在 IDE 中打开 Cline 扩展程序,然后点击 MCP 服务器图标。
  2. 点击配置 MCP 服务器以打开配置文件。
  3. 添加以下配置,将 LOOKER_INSTANCE_URL 替换为您的 Looker 网址,然后保存。

      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

服务器成功连接后,系统会显示绿色的活跃状态。

光标

  1. 在项目根目录中创建 .cursor 目录(如果尚不存在)。
  2. 创建 .cursor/mcp.json 文件(如果尚不存在)并打开该文件。
  3. 添加以下配置,将 LOOKER_INSTANCE_URL 替换为您的 Looker 网址,然后保存。
      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  
  1. 打开 Cursor,然后依次前往设置 > Cursor 设置 > MCP。服务器连接时,系统会显示绿色的活跃状态。

Visual Studio Code (Copilot)

  1. 打开 VS Code,并在项目根目录中创建 .vscode 目录(如果尚不存在)。
  2. 创建 .vscode/mcp.json 文件(如果尚不存在)并打开该文件。
  3. 添加以下配置,将 LOOKER_INSTANCE_URL 替换为 Looker 实例的网址,然后保存。
      {
        "servers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. 打开 Windsurf 并前往 Cascade 助理。
  2. 点击 MCP 图标,然后点击配置以打开配置文件。
  3. 添加以下配置,将 LOOKER_INSTANCE_URL 替换为 Looker 实例的网址,然后保存。
      {
        "mcpServers": {
          "looker-toolbox": {
            "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 系统活动Cloud Audit Logs 中。

系统活动

Looker 管理的 MCP 服务器活动会在“历史记录”和“事件属性”探索中进行跟踪。使用“系统活动”Explore 监控 Looker 使用情况文档页面提供了以下示例查询:

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 配额。