Skip to content

gemini-cli-extensions/cloud-sql-sqlserver

Cloud SQL for SQL Server Agent Skills

Note

This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).

This repository provides a set of agent skills to interact with Cloud SQL for SQL Server instances. These skills can be used with various AI agents, including Gemini CLI, Claude Code, and Codex, to manage your databases, execute queries, explore schemas, and troubleshoot issues using natural language prompts.

Important

We Want Your Feedback! Please share your thoughts with us by filling out our feedback form. Your input is invaluable and helps us improve the project for everyone.

Table of Contents

Why Use Cloud SQL for SQL Server Agent Skills?

  • Seamless Workflow: Integrates seamlessly into your AI agent's environment. No need to constantly switch contexts for common database tasks.
  • Natural Language Queries: Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English.
  • Full Lifecycle Control: Manage the entire lifecycle of your database, from creating instances to exploring schemas and running queries.
  • Code Generation: Accelerate development by asking your agent to generate data classes and other code snippets based on your table schemas.

Prerequisites

Before you begin, ensure you have the following:

  • One of these AI agents installed
  • A Google Cloud project with the Cloud SQL Admin API enabled.
  • Ensure Application Default Credentials are available in your environment.
  • IAM Permissions:
    • Cloud SQL Client (roles/cloudsql.client)
    • Cloud SQL Viewer (roles/cloudsql.viewer)
    • Cloud SQL Admin (roles/cloudsql.admin)

Getting Started

Configuration

Please keep these env vars handy during the installation process:

  • CLOUD_SQL_MSSQL_PROJECT: The GCP project ID.
  • CLOUD_SQL_MSSQL_REGION: The region of your Cloud SQL instance.
  • CLOUD_SQL_MSSQL_INSTANCE: The ID of your Cloud SQL instance.
  • CLOUD_SQL_MSSQL_DATABASE: The name of the database to connect to.
  • CLOUD_SQL_MSSQL_USER: The database username.
  • CLOUD_SQL_MSSQL_PASSWORD: The password for the database user.
  • CLOUD_SQL_MSSQL_IP_TYPE: (Optional) Type of the IP address: PUBLIC, PRIVATE, or PSC. Defaults to PUBLIC.

Note

  • Ensure Application Default Credentials are available in your environment.
  • If your Cloud SQL for SQL Server instance uses private IPs, you must run your agent in the same Virtual Private Cloud (VPC) network.
  • This configuration is primarily for the Data Plane skills (querying). The Admin toolset does not strictly require these to be pre-set if you provide them in your prompts, but it is recommended for a smoother experience.

Installation & Usage

To start interacting with your database, install the skills for your preferred AI agent, then launch the agent and use natural language to ask questions or perform tasks.

For the latest version, check the releases page.

Gemini CLI

1. Install the extension:

gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-sqlserver

During the installation, enter your environment vars as described in the configuration section.

2. (Optional) Manage Configuration: To view or update your configuration in Gemini CLI:

  • Terminal: gemini extensions config cloud-sql-sqlserver [setting name] [--scope <scope>]
  • Gemini CLI: /extensions list

3. Start the agent:

gemini

(Tip: Run /extensions list to verify your configuration and active extensions.)

[!WARNING] Changing Instance & Database Connections Currently, the database connection must be configured before starting the agent and can not be changed during a session. To save and resume conversation history in Gemini CLI use command: /chat save <tag> and /chat resume <tag>.

Claude Code

1. Set env vars: In your terminal, set your environment vars as described in the configuration section.

2. Start the agent:

claude

3. Add the marketplace:

/plugin marketplace add https://github.com/gemini-cli-extensions/cloud-sql-sqlserver.git#0.1.8

4. Install the plugin:

/plugin install cloud-sql-sqlserver@cloud-sql-sqlserver-marketplace

(Tip: Run /plugin list inside Claude Code to verify the plugin is active, or /reload-plugins if you just installed it.)

