Interact with your Google Bigtable resources using natural language commands.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a new instance in the specified project. The request requires project_id, instance_id, display_name, and at least one cluster. The instance_id must be RFC 1035 compliant. Each cluster must specify its zone (e.g. us-central1-a). Example: { "project_id": "my-project", "instance_id": "my-instance", "display_name": "This is my instance", "clusters": [ { "zone": "us-central1-a", "serve_nodes": 3, "default_storage_type": "SSD" } ] }
Required. Clusters to be created within the instance. At least one cluster must be specified.
Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID.
Required. The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`.
Required. The descriptive name for this instance as it appears in UIs.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a new instance in the specified project. The request requires project_id, instance_id, display_name, and at least one cluster. The instance_id must be RFC 1035 compliant. Each cluster must specify its zone (e.g. us-central1-a). Example: { "project_id": "my-project", "instance_id": "my-instance", "display_name": "This is my instance", "clusters": [ { "zone": "us-central1-a", "serve_nodes": 3, "default_storage_type": "SSD" } ] }
| Argument | Type | Description |
|---|---|---|
| clusters* | array | Required. Clusters to be created within the instance. At least one cluster must be specified. |
| projectId* | string | Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID. |
| instanceId* | string | Required. The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`. |
| displayName* | string | Required. The descriptive name for this instance as it appears in UIs. |
{
"type": "object",
"$defs": {
"Cluster": {
"type": "object",
"required": [
"zone"
],
"properties": {
"zone": {
"type": "string",
"description": "Required. The zone where the cluster will be located. e.g., `us-central1-a`."
},
"clusterId": {
"type": "string",
"description": "Optional. The ID of the cluster, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. The tool mapping will provide a default if this is not specified (e.g., `{instance_id}-c{index}`)."
},
"serveNodesCount": {
"type": "integer",
"format": "int32",
"description": "Optional. The number of nodes to serve. If not specified, the tool mapping will default to 1."
},
"defaultStorageType": {
"enum": [
"STORAGE_TYPE_UNSPECIFIED",
"SSD",
"HDD"
],
"type": "string",
"description": "Optional. The default storage type for the cluster, e.g., SSD, HDD. If not specified, the tool mapping will default to SSD.",
"x-google-enum-descriptions": [
"The user did not specify a storage type.",
"Flash (SSD) storage should be used.",
"Magnetic drive (HDD) storage should be used."
]
}
},
"description": "Cluster configuration."
}
},
"required": [
"projectId",
"instanceId",
"displayName",
"clusters"
],
"properties": {
"clusters": {
"type": "array",
"items": {
"$ref": "#/$defs/Cluster"
},
"description": "Required. Clusters to be created within the instance. At least one cluster must be specified."
},
"projectId": {
"type": "string",
"description": "Required. The project ID (e.g., \"my-project\"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID."
},
"instanceId": {
"type": "string",
"description": "Required. The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`."
},
"displayName": {
"type": "string",
"description": "Required. The descriptive name for this instance as it appears in UIs."
}
},
"description": "Request message for Bigtable.CreateInstance"
}Create a new Bigtable logical view within a specified instance. The request requires project_id, instance_id, logical_view_id, and logical_view. The logical_view_id can be any name up to 128 characters. Example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "query": "SELECT CF FROM my-table" } }
| Argument | Type | Description |
|---|---|---|
| projectId* | string | Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID. |
| instanceId* | string | Required. The instance ID within the project where the logical view will be created (e.g., "my-instance"). |
| logicalView* | any | Required. The logical view to create. |
| logicalViewId* | string | Required. The ID used for the logical view within its instance, e.g., `mylogicalview`. |
{
"type": "object",
"$defs": {
"LogicalView": {
"type": "object",
"required": [
"query"
],
"properties": {
"name": {
"type": "string",
"description": "Identifier. The name of the logical view.",
"x-google-identifier": true
},
"query": {
"type": "string",
"description": "Required. The logical view's select query."
},
"deletionProtection": {
"type": "boolean",
"description": "Optional. Set to true to make the LogicalView protected against deletion."
}
},
"description": "A simplified mcp version of the SQL logical view object."
}
},
"required": [
"projectId",
"instanceId",
"logicalViewId",
"logicalView"
],
"properties": {
"projectId": {
"type": "string",
"description": "Required. The project ID (e.g., \"my-project\"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID."
},
"instanceId": {
"type": "string",
"description": "Required. The instance ID within the project where the logical view will be created (e.g., \"my-instance\")."
},
"logicalView": {
"$ref": "#/$defs/LogicalView",
"description": "Required. The logical view to create."
},
"logicalViewId": {
"type": "string",
"description": "Required. The ID used for the logical view within its instance, e.g., `mylogicalview`."
}
},
"description": "Request message for Bigtable.CreateLogicalView"
}Create a new table in the specified instance.
| Argument | Type | Description |
|---|---|---|
| tableId* | string | Required. The ID to be used when referring to the new table within its instance, e.g., just `mytable`. |
| projectId* | string | Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID. |
| instanceId* | string | Required. The instance ID within the project where the table will be created (e.g., "my-instance"). |
| columnFamilies | array | Optional. The names of the column families to be created in the table. Example: `["cf1", "cf2"]`. The tool mapping will apply a default garbage collection policy (e.g., keeping only the latest version) to each column family. |
{
"type": "object",
"required": [
"projectId",
"instanceId",
"tableId"
],
"properties": {
"tableId": {
"type": "string",
"description": "Required. The ID to be used when referring to the new table within its instance, e.g., just `mytable`."
},
"projectId": {
"type": "string",
"description": "Required. The project ID (e.g., \"my-project\"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID."
},
"instanceId": {
"type": "string",
"description": "Required. The instance ID within the project where the table will be created (e.g., \"my-instance\")."
},
"columnFamilies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. The names of the column families to be created in the table. Example: `[\"cf1\", \"cf2\"]`. The tool mapping will apply a default garbage collection policy (e.g., keeping only the latest version) to each column family."
}
},
"description": "Request message for Bigtable.CreateTable"
}Delete an instance from a project. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "name": "projects/my-project/instances/my-instance" } Before executing the deletion, you MUST confirm the action with the user by stating the full instance name and asking for "yes/no" confirmation.
| Argument | Type | Description |
|---|---|---|
| name* | string | Required. The unique name of the instance to be deleted. Values are of the form `projects/{project}/instances/{instance}`. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. The unique name of the instance to be deleted. Values are of the form `projects/{project}/instances/{instance}`."
}
},
"description": "Request message for BigtableInstanceAdmin.DeleteInstance."
}Deletes a Bigtable logical view within a specified instance. The request requires the `name` field to be set in the format 'projects/{project}/instances/{instance}/logicalViews/{logical_view}'. Example: { "name": "projects/my-project/instances/my-instance/logicalViews/my-logical-view" } Before executing the deletion, you MUST confirm the action with the user by stating the full logical view name and asking for "yes/no" confirmation.
| Argument | Type | Description |
|---|---|---|
| etag | string | Optional. The current etag of the logical view. If an etag is provided and does not match the current etag of the logical view, deletion will be blocked and an ABORTED error will be returned. |
| name* | string | Required. The unique name of the logical view to be deleted. Format: `projects/{project}/instances/{instance}/logicalViews/{logical_view}`. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"etag": {
"type": "string",
"description": "Optional. The current etag of the logical view. If an etag is provided and does not match the current etag of the logical view, deletion will be blocked and an ABORTED error will be returned."
},
"name": {
"type": "string",
"description": "Required. The unique name of the logical view to be deleted. Format: `projects/{project}/instances/{instance}/logicalViews/{logical_view}`."
}
},
"description": "Request message for BigtableInstanceAdmin.DeleteLogicalView."
}Delete a table. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}/tables/{table}'. Example: { "name": "projects/my-project/instances/my-instance/tables/my-table" } The table must exist. You can use `list_tables` to verify. Before executing the deletion, you MUST confirm the action with the user by stating the full table name and asking for "yes/no" confirmation.
| Argument | Type | Description |
|---|---|---|
| name* | string | Required. The unique name of the table to be deleted. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. The unique name of the table to be deleted. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`."
}
},
"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable"
}Get information about an instance. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "name": "projects/my-project/instances/my-instance" }
| Argument | Type | Description |
|---|---|---|
| name* | string | Required. The unique name of the requested instance. Values are of the form `projects/{project}/instances/{instance}`. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. The unique name of the requested instance. Values are of the form `projects/{project}/instances/{instance}`."
}
},
"description": "Request message for BigtableInstanceAdmin.GetInstance."
}Get information about the specified logical view. The request requires the `name` field to be set in the format 'projects/{project}/instances/{instance}/logicalViews/{logical_view}'. Example: { "name": "projects/my-project/instances/my-instance/logicalViews/my-logical-view" }
| Argument | Type | Description |
|---|---|---|
| name* | string | Required. The unique name of the requested logical view. Values are of the form `projects/{project}/instances/{instance}/logicalViews/{logical_view}`. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. The unique name of the requested logical view. Values are of the form `projects/{project}/instances/{instance}/logicalViews/{logical_view}`."
}
},
"description": "Request message for BigtableInstanceAdmin.GetLogicalView."
}Get metadata information about the specified table. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}/tables/{table}'. Example: { "name": "projects/my-project/instances/my-instance/tables/my-table" }
| Argument | Type | Description |
|---|---|---|
| name* | string | Required. The unique name of the requested table. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`. |
| view | string | The view to be applied to the returned table's fields. Defaults to `SCHEMA_VIEW` if unspecified. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. The unique name of the requested table. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`."
},
"view": {
"enum": [
"VIEW_UNSPECIFIED",
"NAME_ONLY",
"SCHEMA_VIEW",
"REPLICATION_VIEW",
"ENCRYPTION_VIEW",
"STATS_VIEW",
"FULL"
],
"type": "string",
"description": "The view to be applied to the returned table's fields. Defaults to `SCHEMA_VIEW` if unspecified.",
"x-google-enum-descriptions": [
"Uses the default view for each method as documented in its request.",
"Only populates `name`.",
"Only populates `name` and fields related to the table's schema.",
"Only populates `name` and fields related to the table's replication state.",
"Only populates `name` and fields related to the table's encryption state.",
"Only populates `name` and fields related to the table's stats (e.g. TableStats and ColumnFamilyStats).",
"Populates all fields except for stats. See STATS_VIEW to request stats."
]
}
},
"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.GetTable"
}Lists hot tablets in a Cloud Bigtable cluster. Start time defaults to Now if it is unset, and end time defaults to Now - 24 hours if it is unset. The start time should be less than the end time, and the maximum allowed time range between start time and end time is 48 hours. Start time and end time should have values between Now and Now - 14 days.
| Argument | Type | Description |
|---|---|---|
| endTime | string | Optional. The end time to list hot tablets. End time defaults to Now - 24 hours if it is unset. The end time should be greater than the start time, and the maximum allowed time range between start time and end time is 48 hours. Start time and end time should have values between Now and Now - 14 days. |
| pageSize | integer | Optional. Maximum number of results per page. |
| clusterId* | string | Required. The cluster ID within the instance (e.g., "my-cluster"). |
| pageToken | string | Optional. The value of `next_page_token` returned by a previous call. |
| projectId* | string | Required. The project ID (e.g., "my-project"). |
| startTime | string | Optional. The start time to list hot tablets. The hot tablets in the response will have start times between the requested start time and end time. Start time defaults to Now if it is unset. The start time should be less than the end time, and the maximum allowed time range between start time and end time is 48 hours. Start time and end time should have values between Now and Now - 14 days. |
List information about instances in a project. The request requires the 'parent' field to be set in the format 'projects/{project}'. Example: { "parent": "projects/my-project" }
| Argument | Type | Description |
|---|---|---|
| parent* | string | Required. The unique name of the project for which a list of instances is requested. Values are of the form `projects/{project}`. |
| pageToken | string | DEPRECATED: This field is unused and ignored. |
{
"type": "object",
"required": [
"parent"
],
"properties": {
"parent": {
"type": "string",
"description": "Required. The unique name of the project for which a list of instances is requested. Values are of the form `projects/{project}`."
},
"pageToken": {
"type": "string",
"deprecated": true,
"description": "DEPRECATED: This field is unused and ignored."
}
},
"description": "Request message for BigtableInstanceAdmin.ListInstances."
}List information about all logical views within a specified instance. The request requires the `parent` field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "parent": "projects/my-project/instances/my-instance" }
| Argument | Type | Description |
|---|---|---|
| parent* | string | Required. The unique name of the instance for which the list of logical views is requested. Values are of the form `projects/{project}/instances/{instance}`. |
| pageSize | integer | Optional. The maximum number of logical views to return. The service may return fewer than this value |
| pageToken | string | Optional. A page token, received from a previous `ListLogicalViews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLogicalViews` must match the call that provided the page token. |
{
"type": "object",
"required": [
"parent"
],
"properties": {
"parent": {
"type": "string",
"description": "Required. The unique name of the instance for which the list of logical views is requested. Values are of the form `projects/{project}/instances/{instance}`."
},
"pageSize": {
"type": "integer",
"format": "int32",
"description": "Optional. The maximum number of logical views to return. The service may return fewer than this value"
},
"pageToken": {
"type": "string",
"description": "Optional. A page token, received from a previous `ListLogicalViews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLogicalViews` must match the call that provided the page token."
}
},
"description": "Request message for BigtableInstanceAdmin.ListLogicalViews."
}List all tables in a specified instance. The request requires the 'parent' field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "parent": "projects/my-project/instances/my-instance" }
| Argument | Type | Description |
|---|---|---|
| view | string | The view to be applied to the returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and ENCRYPTION_VIEW are supported. |
| parent* | string | Required. The unique name of the instance for which tables should be listed. Values are of the form `projects/{project}/instances/{instance}`. |
| pageSize | integer | Maximum number of results per page. A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error. Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request. |
| pageToken | string | The value of `next_page_token` returned by a previous call. |
{
"type": "object",
"required": [
"parent"
],
"properties": {
"view": {
"enum": [
"VIEW_UNSPECIFIED",
"NAME_ONLY",
"SCHEMA_VIEW",
"REPLICATION_VIEW",
"ENCRYPTION_VIEW",
"STATS_VIEW",
"FULL"
],
"type": "string",
"description": "The view to be applied to the returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and ENCRYPTION_VIEW are supported.",
"x-google-enum-descriptions": [
"Uses the default view for each method as documented in its request.",
"Only populates `name`.",
"Only populates `name` and fields related to the table's schema.",
"Only populates `name` and fields related to the table's replication state.",
"Only populates `name` and fields related to the table's encryption state.",
"Only populates `name` and fields related to the table's stats (e.g. TableStats and ColumnFamilyStats).",
"Populates all fields except for stats. See STATS_VIEW to request stats."
]
},
"parent": {
"type": "string",
"description": "Required. The unique name of the instance for which tables should be listed. Values are of the form `projects/{project}/instances/{instance}`."
},
"pageSize": {
"type": "integer",
"format": "int32",
"description": "Maximum number of results per page. A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error. Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request."
},
"pageToken": {
"type": "string",
"description": "The value of `next_page_token` returned by a previous call."
}
},
"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables"
}Updates a Bigtable logical view within a specified instance. You can update the GoogleSQL query and/or the deletion protection setting. At least one field to update (e.g., `query` or `deletion_protection`) must be provided in logical_view field. Update query example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "query": "SELECT CF FROM my-table" } } Update deletion protection example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "deletion_protection": true } } Update query and deletion protection example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "query": "SELECT CF FROM my-table", "deletion_protection": true } }
| Argument | Type | Description |
|---|---|---|
| projectId* | string | Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID. |
| instanceId* | string | Required. The instance ID within the project where the logical view will be created (e.g., "my-instance"). |
| logicalView* | any | Required. The logical view to update. |
| logicalViewId* | string | Required. The ID used for the logical view within its instance, e.g., `mylogicalview`. |
| instanceId* | string | Required. The instance ID within the project (e.g., "my-instance"). |
{
"type": "object",
"required": [
"projectId",
"instanceId",
"clusterId"
],
"properties": {
"endTime": {
"type": "string",
"format": "date-time",
"description": "Optional. The end time to list hot tablets. End time defaults to Now - 24 hours if it is unset. The end time should be greater than the start time, and the maximum allowed time range between start time and end time is 48 hours. Start time and end time should have values between Now and Now - 14 days."
},
"pageSize": {
"type": "integer",
"format": "int32",
"description": "Optional. Maximum number of results per page."
},
"clusterId": {
"type": "string",
"description": "Required. The cluster ID within the instance (e.g., \"my-cluster\")."
},
"pageToken": {
"type": "string",
"description": "Optional. The value of `next_page_token` returned by a previous call."
},
"projectId": {
"type": "string",
"description": "Required. The project ID (e.g., \"my-project\")."
},
"startTime": {
"type": "string",
"format": "date-time",
"description": "Optional. The start time to list hot tablets. The hot tablets in the response will have start times between the requested start time and end time. Start time defaults to Now if it is unset. The start time should be less than the end time, and the maximum allowed time range between start time and end time is 48 hours. Start time and end time should have values between Now and Now - 14 days."
},
"instanceId": {
"type": "string",
"description": "Required. The instance ID within the project (e.g., \"my-instance\")."
}
},
"description": "Request message for Bigtable.ListHotTablets"
}{
"type": "object",
"$defs": {
"LogicalView": {
"type": "object",
"required": [
"query"
],
"properties": {
"name": {
"type": "string",
"description": "Identifier. The name of the logical view.",
"x-google-identifier": true
},
"query": {
"type": "string",
"description": "Required. The logical view's select query."
},
"deletionProtection": {
"type": "boolean",
"description": "Optional. Set to true to make the LogicalView protected against deletion."
}
},
"description": "A simplified mcp version of the SQL logical view object."
}
},
"required": [
"projectId",
"instanceId",
"logicalViewId",
"logicalView"
],
"properties": {
"projectId": {
"type": "string",
"description": "Required. The project ID (e.g., \"my-project\"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID."
},
"instanceId": {
"type": "string",
"description": "Required. The instance ID within the project where the logical view will be created (e.g., \"my-instance\")."
},
"logicalView": {
"$ref": "#/$defs/LogicalView",
"description": "Required. The logical view to update."
},
"logicalViewId": {
"type": "string",
"description": "Required. The ID used for the logical view within its instance, e.g., `mylogicalview`."
}
},
"description": "Request message for Bigtable.UpdateLogicalView"
}