# com.googleapis.bigtableadmin/mcp (remote · bigtableadmin.googleapis.com)

Interact with your Google Bigtable resources using natural language commands.

- Trust score: 60/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `bigtableadmin.googleapis.com`: 60/100 (this document), [markdown](https://verifymcp.io/servers/com-googleapis-bigtableadmin-mcp/bigtableadmin.md), [page](https://verifymcp.io/servers/com-googleapis-bigtableadmin-mcp/bigtableadmin)

## Channel facts

- Endpoint: `https://bigtableadmin.googleapis.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_instance).
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2723 tokens (~194/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-googleapis-bigtableadmin-mcp https://bigtableadmin.googleapis.com/mcp
```

### Codex

```toml
[mcp_servers.com-googleapis-bigtableadmin-mcp]
url = "https://bigtableadmin.googleapis.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-googleapis-bigtableadmin-mcp": {
      "type": "remote",
      "url": "https://bigtableadmin.googleapis.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-googleapis-bigtableadmin-mcp --url https://bigtableadmin.googleapis.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-googleapis-bigtableadmin-mcp:
    url: "https://bigtableadmin.googleapis.com/mcp"
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 59, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 60, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 58, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 58)

First indexed and scored.

## MCP tools (14)

### `create_instance` (~277 tokens)

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" } ] }

Input parameters:

- `clusters` (array, required): Required. Clusters to be created within the instance. At least one cluster must be specified.
- `displayName` (string, required): Required. The descriptive name for this instance as it appears in UIs.
- `instanceId` (string, required): 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`.
- `projectId` (string, required): 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…

Output parameters:

- `done` (boolean): 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.
- `error`: The error result of the operation in case of failure or cancellation.
- `metadata` (object): 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…
- `name` (string): 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/{u…
- `response` (object): 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…

### `get_instance` (~85 tokens)

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" }

Input parameters:

- `name` (string, required): Required. The unique name of the requested instance. Values are of the form `projects/{project}/instances/{instance}`.

Output parameters:

- `createTime` (string): Output only. A commit timestamp representing when this Instance was created. For instances created before this field was added (August 2021), this value is `seconds: 0, nanos: 1`.
- `displayName` (string): Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion.
- `edition` (string): Optional. The edition of the instance. See Edition for details.
- `knowledgeCatalogRegion` (string): Output only. The region where Knowledge Catalog data is synced to and stored, including user-created aspects.
- `labels` (object): Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resourc…
- `name` (string): The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`.
- `satisfiesPzi` (boolean): Output only. Reserved for future use.
- `satisfiesPzs` (boolean): Output only. Reserved for future use.
- `state` (string): Output only. The current state of the instance.
- `tags` (object): Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: - "123/environment": "production", - "123/costCenter": "marketing" Tags and Labels (above) are both used…
- `type` (string): The type of the instance. Defaults to `PRODUCTION`.

### `list_instances` (~99 tokens)

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" }

Input parameters:

- `pageToken` (string): DEPRECATED: This field is unused and ignored.
- `parent` (string, required): Required. The unique name of the project for which a list of instances is requested. Values are of the form `projects/{project}`.

Output parameters:

- `failedLocations` (array): Locations from which Instance information could not be retrieved, due to an outage or some other transient condition. Instances whose Clusters are all in one of the failed locations may be missing fr…
- `instances` (array): The list of requested instances.
- `nextPageToken` (string): DEPRECATED: This field is unused and ignored.

### `delete_instance` (~116 tokens)

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.

Input parameters:

- `name` (string, required): Required. The unique name of the instance to be deleted. Values are of the form `projects/{project}/instances/{instance}`.

### `create_table` (~202 tokens)

Create a new table in the specified instance.

Input parameters:

- `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 versio…
- `instanceId` (string, required): Required. The instance ID within the project where the table will be created (e.g., "my-instance").
- `projectId` (string, required): 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…
- `tableId` (string, required): Required. The ID to be used when referring to the new table within its instance, e.g., just `mytable`.

Output parameters:

- `automatedBackupPolicy`: If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.
- `changeStreamConfig`: If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.
- `clusterStates` (object): Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then th…
- `columnFamilies` (object): The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`
- `deletionProtection` (boolean): Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance con…
- `granularity` (string): Immutable. The granularity at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`.…
- `name` (string): The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`
- `restoreInfo`: Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.
- `rowKeySchema`: The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw…
- `stats`: Output only. Only available with STATS_VIEW, this includes summary statistics about the entire table contents. For statistics about a specific column family, see ColumnFamilyStats in the mapped Colum…
- `tieredStorageConfig`: Rules to specify what data is stored in each storage tier. Different tiers store data differently, providing different trade-offs between cost and performance. Different parts of a table can be store…

### `get_table` (~127 tokens)

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" }

Input parameters:

- `name` (string, required): 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.

Output parameters:

- `automatedBackupPolicy`: If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.
- `changeStreamConfig`: If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.
- `clusterStates` (object): Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then th…
- `columnFamilies` (object): The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`
- `deletionProtection` (boolean): Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance con…
- `granularity` (string): Immutable. The granularity at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`.…
- `name` (string): The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`
- `restoreInfo`: Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.
- `rowKeySchema`: The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw…
- `stats`: Output only. Only available with STATS_VIEW, this includes summary statistics about the entire table contents. For statistics about a specific column family, see ColumnFamilyStats in the mapped Colum…
- `tieredStorageConfig`: Rules to specify what data is stored in each storage tier. Different tiers store data differently, providing different trade-offs between cost and performance. Different parts of a table can be store…

### `list_tables` (~243 tokens)

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" }

Input parameters:

- `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 pa…
- `pageToken` (string): The value of `next_page_token` returned by a previous call.
- `parent` (string, required): Required. The unique name of the instance for which tables should be listed. Values are of the form `projects/{project}/instances/{instance}`.
- `view` (string): The view to be applied to the returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and ENCRYPTION_VIEW are supported.

Output parameters:

- `nextPageToken` (string): Set if not all tables could be returned in a single response. Pass this value to `page_token` in another request to get the next page of results.
- `tables` (array): The tables present in the requested instance.

### `delete_table` (~140 tokens)

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.

Input parameters:

- `name` (string, required): Required. The unique name of the table to be deleted. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.

### `create_logical_view` (~236 tokens)

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" } }

Input parameters:

- `instanceId` (string, required): Required. The instance ID within the project where the logical view will be created (e.g., "my-instance").
- `logicalView` (required): Required. The logical view to create.
- `logicalViewId` (string, required): Required. The ID used for the logical view within its instance, e.g., `mylogicalview`.
- `projectId` (string, required): 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…

Output parameters:

- `done` (boolean): 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.
- `error`: The error result of the operation in case of failure or cancellation.
- `metadata` (object): 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…
- `name` (string): 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/{u…
- `response` (object): 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…

### `get_logical_view` (~109 tokens)

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" }

Input parameters:

- `name` (string, required): Required. The unique name of the requested logical view. Values are of the form `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.

Output parameters:

- `deletionProtection` (boolean): Optional. Set to true to make the LogicalView protected against deletion.
- `name` (string): Identifier. The name of the logical view.
- `query` (string): Required. The logical view's select query.

### `list_logical_views` (~183 tokens)

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" }

Input parameters:

- `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…
- `parent` (string, required): 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}`.

Output parameters:

- `logicalViews` (array): The logical views in the instance.
- `nextPageToken` (string): A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.

### `update_logical_view` (~352 tokens)

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 } }

Input parameters:

- `instanceId` (string, required): Required. The instance ID within the project where the logical view will be created (e.g., "my-instance").
- `logicalView` (required): Required. The logical view to update.
- `logicalViewId` (string, required): Required. The ID used for the logical view within its instance, e.g., `mylogicalview`.
- `projectId` (string, required): 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…

Output parameters:

- `done` (boolean): 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.
- `error`: The error result of the operation in case of failure or cancellation.
- `metadata` (object): 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…
- `name` (string): 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/{u…
- `response` (object): 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…

### `delete_logical_view` (~191 tokens)

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.

Input parameters:

- `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): Required. The unique name of the logical view to be deleted. Format: `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.

### `list_hot_tablets` (~363 tokens)

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.

Input parameters:

- `clusterId` (string, required): Required. The cluster ID within the instance (e.g., "my-cluster").
- `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 ti…
- `instanceId` (string, required): Required. The instance ID within the project (e.g., "my-instance").
- `pageSize` (integer): Optional. Maximum number of results per page.
- `pageToken` (string): Optional. The value of `next_page_token` returned by a previous call.
- `projectId` (string, required): 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…

Output parameters:

- `hotTablets` (array): List of hot tablets in the tables of the requested cluster that fall within the requested time range. Hot tablets are ordered by node cpu usage percent. If there are multiple hot tablets that corresp…
- `nextPageToken` (string): Set if not all hot tablets could be returned in a single response. Pass this value to `page_token` in another request to get the next page of results.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-googleapis-bigtableadmin-mcp/bigtableadmin#diagnostics

## Score history

- 2026-08-03: 60
- 2026-08-02: 60
- 2026-08-01: 59
- 2026-07-31: 59
- 2026-07-30: 60
- 2026-07-29: 60
- 2026-07-28: 59
- 2026-07-27: 58
- 2026-07-26: 58

## Links

- Remote endpoint: https://bigtableadmin.googleapis.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-googleapis-bigtableadmin-mcp/bigtableadmin/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-googleapis-bigtableadmin-mcp/bigtableadmin/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-googleapis-bigtableadmin-mcp/bigtableadmin
