本页介绍了如何将数据沿袭连接到开发者工具,例如 Gemini CLI 和其他 Model Context Protocol (MCP) 客户端。 将数据沿袭连接到这些工具后,您就可以直接在开发环境中进行 AI 驱动的沿袭跟踪和数据出处分析。
您可以使用本地 MCP Toolbox for Databases 连接支持 MCP 的 IDE 和开发者工具。然后,您可以在现有 IDE 中使用 AI 代理来查询数据沿袭图,发现上游数据出处,并分析下游对资产的影响。
如需详细了解 MCP,请参阅 Model Context Protocol 简介。
本指南演示了适用于以下工具的连接过程:
- Gemini CLI
- Gemini Code Assist
- Claude Code
- Claude Desktop
- Codex
- Cline(VS Code 扩展程序)
- Cursor
- Visual Studio Code (Copilot)
- Windsurf(以前称为 Codeium)
数据沿袭提供了哪些 MCP 工具?
通过数据沿袭集成,AI 代理可以查询和分析数据沿袭,从而了解源(上游)资产和目标(下游)资产之间的数据流。它同时支持实体级沿袭(跟踪整个资产(例如表格和文件)之间的数据传输)和列级沿袭(跟踪资产内特定字段或列之间的数据传输)。
数据沿袭提供了 datalineage-search-lineage 工具,该工具可检索与所请求资产关联的沿袭链接的流式响应。
如需详细了解数据沿袭来源及其 可用工具,请参阅 数据沿袭来源文档。
所需的角色
如需获得使用 MCP Toolbox 连接到数据沿袭所需的权限,请让您的管理员向您授予项目的以下 IAM 角色:
-
启用 API:
Service Usage Admin (
roles/serviceusage.serviceUsageAdmin) -
使用数据沿袭技能:
Data Lineage Viewer (
roles/datalineage.viewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含 使用 MCP Toolbox 连接到数据沿袭所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需使用 MCP Toolbox 连接到数据沿袭,需要以下权限:
-
启用 API:
serviceusage.services.enable -
使用数据沿袭技能:
-
datalineage.lineage.searchLinks -
datalineage.processes.get -
datalineage.runs.get
-
启用所需的 API
-
在 Google Cloud 控制台中,前往项目选择器页面。
-
选择或创建 Google Cloud 项目。
选择或创建项目所需角色
- 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授予角色的任何项目。
-
创建项目:如需创建项目,您需要 Project Creator 角色
(
roles/resourcemanager.projectCreator),该角色包含resourcemanager.projects.create权限。了解如何授予 角色。
-
验证是否已为您的 Google Cloud 项目启用结算功能。
启用 Data Lineage API。
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您已创建项目,则可能已通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。-
如果您使用的是本地 shell,请为您的用户 账号创建本地身份验证凭证:
gcloud auth application-default login
如果您使用的是 Cloud Shell,则无需执行此操作。
如果返回了身份验证错误,并且您使用的是外部身份提供方 (IdP),请确认您已 使用联合身份登录 gcloud CLI。
安装 MCP Toolbox
如果您只打算使用 Gemini Code Assist, 则无需安装 MCP Toolbox,因为它捆绑了所需的服务器功能。对于其他 IDE 和工具,请按照本部分中的步骤安装 MCP Toolbox。
以二进制文件形式下载最新版本的 MCP Toolbox。选择与您的操作系统 (OS) 和 CPU 架构对应的 MCP Toolbox 二进制文件版本。您必须使用 MCP Toolbox
v0.31.0或更高版本。Linux/amd64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/linux/amd64/toolbox
将
VERSION替换为 MCP Toolbox 版本,例如v0.31.0。macOS (Darwin)/arm64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/arm64/toolbox
将
VERSION替换为 MCP Toolbox 版本,例如v0.31.0。macOS (Darwin)/amd64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/amd64/toolbox
将
VERSION替换为 MCP Toolbox 版本,例如v0.31.0。Windows/amd64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/windows/amd64/toolbox
将
VERSION替换为 MCP Toolbox 版本,例如v0.31.0。将该二进制文件设为可执行文件:
chmod +x toolbox验证安装:
./toolbox --version成功安装后,系统会返回版本号,例如
0.15.0。
为数据沿袭设置客户端和连接
本部分介绍了如何将数据沿袭连接到您的工具。
如需将与 MCP 兼容的 IDE 和工具连接到数据沿袭,您 必须先 安装 MCP Toolbox,并为沿袭来源和工具创建自定义配置文件 。
在项目根目录或配置目录中,使用以下配置创建一个名为
lineage-config.yaml的 YAML 文件:kind: source name: lineage-source type: datalineage project: ${DATALINEAGE_PROJECT} --- kind: tool name: search_lineage type: datalineage-search-lineage source: lineage-source description: Retrieves a streaming response of lineage links connected to requested assets.设置项目的环境变量: Google Cloud
export DATALINEAGE_PROJECT=PROJECT_ID将
PROJECT_ID替换为 Google Cloud 项目 ID。使用
--config标志(而不是预构建的配置)配置特定客户端,如以下部分所示。
Gemini CLI
您可以在 Gemini CLI 中使用数据沿袭,方法是使用 MCP Toolbox 和自定义 lineage-config.yaml 文件将其配置为本地 MCP 服务器。
- 在项目的工作目录中,创建一个名为
.gemini的文件夹(或打开全局~/.gemini目录)。 - 在该目录中,创建或打开
settings.json文件。 添加以下配置:
{ "mcpServers": { "dataLineage": { "command": "./PATH/TO/toolbox", "args": ["--config","/PATH/TO/lineage-config.yaml","--stdio"], "env": { "DATALINEAGE_PROJECT": "PROJECT_ID" } } } }将
PROJECT_ID替换为 Google Cloud 项目 ID。保存配置。
以互动模式启动 Gemini CLI:
gemini在 Gemini CLI 中,使用
/mcp命令验证dataLineage服务器是否已连接。
Gemini Code Assist
Gemini Code Assist 捆绑了所需的 MCP 服务器功能,因此您无需单独安装 MCP Toolbox。
- 在 VS Code 中,安装 Gemini Code Assist 扩展程序。
- 在 Gemini Code Assist 对话中启用智能体模式。
- 在工作目录中,创建一个名为
.gemini的文件夹。在该文件夹中,创建一个settings.json文件。 添加以下配置:
{ "mcpServers": { "dataLineage": { "command": "./PATH/TO/toolbox", "args": ["--config","/PATH/TO/lineage-config.yaml","--stdio"], "env": { "DATALINEAGE_PROJECT": "PROJECT_ID"