> [!WARNING]
>
> **Preview**
>
>
> This feature is
>
> subject to the "Pre-GA Offerings Terms" in the General Service Terms section of the
> [Service Specific
> Terms](https://docs.cloud.google.com/terms/service-terms#1), and the
> [Additional Terms for Generative AI
> Preview Products](https://cloud.google.com/trustedtester/aitos).
>
> Pre-GA features are available "as is" and might have limited support.
>
> For more information, see the
> [launch stage descriptions](https://cloud.google.com/products/#product-launch-stages).

The data lineage remote Model Context Protocol (MCP) server lets
you query lineage graphs, discover upstream data provenance, and analyze
downstream impact across your data pipelines. You can connect the server to AI
agents, such as Antigravity, ChatGPT, and Claude, or to custom AI applications
that you develop.

## About Model Context Protocol

[Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro)
(MCP) standardizes how large language models (LLMs) and AI applications or
agents connect to external data sources. MCP servers let you use their tools,
resources, and prompts to take actions and get updated data from their backend
service.

## What's the difference between local and remote MCP servers?

Local MCP servers
:   Typically run on your local machine and use the standard input
    and output streams (stdio) for communication between services on the same
    device.

Remote MCP servers
:   Run on the service's infrastructure and offer an HTTP
    endpoint to AI applications for communication between the AI MCP client and
    the MCP server. For more information about MCP architecture, see
    [MCP architecture](https://modelcontextprotocol.io/docs/learn/architecture).

## Stateless core

With
[MCP version 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28),
MCP changes from a bidirectional, stateful protocol to a stateless protocol.
Each MCP request is self-describing and can be routed using headers. There isn't
a need for the `initialize`/`initialized` handshake or `Mcp-Session-Id` because
each request includes all the information needed in HTTP headers or the `_meta`
parameter. MCP servers can request additional information required by a tool
through
[multi-round-trip requests (MRTR)](https://modelcontextprotocol.io/specification/latest/basic/patterns/mrtr).

To help route and process requests without parsing the request body, some MCP
headers are required, including the following:

- Headers that are required by the MCP specification such as the [protocol version header](https://modelcontextprotocol.io/specification/latest/basic/transports/streamable-http#protocol-version-header) and [standard request headers](https://modelcontextprotocol.io/specification/latest/basic/transports/streamable-http#standard-request-headers).
- [Custom headers](https://modelcontextprotocol.io/specification/latest/basic/transports/streamable-http#custom-headers-from-tool-parameters) that are defined by the MCP server. These headers are mirrored into HTTP headers from the tool's input schema using the `x-mcp-header` property. For example, an MCP server might define a custom header to specify the Google Cloud region or project ID.

For more information about MCP architecture, see the MCP version 2026-07-28
[specification](https://modelcontextprotocol.io/specification/2026-07-28) and
[key changes](https://modelcontextprotocol.io/specification/2026-07-28/changelog).

## Google and Google Cloud remote MCP servers

Google and Google Cloud remote MCP servers have the following
features and benefits:

- Simplified, centralized discovery
- Managed global or regional HTTP endpoints
- Fine-grained authorization
- Centralized audit logging

For information about other MCP servers and information about security
and governance controls available for Google Cloud MCP servers,
see [Google Cloud MCP servers overview](https://docs.cloud.google.com/mcp/overview.md.txt).

## Before you begin

The data lineage remote MCP server is enabled when you enable the
Data Lineage API.

<br />

### Required roles


To get the permissions that
you need to use the data lineage MCP server,

ask your administrator to grant you the
following IAM roles on the project where you want to use the data lineage MCP server:

- Make MCP tool calls: [**MCP Tool User**](https://docs.cloud.google.com/iam/docs/roles-permissions/mcp.md.txt#mcp.toolUser) (`roles/mcp.toolUser`)
- View data lineage information: [**Data Lineage Viewer**](https://docs.cloud.google.com/iam/docs/roles-permissions/datalineage.md.txt#datalineage.viewer) (`roles/datalineage.viewer`)


For more information about granting roles, see [Manage access to projects, folders, and organizations](https://docs.cloud.google.com/iam/docs/granting-changing-revoking-access.md.txt).


These predefined roles contain

the permissions required to use the data lineage MCP server. To see the exact permissions that are
required, expand the **Required permissions** section:


#### Required permissions

The following permissions are required to use the data lineage MCP server:

- Make MCP tool calls: `mcp.tools.call`
- Query data lineage in search for links: `datalineage.locations.searchLinks`


You might also be able to get
these permissions
with [custom roles](https://docs.cloud.google.com/iam/docs/creating-custom-roles.md.txt) or
other [predefined roles](https://docs.cloud.google.com/iam/docs/roles-overview.md.txt#predefined).

## Authentication and authorization

The data lineage remote MCP server uses the [OAuth 2.0](https://developers.google.com/identity/protocols/oauth2) protocol with [Identity and Access Management (IAM)](https://docs.cloud.google.com/iam/docs/overview.md.txt) for authentication and authorization. All [Google Cloud identities](https://docs.cloud.google.com/docs/authentication/identity-products.md.txt) are supported for authentication to MCP servers.

We recommend that you create a separate identity for agents that are using MCP
tools so that access to resources can be controlled and monitored. For more information about
authentication, see [Authenticate to MCP servers](https://docs.cloud.google.com/mcp/authenticate-mcp.md.txt).

### What MCP OAuth scopes do I need for data lineage?

OAuth 2.0 uses scopes and credentials to determine if an authenticated
principal is authorized to take a specific action on a resource. For more
information about OAuth 2.0 scopes at Google, read
[Using OAuth 2.0 to access Google APIs](https://developers.google.com/identity/protocols/oauth2).

Data lineage has the following MCP tool OAuth scopes:

| Scope URI for gcloud CLI | Description |
|---|---|
| `https://www.googleapis.com/auth/datalineage.readonly` | Only allows access to read data. |
| `https://www.googleapis.com/auth/datalineage.read-write` | Allows access to read and modify data. |

Additional scopes might be required on the resources accessed during a tool
call. To view a list of scopes required for
data lineage, see
[Data Lineage API](https://developers.google.com/identity/protocols/oauth2/scopes#datalineage).

## Configure an MCP client to use the data lineage MCP server

AI applications and agents, such as Claude or Antigravity, can instantiate an MCP client that connects to a single MCP server. An AI application can have multiple clients that connect to different MCP servers. If your application isn't listed in the [client-specific guidance](https://docs.cloud.google.com/mcp/configure-mcp-ai-application.md.txt#client-specific-guidance), then you can use the following information to connect from most applications.

In your AI application, look for a way to add or connect to a remote MCP server.
For the data lineage MCP server, enter the following
information as required:

- **Server name**: data lineage MCP server
- **Server URL** or **Endpoint** :
  - Global endpoint: `https://datalineage.googleapis.com/mcp`
  - Regional endpoints: `https://REGION-datalineage.googleapis.com/mcp`. Replace <var translate="no">REGION</var> with the one of the [supported regions](https://docs.cloud.google.com/knowledge-catalog/docs/locations.md.txt).
- **Transport** : [Streamable HTTP](https://modelcontextprotocol.io/specification/latest/basic/transports/streamable-http)
- **Authentication details** : depending on how you want to authenticate, you can enter your Google Cloud credentials, your OAuth Client ID and secret, or an agent identity and credentials. For more information about authentication, see [Authenticate to MCP servers](https://docs.cloud.google.com/mcp/authenticate-mcp.md.txt).
- **OAuth scope** : the [OAuth 2.0 scope](https://developers.google.com/identity/protocols/oauth2/scopes) that you want to use when connecting to the data lineage MCP server.
- Optional: **Custom headers** : to return full process details, such as
  display name, origin, and attributes, from the `search_lineage` tool,
  configure your MCP client to send the `X-Goog-FieldMask` header with
  `links.processes.process`. For example:

  ```bash
  X-Goog-FieldMask: links,links.processes.process,unreachable
  ```

  Without the `X-Goog-FieldMask` header, `search_lineage` returns only the
  resource names of the processes that created each link.

### Redirect URIs

For web-based applications, and some desktop applications, you must allowlist a
redirect URI when you create a client ID and secret for authentication.
Redirect URIs are used by the authorization server to send tokens
to your application. Your application's documentation should specify the
redirect URI that you must use. [Custom redirect URIs](https://developers.google.com/identity/protocols/oauth2/native-app#redirect-uri_custom-scheme)
aren't supported.
For application-specific guidance about setting up and connecting to MCP server, see [Client-specific guidance](https://docs.cloud.google.com/mcp/configure-mcp-ai-application.md.txt#client-specific-guidance).

For more general guidance, see the following resources:

- [Connect to remote MCP servers](https://modelcontextprotocol.io/docs/develop/connect-remote-servers).
- [Configure MCP in an AI application](https://docs.cloud.google.com/mcp/configure-mcp-ai-application.md.txt).

## What MCP tools does data lineage provide?

To view details of available MCP tools and their descriptions for the
data lineage MCP server, see the
[data lineage MCP reference](https://docs.cloud.google.com/knowledge-catalog/docs/reference/data-lineage/mcp.md.txt).

By default, `search_lineage` returns only process resource names when
`max_process_per_link` isn't zero. To get full process details, configure the
`X-Goog-FieldMask` header in your MCP client, as described in
[Configure an MCP client](https://docs.cloud.google.com/knowledge-catalog/docs/use-lineage-mcp.md.txt#configure-client).

### List tools

Use the [MCP inspector](https://modelcontextprotocol.io/docs/tools/inspector) to list tools, or send a
`tools/list` HTTP request directly to the data lineage
remote MCP server. The `tools/list` method doesn't require authentication.

    curl -X POST https://datalineage.googleapis.com/TOOLSET_ENDPOINT \
        -H 'Content-Type: application/json' \
        -H 'Accept: application/json' \
        -H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
        -H 'Mcp-Method: tools/list' \
        -d '{
          "jsonrpc": "2.0",
          "id": 1,
          "method": "tools/list",
          "params": {
            "_meta": {
              "io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
              "io.modelcontextprotocol/clientCapabilities": {
                "extensions": {
                  "io.modelcontextprotocol/ui": {
                    "mimeTypes": ["text/html;profile=mcp-app"]
                  }
                }
              }
            }
          }
        }'

Replace the following:

- <var translate="no">`TOOLSET_ENDPOINT`</var>: the remainder of the MCP endpoint after the service name. For example, for data lineage, this might be `mcp/toolset-name`.
- <var translate="no">`MCP_PROTOCOL_VERSION`</var>: the MCP protocol version. For example, `2026-07-28`.

## Example use cases

Example use cases for the data lineage MCP server include:

- Discovering all upstream data sources and transformation processes that feed into a specific data asset to verify data origin and accuracy.
- Analyzing the impact of broken, stalled, or delayed data pipelines on downstream data consumers.

## Sample prompts

- "In my project `my-analytics-project`, I have a dataset `sales_data` with a table called `monthly_reports`. Tell me all the data assets and transformation processes that feed data into this table."
- "I have a BigQuery job that writes into the `hr_dataset.salary` table. I see the job has been failing to run for 12 hours now. Can you tell me which downstream assets will have stale data because of this issue?"
- "Go through the `monthly_reports` table in `sales_data` dataset and `my-analytics-project` project to find all the columns that have upstream data sources, and give me all the processes that feed into these columns."
- "Search for lineage links connected to table `finance.employment_costs` to understand its upstream dependencies."

## Optional security and safety configurations

MCP introduces new security risks and considerations due to the wide variety of
actions that you can do with the MCP tools. To minimize and manage these risks,
Google Cloud offers default settings and customizable
policies to control the use of MCP tools in your Google Cloud
organization or project.

For more information about MCP security and governance, see
[AI security and safety](https://docs.cloud.google.com/mcp/ai-security-safety.md.txt).

### Control MCP use with IAM policies

Identity and Access Management (IAM)
[deny policies](https://docs.cloud.google.com/iam/docs/deny-overview.md.txt) and
[allow policies](https://docs.cloud.google.com/iam/docs/allow-policies.md.txt) help you
secure Google Cloud and Google MCP servers.

You can combine multiple criteria to build customized security and governance
policies by allowing or denying access based on the following:

- The principal.
- Tool properties like the read-only attribute.
- The service name or tool name.
- The application's OAuth client ID.

For more information, see
[Control MCP use with Identity and Access Management](https://docs.cloud.google.com/mcp/control-mcp-use-iam.md.txt).

## Get support

To get support or provide feedback for this preview feature, contact
[data-lineage-preview@google.com](mailto:data-lineage-preview@google.com).

## What's next

- Read the [data lineage MCP tools reference](https://docs.cloud.google.com/knowledge-catalog/docs/reference/data-lineage/mcp.md.txt).
- Learn more about [Google Cloud MCP servers](https://docs.cloud.google.com/mcp/overview.md.txt).