Codex

1. Clone the Repo:

git clone --branch 0.1.8 git@github.com:gemini-cli-extensions/cloud-sql-sqlserver.git

2. Install the plugin:

mkdir -p ~/.codex/plugins
cp -R /absolute/path/to/cloud-sql-sqlserver ~/.codex/plugins/cloud-sql-sqlserver

3. Set env vars: Enter your environment vars as described in the configuration section.

4. Create or update marketplace.json: ~/.agents/plugins/marketplace.json

{
  "name": "my-data-cloud-google-marketplace",
  "interface": {
    "displayName": "Google Data Cloud Skills"
  },
  "plugins": [
    {
      "name": "cloud-sql-sqlserver",
      "source": {
        "source": "local",
        "path": "./plugins/cloud-sql-sqlserver"
      },
      "policy": {
        "installation": "AVAILABLE",
        "authentication": "ON_INSTALL"
      },
      "category": "Database"
    }
  ]
}

(Tip: Run codex plugin list or use the /plugins interactive menu to verify your installed plugins.)

Antigravity

1. Clone the Repo:

git clone --branch 0.1.8 https://github.com/gemini-cli-extensions/cloud-sql-sqlserver.git

2. Install the skills:

Choose a location for the skills:

  • Global (all workspaces): ~/.gemini/antigravity/skills/
  • Workspace-specific: <workspace-root>/.agents/skills/

Copy the skill folders from the cloned repository's skills/ directory to your chosen location:

cp -R cloud-sql-sqlserver/skills/* ~/.gemini/antigravity/skills/

3. Set env vars: Set your environment vars as described in the configuration section.

(Tip: Antigravity automatically discovers skills in these directories at the start of a session.)

Usage Examples

Interact with Cloud SQL for SQL Server using natural language:

  • Provision Infrastructure:
    • "Create a new Cloud SQL for SQL Server instance named 'e-commerce-prod' in the 'my-gcp-project' project."
    • "Create a new user named 'analyst' with read access to all tables."
  • Explore Schemas and Data:
    • "Show me all tables in the 'orders' database."
    • "What are the columns in the 'products' table?"
    • "How many orders were placed in the last 30 days, and what were the top 5 most purchased items?"
  • Generate Code:
    • "Generate a Python dataclass to represent the 'customers' table."

Supported Skills

The following skills are available in this repository:

  • Cloud SQL for SQL Server Admin - Use these skills when you need to provision new Cloud SQL for SQL Server instances, create databases and users, clone existing environments, and monitor the progress of long-running operations.
  • Cloud SQL for SQL Server Data - Use these skills when you need to explore the database schema, execute SQL queries to interact with your data, and monitor system-level performance metrics using PromQL queries.
  • Cloud SQL for SQL Server Lifecycle - Use these skills when you need to manage the lifecycle and durability of your data, including creating backups, restoring from existing backups, and cloning instances for testing or migration.
  • Cloud SQL for SQL Server Monitor - Use these skills when you need to troubleshoot slow queries and analyze system-level PromQL metrics.

Additional Agent Skills

Find additional skills to support your entire software development lifecycle at github.com/gemini-cli-extensions, including:

Troubleshooting

Use the debug mode of your agent (e.g., gemini --debug) to enable debugging.

Common issues:

  • "failed to find default credentials: google: could not find default credentials.": Ensure Application Default Credentials are available in your environment. See Set up Application Default Credentials for more information.
  • "✖ Error during discovery for server: MCP error -32000: Connection closed": The database connection has not been established. Ensure your configuration is set via environment variables.
  • "✖ MCP ERROR: Error: spawn .../toolbox ENOENT": The Toolbox binary did not download correctly. Ensure you are using the latest version of your agent.
  • "cannot execute binary file": The Toolbox binary did not download correctly. Ensure the correct binary for your OS/Architecture has been downloaded. See Installing the server for more information.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors