chore: import upstream snapshot with attribution
CF: Deploy Dev Docs / deploy (push) Has been cancelled
Sync Labels / build (push) Has been cancelled
tests / unit tests (macos-latest) (push) Has been cancelled
tests / unit tests (windows-latest) (push) Has been cancelled
tests / unit tests (ubuntu-latest) (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 13:32:45 +08:00
commit e04ed9c211
1798 changed files with 307905 additions and 0 deletions
@@ -0,0 +1,4 @@
---
title: "AlloyDB Admin"
weight: 1
---
@@ -0,0 +1,5 @@
---
title: "Prebuilt Configs"
type: docs
description: "Prebuilt configurations for Alloydb Admin."
---
@@ -0,0 +1,26 @@
---
title: "AlloyDB Postgres Admin"
type: docs
description: "Details of the AlloyDB Postgres Admin prebuilt configuration."
---
## AlloyDB Postgres Admin
* `--prebuilt` value: `alloydb-postgres-admin`
* **Permissions:**
* **AlloyDB Viewer** (`roles/alloydb.viewer`) is required for `list` and
`get` tools.
* **AlloyDB Admin** (`roles/alloydb.admin`) is required for `create` tools.
* **Tools:**
* `create_cluster`: Creates a new AlloyDB cluster.
* `list_clusters`: Lists all AlloyDB clusters in a project.
* `get_cluster`: Gets information about a specified AlloyDB cluster.
* `create_instance`: Creates a new AlloyDB instance within a cluster.
* `list_instances`: Lists all instances within an AlloyDB cluster.
* `get_instance`: Gets information about a specified AlloyDB instance.
* `create_user`: Creates a new database user in an AlloyDB cluster.
* `list_users`: Lists all database users within an AlloyDB cluster.
* `get_user`: Gets information about a specified database user in an
AlloyDB cluster.
* `wait_for_operation`: Polls the operations API to track the status of
long-running operations.
@@ -0,0 +1,48 @@
---
title: "AlloyDB Admin Source"
linkTitle: "Source"
type: docs
weight: 1
description: "The \"alloydb-admin\" source provides a client for the AlloyDB API.\n"
no_list: true
---
## About
The `alloydb-admin` source provides a client to interact with the [Google
AlloyDB API](https://cloud.google.com/alloydb/docs/reference/rest). This allows
tools to perform administrative tasks on AlloyDB resources, such as managing
clusters, instances, and users.
Authentication can be handled in two ways:
1. **Application Default Credentials (ADC):** By default, the source uses ADC
to authenticate with the API.
2. **Client-side OAuth:** If `useClientOAuth` is set to `true`, the source will
expect an OAuth 2.0 access token to be provided by the client (e.g., a web
browser) for each request.
## Available Tools
{{< list-tools >}}
## Example
```yaml
kind: source
name: my-alloydb-admin
type: alloydb-admin
---
kind: source
name: my-oauth-alloydb-admin
type: alloydb-admin
useClientOAuth: true
```
## Reference
| **field** | **type** | **required** | **description** |
| -------------- | :------: | :----------: | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| type | string | true | Must be "alloydb-admin". |
| defaultProject | string | false | The Google Cloud project ID to use for AlloyDB infrastructure tools. |
| useClientOAuth | boolean | false | If true, the source will use client-side OAuth for authorization. Otherwise, it will use Application Default Credentials. Defaults to `false`. |
@@ -0,0 +1,4 @@
---
title: "Tools"
weight: 2
---
@@ -0,0 +1,60 @@
---
title: alloydb-create-cluster
type: docs
weight: 1
description: "The \"alloydb-create-cluster\" tool creates a new AlloyDB for PostgreSQL cluster in a specified project and location.\n"
---
## About
The `alloydb-create-cluster` tool creates a new AlloyDB for PostgreSQL cluster
in a specified project and location.
This tool provisions a cluster with a **private IP address** within the specified VPC network.
**Permissions & APIs Required:**
Before using, ensure the following on your GCP project:
1. The [AlloyDB
API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com) is
enabled.
2. The user or service account executing the tool has one of the following IAM
roles:
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
- `roles/owner` (the Owner basic IAM role)
- `roles/editor` (the Editor basic IAM role)
The tool takes the following input parameters:
| Parameter | Type | Description | Required |
|:-----------|:-------|:--------------------------------------------------------------------------------------------------------------------------|:---------|
| `project` | string | The GCP project ID where the cluster will be created. | Yes |
| `cluster` | string | A unique identifier for the new AlloyDB cluster. | Yes |
| `password` | string | A secure password for the initial user. | Yes |
| `location` | string | The GCP location where the cluster will be created. Default: `us-central1`. If quota is exhausted then use other regions. | No |
| `network` | string | The name of the VPC network to connect the cluster to. Default: `default`. | No |
| `user` | string | The name for the initial superuser. Default: `postgres`. | No |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: create_cluster
type: alloydb-create-cluster
source: alloydb-admin-source
description: Use this tool to create a new AlloyDB cluster in a given project and location.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|------------------------------------------------------|
| type | string | true | Must be alloydb-create-cluster. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,63 @@
---
title: alloydb-create-instance
type: docs
weight: 1
description: "The \"alloydb-create-instance\" tool creates a new AlloyDB instance within a specified cluster.\n"
---
## About
The `alloydb-create-instance` tool creates a new AlloyDB instance (PRIMARY or
READ_POOL) within a specified cluster.
This tool provisions a new instance with a **public IP address**.
**Permissions & APIs Required:**
Before using, ensure the following on your GCP project:
1. The [AlloyDB
API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com)
is enabled.
2. The user or service account executing the tool has one of the following IAM
roles:
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
- `roles/owner` (the Owner basic IAM role)
- `roles/editor` (the Editor basic IAM role)
The tool takes the following input parameters:
| Parameter | Type | Description | Required |
| :------------- | :----- | :------------------------------------------------------------------------------------------------ | :------- |
| `project` | string | The GCP project ID where the cluster exists. | Yes |
| `location` | string | The GCP location where the cluster exists (e.g., `us-central1`). | Yes |
| `cluster` | string | The ID of the existing cluster to add this instance to. | Yes |
| `instance` | string | A unique identifier for the new AlloyDB instance. | Yes |
| `instanceType` | string | The type of instance. Valid values are: `PRIMARY` and `READ_POOL`. Default: `PRIMARY` | No |
| `displayName` | string | An optional, user-friendly name for the instance. | No |
| `nodeCount` | int | The number of nodes for a read pool. Required only if `instanceType` is `READ_POOL`. Default: `1` | No |
> Note
> The tool sets the `password.enforce_complexity` database flag to `on`,
> requiring new database passwords to meet complexity rules.
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: create_instance
type: alloydb-create-instance
source: alloydb-admin-source
description: Use this tool to create a new AlloyDB instance within a specified cluster.
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------- |
| type | string | true | Must be alloydb-create-instance. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,58 @@
---
title: alloydb-create-user
type: docs
weight: 2
description: "The \"alloydb-create-user\" tool creates a new database user within a specified AlloyDB cluster.\n"
---
## About
The `alloydb-create-user` tool creates a new database user (`ALLOYDB_BUILT_IN`
or `ALLOYDB_IAM_USER`) within a specified cluster.
**Permissions & APIs Required:**
Before using, ensure the following on your GCP project:
1. The [AlloyDB
API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com)
is enabled.
2. The user or service account executing the tool has one of the following IAM
roles:
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
- `roles/owner` (the Owner basic IAM role)
- `roles/editor` (the Editor basic IAM role)
The tool takes the following input parameters:
| Parameter | Type | Description | Required |
| :-------------- | :------------ | :------------------------------------------------------------------------------------------------------------ | :------- |
| `project` | string | The GCP project ID where the cluster exists. | Yes |
| `cluster` | string | The ID of the existing cluster where the user will be created. | Yes |
| `location` | string | The GCP location where the cluster exists (e.g., `us-central1`). | Yes |
| `user` | string | The name for the new user. Must be unique within the cluster. | Yes |
| `userType` | string | The type of user. Valid values: `ALLOYDB_BUILT_IN` and `ALLOYDB_IAM_USER`. `ALLOYDB_IAM_USER` is recommended. | Yes |
| `password` | string | A secure password for the user. Required only if `userType` is `ALLOYDB_BUILT_IN`. | No |
| `databaseRoles` | array(string) | Optional. A list of database roles to grant to the new user (e.g., `pg_read_all_data`). | No |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: create_user
type: alloydb-create-user
source: alloydb-admin-source
description: Use this tool to create a new database user for an AlloyDB cluster.
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------- |
| type | string | true | Must be alloydb-create-user. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,40 @@
---
title: alloydb-get-cluster
type: docs
weight: 1
description: "The \"alloydb-get-cluster\" tool retrieves details for a specific AlloyDB cluster.\n"
---
## About
The `alloydb-get-cluster` tool retrieves detailed information for a single,
specified AlloyDB cluster.
| Parameter | Type | Description | Required |
| :--------- | :----- | :------------------------------------------------- | :------- |
| `project` | string | The GCP project ID to get cluster for. | Yes |
| `location` | string | The location of the cluster (e.g., 'us-central1'). | Yes |
| `cluster` | string | The ID of the cluster to retrieve. | Yes |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: get_specific_cluster
type: alloydb-get-cluster
source: my-alloydb-admin-source
description: Use this tool to retrieve details for a specific AlloyDB cluster.
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------- |
| type | string | true | Must be alloydb-get-cluster. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,41 @@
---
title: alloydb-get-instance
type: docs
weight: 1
description: "The \"alloydb-get-instance\" tool retrieves details for a specific AlloyDB instance.\n"
---
## About
The `alloydb-get-instance` tool retrieves detailed information for a single,
specified AlloyDB instance.
| Parameter | Type | Description | Required |
|:-----------|:-------|:----------------------------------------------------|:---------|
| `project` | string | The GCP project ID to get instance for. | Yes |
| `location` | string | The location of the instance (e.g., 'us-central1'). | Yes |
| `cluster` | string | The ID of the cluster. | Yes |
| `instance` | string | The ID of the instance to retrieve. | Yes |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: get_specific_instance
type: alloydb-get-instance
source: my-alloydb-admin-source
description: Use this tool to retrieve details for a specific AlloyDB instance.
```
## Reference
| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|------------------------------------------------------|
| type | string | true | Must be alloydb-get-instance. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,41 @@
---
title: alloydb-get-user
type: docs
weight: 1
description: "The \"alloydb-get-user\" tool retrieves details for a specific AlloyDB user.\n"
---
## About
The `alloydb-get-user` tool retrieves detailed information for a single,
specified AlloyDB user.
| Parameter | Type | Description | Required |
| :--------- | :----- | :------------------------------------------------- | :------- |
| `project` | string | The GCP project ID to get user for. | Yes |
| `location` | string | The location of the cluster (e.g., 'us-central1'). | Yes |
| `cluster` | string | The ID of the cluster to retrieve the user from. | Yes |
| `user` | string | The ID of the user to retrieve. | Yes |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: get_specific_user
type: alloydb-get-user
source: my-alloydb-admin-source
description: Use this tool to retrieve details for a specific AlloyDB user.
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------- |
| type | string | true | Must be alloydb-get-user. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,43 @@
---
title: alloydb-list-clusters
type: docs
weight: 1
description: "The \"alloydb-list-clusters\" tool lists the AlloyDB clusters in a given project and location.\n"
---
## About
The `alloydb-list-clusters` tool retrieves AlloyDB cluster information for all
or specified locations in a given project.
`alloydb-list-clusters` tool lists the detailed information of AlloyDB
cluster(cluster name, state, configuration, etc) for a given project and
location. The tool takes the following input parameters:
| Parameter | Type | Description | Required |
| :--------- | :----- | :----------------------------------------------------------------------------------------------- | :------- |
| `project` | string | The GCP project ID to list clusters for. | Yes |
| `location` | string | The location to list clusters in (e.g., 'us-central1'). Use `-` for all locations. Default: `-`. | No |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: list_clusters
type: alloydb-list-clusters
source: alloydb-admin-source
description: Use this tool to list all AlloyDB clusters in a given project and location.
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------- |
| type | string | true | Must be alloydb-list-clusters. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,45 @@
---
title: alloydb-list-instances
type: docs
weight: 1
description: "The \"alloydb-list-instances\" tool lists the AlloyDB instances for a given project, cluster and location.\n"
---
## About
The `alloydb-list-instances` tool retrieves AlloyDB instance information for all
or specified clusters and locations in a given project.
`alloydb-list-instances` tool lists the detailed information of AlloyDB
instances (instance name, type, IP address, state, configuration, etc) for a
given project, cluster and location. The tool takes the following input
parameters:
| Parameter | Type | Description | Required |
| :--------- | :----- | :--------------------------------------------------------------------------------------------------------- | :------- |
| `project` | string | The GCP project ID to list instances for. | Yes |
| `cluster` | string | The ID of the cluster to list instances from. Use '-' to get results for all clusters. Default: `-`. | No |
| `location` | string | The location of the cluster (e.g., 'us-central1'). Use '-' to get results for all locations. Default: `-`. | No |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: list_instances
type: alloydb-list-instances
source: alloydb-admin-source
description: Use this tool to list all AlloyDB instances for a given project, cluster and location.
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------- |
| type | string | true | Must be alloydb-list-instances. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,42 @@
---
title: alloydb-list-users
type: docs
weight: 1
description: "The \"alloydb-list-users\" tool lists all database users within an AlloyDB cluster.\n"
---
## About
The `alloydb-list-users` tool lists all database users within an AlloyDB
cluster.
The tool takes the following input parameters:
| Parameter | Type | Description | Required |
| :--------- | :----- | :------------------------------------------------- | :------- |
| `project` | string | The GCP project ID to list users for. | Yes |
| `cluster` | string | The ID of the cluster to list users from. | Yes |
| `location` | string | The location of the cluster (e.g., 'us-central1'). | Yes |
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: list_users
type: alloydb-list-users
source: alloydb-admin-source
description: Use this tool to list all database users within an AlloyDB cluster
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------- |
| type | string | true | Must be alloydb-list-users. |
| source | string | true | The name of an `alloydb-admin` source. |
| description | string | false | Description of the tool that is passed to the agent. |
@@ -0,0 +1,55 @@
---
title: alloydb-wait-for-operation
type: docs
weight: 10
description: "Wait for a long-running AlloyDB operation to complete.\n"
---
## About
The `alloydb-wait-for-operation` tool is a utility tool that waits for a
long-running AlloyDB operation to complete. It does this by polling the AlloyDB
Admin API operation status endpoint until the operation is finished, using
exponential backoff.
| Parameter | Type | Description | Required |
| :---------- | :----- | :--------------------------------------------------- | :------- |
| `project` | string | The GCP project ID. | Yes |
| `location` | string | The location of the operation (e.g., 'us-central1'). | Yes |
| `operation` | string | The ID of the operation to wait for. | Yes |
{{< notice info >}}
This tool is intended for developer assistant workflows with human-in-the-loop
and shouldn't be used for production agents.
{{< /notice >}}
## Compatible Sources
{{< compatible-sources >}}
## Example
```yaml
kind: tool
name: wait_for_operation
type: alloydb-wait-for-operation
source: my-alloydb-admin-source
description: "This will poll on operations API until the operation is done. For checking operation status we need projectId, locationID and operationId. Once instance is created give follow up steps on how to use the variables to bring data plane MCP server up in local and remote setup."
delay: 1s
maxDelay: 4m
multiplier: 2
maxRetries: 10
```
## Reference
| **field** | **type** | **required** | **description** |
| ----------- | :------: | :----------: | ---------------------------------------------------------------------------------------------------------------- |
| type | string | true | Must be "alloydb-wait-for-operation". |
| source | string | true | The name of a `alloydb-admin` source to use for authentication. |
| description | string | false | A description of the tool. |
| delay | duration | false | The initial delay between polling requests (e.g., `3s`). Defaults to 3 seconds. |
| maxDelay | duration | false | The maximum delay between polling requests (e.g., `4m`). Defaults to 4 minutes. |
| multiplier | float | false | The multiplier for the polling delay. The delay is multiplied by this value after each request. Defaults to 2.0. |
| maxRetries | int | false | The maximum number of polling attempts before giving up. Defaults to 10. |