Server Details
Interact with your Google Cloud Datastream resources using natural language commands.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 10 of 10 tools scored. Lowest: 3.5/5.
Each tool targets a distinct resource-action pair. The three stream-related tools (list_stream_objects, get_stream_object, lookup_stream_object) have clearly different purposes—listing, getting by name, and looking up by source identifier—so no confusion.
All tool names follow a consistent verb_noun pattern with underscores, e.g., delete_stream, list_streams, get_operation. No mixing of conventions or irregular verbs.
With 10 tools, the set is well-scoped for a streaming service management API. It covers essential operations without being bloated or too sparse.
The tool set lacks fundamental CRUD operations: there is no create_stream, update_stream, or create/update/delete for stream objects, connection profiles, or static IPs. Agents cannot set up resources from scratch.
Available Tools
10 toolsdelete_streamDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name of the stream resource to delete. | |
| requestId | No | Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). |
Output Schema
| Name | Required | Description |
|---|---|---|
| done | No | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |
| name | No | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. |
| error | No | The error result of the operation in case of failure or cancellation. |
| metadata | No | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. |
| response | No | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. |
get_operationRead-onlyIdempotentInspect
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.nameshould be the name returned by the tool that initiated the operation.nameshould be in the format of:projects/{project}/locations/{location}/operations/{operation}.
Returns
An
Operationobject 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
responsefield that contains the result of the operation and indicates that it was successful.A
errorfield that indicates any errors that occurred during the operation.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the operation resource. |
Output Schema
| Name | Required | Description |
|---|---|---|
| done | No | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |
| name | No | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. |
| error | No | The error result of the operation in case of failure or cancellation. |
| metadata | No | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. |
| response | No | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. |
get_streamRead-onlyIdempotentInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name of the stream resource to get. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | Output only. Identifier. The stream's name. |
| state | No | The state of the stream. |
| errors | No | Output only. Errors on the Stream. |
| labels | No | Labels. |
| ruleSets | No | Optional. Rule sets to apply to the stream. |
| createTime | No | Output only. The creation time of the stream. |
| updateTime | No | Output only. The last update time of the stream. |
| backfillAll | No | Automatically backfill objects included in the stream source configuration. Specific objects can be excluded. |
| displayName | No | Required. Display name. |
| backfillNone | No | Do not automatically backfill any objects. |
| satisfiesPzi | No | Output only. Reserved for future use. |
| satisfiesPzs | No | Output only. Reserved for future use. |
| sourceConfig | No | Required. Source connection profile configuration. |
| lastRecoveryTime | No | Output only. If the stream was recovered, the time of the last recovery. Note: This field is currently experimental. |
| destinationConfig | No | Required. Destination connection profile configuration. |
| customerManagedEncryptionKey | No | Immutable. A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be encrypted using an internal Stream-specific encryption key provisioned through KMS. |
get_stream_objectRead-onlyIdempotentInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name of the stream object resource to get. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | Output only. Identifier. The object resource's name. |
| errors | No | Output only. Active errors on the object. |
| createTime | No | Output only. The creation time of the object. |
| updateTime | No | Output only. The last update time of the object. |
| backfillJob | No | The latest backfill job that was initiated for the stream object. |
| displayName | No | Required. Display name. |
| sourceObject | No | The object identifier in the data source. |
| customizationRules | No | Output only. The customization rules for the object. These rules are derived from the parent Stream's `rule_sets` and represent the intended configuration for the object. |
list_connection_profilesRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The parent that owns the collection of connection profiles. Must be in the format `projects/*/locations/*`. For example: 'projects/my-project/locations/us-central1' | |
| pageSize | No | Optional. Use to limit the number of connection profiles returned. Valid values are between 1 and 1000 inclusive. Defaults to 1000 if not provided or outside of the valid range. Note that due to filtering, it is possible to get no results (but a next_page_token) so you should keep calling this method until you get a response with an empty next_page_token. | |
| pageToken | No | Optional. A page token, received from a previous `list_connection_profiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `list_connection_profiles` must match the call that provided the page token. | |
| displayName | No | Optional. Use to get connection profiles whose display name contains the provided name. | |
| createTimeAfter | No | Optional. Use to get connection profiles that were created on or after the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00. | |
| createTimeBefore | No | Optional. Use to get connection profiles that were created before the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00. |
Output Schema
| Name | Required | Description |
|---|---|---|
| unreachable | No | Locations that could not be reached. |
| nextPageToken | No | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. |
| connectionProfiles | No | List of connection profiles. |
list_static_ipsRead-onlyIdempotentInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The resource name for the location for which static IPs should be returned. Must be in the format `projects/*/locations/*`. For example: 'projects/my-project/locations/us-central1' |
Output Schema
| Name | Required | Description |
|---|---|---|
| staticIps | No | list of static ips by account |
| nextPageToken | No | A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. |
list_stream_objectsRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The parent stream that owns the collection of objects. | |
| pageSize | No | Optional. Maximum number of objects to return. Default is 50. The maximum value is 1000; values above 1000 will be coerced to 1000. | |
| pageToken | No | Optional. Page token received from a previous `ListStreamObjectsRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListStreamObjectsRequest` must match the call that provided the page token. |
Output Schema
| Name | Required | Description |
|---|---|---|
| nextPageToken | No | A token, which can be sent as `page_token` to retrieve the next page. |
| streamObjects | No | List of stream objects. |
list_streamsRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| failed | No | Optional. Use to get streams that are currently in state FAILED or FAILED_PERMANENTLY. | |
| parent | Yes | Required. The parent that owns the collection of streams. Must be in the format `projects/*/locations/*`. For example: 'projects/my-project/locations/us-central1' | |
| running | No | Optional. Use to get streams that are currently in state RUNNING. | |
| pageSize | No | Optional. Use to limit the number of streams returned. Valid values are between 1 and 1000 inclusive. Defaults to 1000 if not provided or outside of the valid range. Note that due to filtering, it is possible to get no results (but a next_page_token) so you should keep calling this method until you get a response with an empty next_page_token. | |
| pageToken | No | Optional. A page token, received from a previous `list_streams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `list_streams` must match the call that provided the page token. | |
| displayName | No | Optional. Use to get streams whose display name contains the provided name. | |
| createTimeAfter | No | Optional. Use to get streams that were created on or after the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00. | |
| createTimeBefore | No | Optional. Use to get streams that were created before the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00. |
Output Schema
| Name | Required | Description |
|---|---|---|
| streams | No | List of streams |
| unreachable | No | Locations that could not be reached. |
| nextPageToken | No | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. |
lookup_stream_objectRead-onlyIdempotentInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The parent stream that owns the collection of objects. | |
| sourceObjectIdentifier | Yes | Required. The source object identifier which maps to the stream object. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | Output only. Identifier. The object resource's name. |
| errors | No | Output only. Active errors on the object. |
| createTime | No | Output only. The creation time of the object. |
| updateTime | No | Output only. The last update time of the object. |
| backfillJob | No | The latest backfill job that was initiated for the stream object. |
| displayName | No | Required. Display name. |
| sourceObject | No | The object identifier in the data source. |
| customizationRules | No | Output only. The customization rules for the object. These rules are derived from the parent Stream's `rule_sets` and represent the intended configuration for the object. |
run_streamInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. Name of the stream resource to start, in the format: projects/{project_id}/locations/{location}/streams/{stream_name} | |
| force | No | Optional. Update the stream without validating it. | |
| cdcStrategy | No | Optional. The CDC strategy of the stream. If not set, the system's default value will be used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| done | No | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |
| name | No | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. |
| error | No | The error result of the operation in case of failure or cancellation. |
| metadata | No | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. |
| response | No | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!