# com.googleapis.datastream/mcp

> Interact with your Google Cloud Datastream resources using natural language commands.

- name: com.googleapis.datastream/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 69/100 flags: no-repository
- quality: 86/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.googleapis.datastream%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.googleapis.datastream%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "datastream": {
      "type": "http",
      "url": "https://datastream.googleapis.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 45
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% -stale-184d -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 86/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 10 of 10 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 5,555 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 11 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 10, about 5,555 tokens to load them all
- tool set hash: 6e679c430075c327d4924011e793987e
- tools last changed: 2026-10-01T09:34:56.105Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.googleapis.datastream/mcp.svg)](https://protogrid.dev/servers/com.googleapis.datastream/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-01 `get_stream` changed (outputSchema)
- 2026-10-01 `list_streams` changed (outputSchema)
- 2026-09-25 `lookup_stream_object` changed (inputSchema, outputSchema)
- 2026-09-25 `get_stream_object` changed (outputSchema)
- 2026-09-25 `list_stream_objects` changed (outputSchema)
- 2026-09-25 `delete_stream` changed (outputSchema)
- 2026-09-25 `run_stream` changed (inputSchema, outputSchema)
- 2026-09-25 `get_stream` changed (outputSchema)
- 2026-09-25 `list_streams` changed (outputSchema)
- 2026-09-25 `list_connection_profiles` changed (outputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.googleapis.datastream%2Fmcp/changes

## Remotes

- https://datastream.googleapis.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (10)

- `delete_stream`: Deletes a stream, specified by the provided resource 'name' parameter.
* The resource 'name' parameter is in the form:
  'projects/{project name}/locations/{location}/streams/{stream name}',
  for example: 'projects/my-project/locations/us-central1/streams/my-streams'.
* This tool returns a long-running operation. Use the 'get_operation' tool with the
  returned operation name to poll its status until it completes. Operation may take
  several minutes; do not check more often than every ten seconds.

- `get_operation`: Gets the status of a long-running operation.

***Usage***
Some tools (for example, `run_stream`) return a long-running operation.
You can use this tool to get the status of the operation. It can be called repeatedly until
the operation is complete.

**Parameters**
*   `name`: The name of the operation to get.
    * `name` should be the name returned by the tool that initiated the operation.
    * `name` should be in the format of:
      `projects/{project}/locations/{location}/operations/{operation}`.

**Returns**
*   An `Operation` object that contains the status of the operation.
*   If the operation is not complete, the response will be empty. Do not check more than
    every ten seconds.
*   If the operation is complete, the response will contain either:
    * A `response` field that contains the result of the operation and indicates that it was
      successful.
    * A `error` field that indicates any errors that occurred during the operation.

- `get_stream`: Get details of the stream specified by the provided resource 'name' parameter.
* The resource 'name' parameter is in the form:
  'projects/{project name}/locations/{location}/streams/{stream name}',
  for example: 'projects/my-project/locations/us-central1/streams/my-streams'.

- `get_stream_object`: Get details of the stream object specified by the provided resource 'name' parameter.
* The resource 'name' parameter is in the form:
  'projects/{project name}/locations/{location}/streams/{stream name}/objects/{stream object name}',
  for example: 'projects/my-project/locations/us-central1/streams/my-stream/objects/my-stream-object'.

- `list_connection_profiles`: Lists connection profiles in a given project and location.

For example:
{
  parent: "projects/my-project/locations/us-central1"
  create_time_after: 2025-10-02T10:15:33Z
  create_time_before: 2025-10-03T00:00:00Z
  display_name: bookstore
  page_size: 100
}
will return up to 100 connection profiles in `projects/my-project/locations/us-central1`
that were created on or after 2025-10-02T10:15:33 UTC and before 2025-10-03T00:00:00 UTC,
and have "bookstore" in their display name.

- `list_static_ips`: Lists static IP addresses of the provided resource name that need to be allowlisted by the
customer when using the static-IP connectivity method.
Returns up to 100 IP addresses.
* The resource 'name' parameter is in the form 'projects/{project name}/locations/{location}',
  for example: 'projects/my-project/locations/us-central1'.

- `list_stream_objects`: Lists stream objects in a given stream.
* Parent parameter is in the form 'projects/{project name}/locations/{location}/streams/{stream name}',
for example:
'projects/my-project/locations/us-central1/streams/my-stream'.
* Not all the details of the stream objects are returned.
* To get the full details of a specific stream object, use the 'get_stream_object' tool.

- `list_streams`: Lists streams in a given project and location.

For example:
{
  parent: "projects/my-project/locations/us-central1"
  create_time_after: 2025-10-02T10:15:33Z
  create_time_before: 2025-10-03T00:00:00Z
  display_name: bookstore
  page_size: 100
  running: true
}
will return up to 100 running streams in `projects/my-project/locations/us-central1` that
were created on or after 2025-10-02T10:15:33 UTC and before 2025-10-03T00:00:00 UTC,
and have "bookstore" in their display name.

- `lookup_stream_object`: Lookup a stream object by its source object identifier.
**Parameters:**
* The 'parent' parameter is the name of the stream in the form:
  'projects/{project name}/locations/{location}/streams/{stream name}',
  for example: 'projects/my-project/locations/us-central1/streams/my-stream'.
* The 'source_object_identifier' parameter is the source database object identifier.
  Different source databases have different identifier formats. Examples:
  * Oracle, PostgreSQL, SQL Server and Spanner databases the identifier is
    'schema' and 'table'.
  * MySQL databases the identifier is 'database' and 'table'.

- `run_stream`: Starts an already created stream, specified by the provided resource 'name' parameter.

**Parameters**
*   'name': The resource name of the stream to start.
    * 'name' should be in the format of:
      'projects/{project name}/locations/{location}/streams/{stream name}',
      for example: 'projects/my-project/locations/us-central1/streams/my-streams'.
*   'force': Whether to run the stream without running prior configuration verification.
    The default is 'false'.

**Returns**
*   This tool returns a long-running operation. Use the 'get_operation' tool with the
    returned operation name to poll its status until it completes. Operation may take
    several minutes; do not check more often than every ten seconds.

