Plugin ID: gcp | Auth: OAuth2 (with PKCE) | Scopes: compute.readonly, devstorage.read_only, bigquery.readonly, iam.readonly, cloudplatformprojects.readonly
The GCP plugin uses a dedicated gcp OAuth provider (separate from the google provider used by Google Workspace) to keep cloud-platform scopes isolated.
gcp.projects.list
Name: List Projects
List GCP projects accessible to the authenticated user.
Input:
| Parameter | Type | Required | Default | Description |
|---|
filter | string | No | — | Filter expression (e.g. "name:my-project") |
pageSize | integer | No | 50 | Max results |
pageToken | string | No | — | Pagination token |
Output:
{
"projects": [
{ "projectId": "my-project-123", "name": "My Project", "projectNumber": "123456789", "lifecycleState": "ACTIVE" }
],
"nextPageToken": null
}
gcp.compute.instances.list
Name: List VM Instances
List Compute Engine VM instances in a project and zone.
Input:
| Parameter | Type | Required | Default | Description |
|---|
project | string | Yes | — | GCP project ID |
zone | string | Yes | — | Compute zone (e.g. "us-central1-a") |
maxResults | integer | No | 50 | Max results |
pageToken | string | No | — | Pagination token |
Output:
{
"instances": [
{ "id": "123", "name": "web-server-1", "status": "RUNNING", "machineType": "e2-medium", "zone": "us-central1-a" }
],
"nextPageToken": null
}
gcp.compute.instances.get
Name: Get VM Instance
Get details of a specific Compute Engine VM instance.
Input:
| Parameter | Type | Required | Description |
|---|
project | string | Yes | GCP project ID |
zone | string | Yes | Compute zone |
instance | string | Yes | Instance name |
Output:
{
"id": "123", "name": "web-server-1", "status": "RUNNING", "machineType": "e2-medium",
"networkInterfaces": [{}], "disks": [{}], "creationTimestamp": "2026-01-01T00:00:00Z"
}
gcp.compute.instances.start
Name: Start VM Instance | Destructive: Yes
Start a stopped Compute Engine VM instance. Returns a long-running operation. Requires user approval.
Input:
| Parameter | Type | Required | Description |
|---|
project | string | Yes | GCP project ID |
zone | string | Yes | Compute zone |
instance | string | Yes | Instance name |
Output:
{ "operation": "op-123", "status": "RUNNING", "targetLink": "https://..." }
gcp.compute.instances.stop
Name: Stop VM Instance | Destructive: Yes
Stop a running Compute Engine VM instance. Requires user approval.
Input:
| Parameter | Type | Required | Description |
|---|
project | string | Yes | GCP project ID |
zone | string | Yes | Compute zone |
instance | string | Yes | Instance name |
Output:
{ "operation": "op-456", "status": "RUNNING", "targetLink": "https://..." }
gcp.storage.buckets.list
Name: List Buckets
List Cloud Storage buckets in a project.
Input:
| Parameter | Type | Required | Default | Description |
|---|
project | string | Yes | — | GCP project ID |
maxResults | integer | No | 50 | Max results |
pageToken | string | No | — | Pagination token |
Output:
{
"buckets": [
{ "id": "my-bucket", "name": "my-bucket", "location": "US", "storageClass": "STANDARD", "timeCreated": "2026-01-01T00:00:00Z" }
],
"nextPageToken": null
}
gcp.storage.objects.list
Name: List Objects
List objects in a Cloud Storage bucket.
Input:
| Parameter | Type | Required | Default | Description |
|---|
bucket | string | Yes | — | Bucket name |
prefix | string | No | — | Object name prefix filter |
delimiter | string | No | — | Delimiter for hierarchy (usually "/") |
maxResults | integer | No | 100 | Max results |
pageToken | string | No | — | Pagination token |
Output:
{
"objects": [
{ "name": "data/file.csv", "size": "1024", "contentType": "text/csv", "updated": "2026-04-01T00:00:00Z" }
],
"prefixes": ["data/subdir/"],
"nextPageToken": null
}
Name: Get Object Metadata
Get metadata for a Cloud Storage object (does not download the content).
Input:
| Parameter | Type | Required | Description |
|---|
bucket | string | Yes | Bucket name |
object | string | Yes | Object name (path within bucket) |
Output:
{ "name": "data/file.csv", "bucket": "my-bucket", "size": "1024", "contentType": "text/csv", "md5Hash": "abc123", "updated": "2026-04-01T00:00:00Z", "metadata": null }
gcp.bigquery.datasets.list
Name: List Datasets
List BigQuery datasets in a project.
Input:
| Parameter | Type | Required | Default | Description |
|---|
project | string | Yes | — | GCP project ID |
maxResults | integer | No | 50 | Max results |
pageToken | string | No | — | Pagination token |
Output:
{
"datasets": [
{ "datasetId": "analytics", "projectId": "my-project", "location": "US" }
],
"nextPageToken": null
}
gcp.bigquery.tables.list
Name: List Tables
List tables in a BigQuery dataset.
Input:
| Parameter | Type | Required | Default | Description |
|---|
project | string | Yes | — | GCP project ID |
datasetId | string | Yes | — | BigQuery dataset ID |
maxResults | integer | No | 50 | Max results |
pageToken | string | No | — | Pagination token |
Output:
{
"tables": [
{ "tableId": "events", "type": "TABLE", "creationTime": "1700000000000" }
],
"nextPageToken": null
}
gcp.bigquery.query
Name: Run Query
Run a read-only SQL query against BigQuery.
Input:
| Parameter | Type | Required | Default | Description |
|---|
project | string | Yes | — | GCP project ID |
query | string | Yes | — | Standard SQL query |
maxResults | integer | No | 100 | Max rows |
useLegacySql | boolean | No | false | Use legacy SQL syntax |
Output:
{
"totalRows": "42",
"schema": [{ "name": "user_id", "type": "STRING" }],
"rows": [["user_123"]],
"jobComplete": true
}
gcp.iam.service_accounts.list
Name: List Service Accounts
List service accounts in a GCP project.
Input:
| Parameter | Type | Required | Default | Description |
|---|
project | string | Yes | — | GCP project ID |
pageSize | integer | No | 50 | Max results |
pageToken | string | No | — | Pagination token |
Output:
{
"accounts": [
{ "email": "sa@my-project.iam.gserviceaccount.com", "displayName": "My SA", "disabled": false, "uniqueId": "123" }
],
"nextPageToken": null
}