MCP Reference: bigtableadmin.googleapis.com

MCP server for Bigtable Admin API

A Model Context Protocol (MCP) server acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.

Server Setup

You must enable MCP servers and set up authentication before use. For more information about using Google and Google Cloud remote MCP servers, see Google Cloud MCP servers overview.

Server Endpoints

An MCP service endpoint is the network address and communication interface (usually a URL) of the MCP server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.

The Cloud Bigtable Admin API MCP server has the following global MCP endpoint:

  • https://bigtableadmin.googleapis.com/mcp

MCP Tools

An MCP tool is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.

Tools

The bigtableadmin.googleapis.com MCP server has the following tools:

MCP Tools
create_instance 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" } ] }
get_instance 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" }
list_instances 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" }
delete_instance 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.
create_table Create a new table in the specified instance.
get_table 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" }
list_tables 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" }
delete_table 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.
create_logical_view 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" } }
get_logical_view 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" }
list_logical_views 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" }
update_logical_view 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 } }
delete_logical_view 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.
list_hot_tablets 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.

Get MCP tool specifications

To get the MCP tool specifications for all tools in an MCP server, use the tools/list method. The following example demonstrates how to use curl to list all tools and their specifications currently available within the MCP server.

Curl Request
                      
curl --location 'https://bigtableadmin.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'