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.
Spanner MCP Server provides tools to interact with Spanner
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 spanner.googleapis.com MCP server has the following MCP endpoint:
- https://spanner.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.
The spanner.googleapis.com MCP server has the following tools:
| MCP Tools | |
|---|---|
| get_instance | Get information about a Spanner instance |
| list_instances |
List Spanner instances in a given project.
|
| list_configs |
List instance configs in a given project.
|
| get_config | Get information about a specific Spanner instance configuration. |
| create_instance | Create a Spanner instance in a given project. |
| update_instance |
Update a Spanner instance.
|
| create_database | Create a Spanner database in a given instance. |
| get_database_ddl | Get database schema for a given database. |
| list_databases | List Spanner databases in a given spanner instance. * Response may include next_page_token to fetch additional databases using list_databases tool with page_token set. |
| create_session |
Create a session in a given database for query executions using execute_sql tool.
|
| execute_sql |
Execute SQL statement using a given session.
|
| execute_sql_readonly |
Execute SQL query statement using a given session in a read-only transaction.
|
| commit |
Commit a transaction in a given session.
|
| update_database_schema | Update schema for a given database. |
| get_operation |
Get status of a long-running operation.
|
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://spanner.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |