Files
genai-toolbox/docs/SPANNER_README.md
gRedHeadphone 0e7fbf465c feat: add spanner list graphs to prebuiltconfigs (#2056)
## Description

Adds spanner list graphs to prebuildconfigs

## PR Checklist


- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #2051

---------

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-12-01 22:33:41 +00:00

4.9 KiB

Cloud Spanner MCP Server

The Cloud Spanner Model Context Protocol (MCP) Server gives AI-powered development tools the ability to work with your Google Cloud Spanner databases. It supports executing SQL queries and exploring schemas.

Features

An editor configured to use the Cloud Spanner MCP server can use its AI capabilities to help you:

  • Query Data - Execute DML and DQL SQL queries
  • Explore Schema - List tables and view schema details

Prerequisites

  • Download and install MCP Toolbox:

    1. Download the Toolbox binary: Download the latest binary for your operating system and architecture from the storage bucket. Check the releases page for additional versions:

      • To install Toolbox as a binary on Linux (AMD64):

        curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v0.21.0/linux/amd64/toolbox
        
      • To install Toolbox as a binary on macOS (Apple Silicon):

        curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v0.21.0/darwin/arm64/toolbox
        
      • To install Toolbox as a binary on macOS (Intel):

        curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v0.21.0/darwin/amd64/toolbox
        
      • To install Toolbox as a binary on Windows (AMD64):

        curl -o toolbox.exe "https://storage.googleapis.com/genai-toolbox/v0.21.0/windows/amd64/toolbox.exe"
        
    2. Make it executable:

      chmod +x toolbox
      
    3. Add the binary to $PATH in .~/bash_profile (Note: You may need to restart Antigravity for changes to take effect.):

      export PATH=$PATH:path/to/folder
      

      On Windows, move binary to the WindowsApps\ folder:

      move "C:\Users\<path-to-binary>\toolbox.exe" "C:\Users\<username>\AppData\Local\Microsoft\WindowsApps\"
      

      Tip: Ensure the destination folder for your binary is included in your system's PATH environment variable. To check PATH, use echo $PATH (or echo %PATH% on Windows).

  • A Google Cloud project with the Cloud Spanner API enabled.

  • Ensure Application Default Credentials are available in your environment.

  • IAM Permissions:

    • Cloud Spanner Database User (roles/spanner.databaseUser) (for data access)
    • Cloud Spanner Viewer (roles/spanner.viewer) (for schema access)

Install & Configuration

  1. In the Antigravity MCP Store, click the "Install" button.

  2. Add the required inputs for your instance in the configuration pop-up, then click "Save". You can update this configuration at any time in the "Configure" tab.

You'll now be able to see all enabled tools in the "Tools" tab.

Usage

Once configured, the MCP server will automatically provide Cloud Spanner capabilities to your AI assistant. You can:

  • "Execute a DML query to update customer names."
  • "List all tables in the my-database."
  • "Execute a DQL query to select data from orders table."

Server Capabilities

The Cloud Spanner MCP server provides the following tools:

Tool Name Description
execute_sql Use this tool to execute DML SQL.
execute_sql_dql Use this tool to execute DQL SQL.
list_tables Lists detailed schema information for user-created tables.
list_graphs Lists detailed graph schema information for user-created graphs.

Custom MCP Server Configuration

The MCP server is configured using environment variables.

export SPANNER_PROJECT="<your-gcp-project-id>"
export SPANNER_INSTANCE="<your-spanner-instance-id>"
export SPANNER_DATABASE="<your-spanner-database-id>"
export SPANNER_DIALECT="googlesql" # Optional: "googlesql" or "postgresql". Defaults to "googlesql".

Add the following configuration to your MCP client (e.g., settings.json for Gemini CLI, mcp_config.json for Antigravity):

{
  "mcpServers": {
    "spanner": {
      "command": "toolbox",
      "args": ["--prebuilt", "spanner", "--stdio"],
      "env": {
        "SPANNER_PROJECT": "your-project-id",
        "SPANNER_INSTANCE": "your-instance-id",
        "SPANNER_DATABASE": "your-database-name",
        "SPANNER_DIALECT": "googlesql"
      }
    }
  }
}

Documentation

For more information, visit the Cloud Spanner documentation.