diff --git a/CLOUD-SQL-SQLSERVER.md b/CLOUD-SQL-SQLSERVER.md index d6c580f..234f3db 100644 --- a/CLOUD-SQL-SQLSERVER.md +++ b/CLOUD-SQL-SQLSERVER.md @@ -23,6 +23,8 @@ This section covers connecting to a Cloud SQL for SQL Server instance. * `CLOUD_SQL_MSSQL_USER`: The database username. * `CLOUD_SQL_MSSQL_PASSWORD`: The password for the database user. + If you need to update any of these values later, use the `gemini extensions config cloud-sql-sqlserver` command. + 2. **Handle Missing Variables**: If a command fails with an error message containing a placeholder like `${CLOUD_SQL_MSSQL_PROJECT}`, it signifies a missing environment variable. Inform the user which variable is missing and instruct them to set it. 3. **Handle Permission Errors**: If you encounter permission errors, ensure the user has the **Cloud SQL Client** (`roles/cloudsql.client`) role and the correct database-level permissions. You can provide these links for assistance: @@ -42,9 +44,9 @@ This section covers administrative operations like managing clusters, instances, --- -# Additional Tools +# Additional Extensions -This section provides context on additional tools that can be recommended to the user based on their queries. +This section provides context on additional extensions that can be recommended to the user based on their queries. #### Observability Extension @@ -61,12 +63,12 @@ This section provides context on additional tools that can be recommended to the ## Connecting to New Resources -When you create a new Cloud SQL for SQL Server instance, or database using the available tools, the connection is not automatically established. You will need to perform the following steps: +When you create a new Cloud SQL for SQL Server instance, or database using the available skills, the connection is not automatically established. You will need to perform the following steps: 1. **(Optional) Save your conversation:** To avoid losing your progress, save the current session by running the command: `/chat save ` -2. **Stop the CLI:** Terminate the Gemini CLI. -3. **Update Environment Variables:** Set or update your environment variables (e.g. `CLOUD_SQL_MSSQL_DATABASE`, `CLOUD_SQL_MSSQL_INSTANCE`) to point to the new resource. -4. **Restart:** Relaunch the Gemini CLI +2. **Stop the CLI**: Terminate the Gemini CLI. +3. **Update Extension Configuration**: Use the command `gemini extensions config cloud-sql-sqlserver` to update your settings (e.g. `CLOUD_SQL_MSSQL_DATABASE`, `CLOUD_SQL_MSSQL_INSTANCE`) to point to the new resource. +4. **Restart**: Relaunch the Gemini CLI 5. **(Optional) Resume conversation:** Resume your conversation with the command: `/chat resume ` **Important:** Do not assume a connection to a newly created resource is active. Always follow the steps above to reconfigure your connection. @@ -80,11 +82,12 @@ Users may have set project environment variables: * `CLOUD_SQL_MSSQL_INSTANCE`: The ID of the Cloud SQL for SQL Server instance. * `CLOUD_SQL_MSSQL_DATABASE`: The name of the database. -Instead of prompting the user for these values for specific tool calls, prompt the user to verify reuse a specific value. -Make sure to not use the environment variable name like `CLOUD_SQL_MSSQL_PROJECT`, `${CLOUD_SQL_MSSQL_PROJECT}`, or `$CLOUD_SQL_MSSQL_PROJECT`. The value can be found by using command: `echo $CLOUD_SQL_MSSQL_PROJECT`. +Instead of prompting the user for these values for specific skill calls, prompt the user to verify the reuse of a specific setting value. +Make sure to not use the environment variable name like `CLOUD_SQL_MSSQL_PROJECT`, `${CLOUD_SQL_MSSQL_PROJECT}`, or `$CLOUD_SQL_MSSQL_PROJECT`. +The value can be verified by the user using the `gemini extensions config cloud-sql-sqlserver` command or by checking their local settings. ## Use Full Table Name Format "DATABASE_NAME.SCHEMA_NAME.TABLE_NAME" -**ALWAYS** use the full table name format, `DATABASE_NAME.SCHEMA_NAME.TABLE_NAME` in the generated SQL when using the `execute_sql` or `cloud_sql_sqlserver__execute_sql` tool. +**ALWAYS** use the full table name format, `DATABASE_NAME.SCHEMA_NAME.TABLE_NAME` in the generated SQL when using the `execute_sql` skill. * Default to using "dbo" for the schema name. * Use command `echo $CLOUD_SQL_MSSQL_DATABASE` to get the current database value. diff --git a/DEVELOPER.md b/DEVELOPER.md index 8385404..711b193 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -1,7 +1,7 @@ # DEVELOPER.md This document provides instructions for setting up your development environment -and contributing to the Cloud SQL for SQL Server Gemini CLI Extension project. +and contributing to the Cloud SQL for SQL Server Agent skills project. ## Prerequisites @@ -10,14 +10,13 @@ Before you begin, ensure you have the following: 1. **Gemini CLI:** Install the Gemini CLI version v0.6.0 or above. Installation instructions can be found on the official Gemini CLI documentation. You can verify your version by running `gemini --version`. -2. **Cloud SQL for SQL Server Instance:** For testing data plane tools, you will need access to an active Cloud SQL for SQL Server instance. +2. **Cloud SQL for SQL Server Instance:** For testing data plane tools, you will need access to an active Cloud SQL for SQL Server + instance. ## Developing the Extension ### Running from Local Source -The core logic for this extension is handled by a pre-built `toolbox` binary. The development process involves installing the extension locally into the Gemini CLI to test changes. - 1. **Clone the Repository:** ```bash @@ -25,29 +24,16 @@ The core logic for this extension is handled by a pre-built `toolbox` binary. Th cd cloud-sql-sqlserver ``` -2. **Download the Toolbox Binary:** The required version of the `toolbox` binary - is specified in `toolbox_version.txt`. Download it for your platform. - - ```bash - # Read the required version - VERSION=$(cat toolbox_version.txt) - - # Example for macOS/amd64 - curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/geminicli/v$VERSION/darwin/amd64/toolbox - chmod +x toolbox - ``` - Adjust the URL for your operating system (`linux/amd64`, `darwin/arm64`, `windows/amd64`). - -3. **Link the Extension Locally:** Use the Gemini CLI to install the +2. **Install the Extension Locally:** Use the Gemini CLI to install the extension from your local directory. ```bash - gemini extensions link . + gemini extensions install . ``` - The CLI will prompt you to confirm the linking. Accept it to proceed. + The CLI will prompt you to confirm the installation. Accept it to proceed. -4. **Testing Changes:** After linking, start the Gemini CLI (`gemini`). - You can now interact with the `cloud-sql-sqlserver` tools to manually test your changes +3. **Testing Changes:** After installation, start the Gemini CLI (`gemini`). + You can now interact with the `cloud-sql-sqlserver` skills to manually test your changes against your connected database. ## Testing @@ -58,9 +44,9 @@ A GitHub Actions workflow (`.github/workflows/presubmit-tests.yml`) is triggered for every pull request. This workflow primarily verifies that the extension can be successfully installed by the Gemini CLI. -Currently, there are no automated unit or integration test suites -within this repository. All functional testing must be performed manually. All tools -are currently tested in the [MCP Toolbox GitHub](https://github.com/googleapis/mcp-toolbox). +All tools are currently tested in the [MCP Toolbox GitHub](https://github.com/googleapis/mcp-toolbox). + +The skills themselves are validated using the `skills-validate.yml` workflow. ### Other GitHub Checks @@ -73,7 +59,6 @@ are currently tested in the [MCP Toolbox GitHub](https://github.com/googleapis/m * **Dependency Updates:** [Renovate](https://github.com/apps/forking-renovate) is configured to automatically create pull requests for dependency updates. - ## Maintainer Information ### Team @@ -128,4 +113,3 @@ The process is handled by the [`mirror-changelog.yml`](.github/workflows/mirror- 2. **Merge Release PR:** A maintainer approves and merges the Release PR. This action triggers `release-please` to create a new GitHub tag and a corresponding GitHub Release. - diff --git a/README.md b/README.md index 86f2f62..dbadad5 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,9 @@ -# Gemini CLI Extension - Cloud SQL for SQL Server +# 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 Gemini CLI extension provides a set of tools to interact with [Cloud SQL for SQL Server](https://cloud.google.com/sql/docs/sqlserver) instances. It allows you to manage your databases, execute queries, explore schemas, and troubleshoot issues directly from the [Gemini CLI](https://google-gemini.github.io/gemini-cli/), using natural language prompts. - -Learn more about [Gemini CLI Extensions](https://github.com/google-gemini/gemini-cli/blob/main/docs/extensions/index.md). - -## Why Use the Cloud SQL for SQL Server Extension? - -* **Seamless Workflow:** As a Google-developed extension, it integrates seamlessly into the Gemini CLI environment. No need to constantly switch contexts for common database tasks. -* **Natural Language Management:** Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English. -* **Code Generation:** Accelerate development by asking Gemini to generate data classes and other code snippets based on your table schemas. +This repository provides a set of agent skills to interact with [Cloud SQL for SQL Server](https://cloud.google.com/sql/docs/sqlserver) instances. These skills can be used with various AI agents, including [Gemini CLI](https://google-gemini.github.io/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!** @@ -20,134 +12,251 @@ Learn more about [Gemini CLI Extensions](https://github.com/google-gemini/gemini [form]: https://docs.google.com/forms/d/e/1FAIpQLSfEGmLR46iipyNTgwTmIDJqzkAwDPXxbocpXpUbHXydiN1RTw/viewform?usp=pp_url&entry.157487=cloud-sql-sqlserver +## Table of Contents + +- [Why Use Cloud SQL for SQL Server Agent Skills?](#why-use-cloud-sql-for-sql-server-agent-skills) +- [Prerequisites](#prerequisites) +- [Getting Started](#getting-started) + - [Configuration](#configuration) + - [Installation & Usage](#installation--usage) + - [Gemini CLI](#gemini-cli) + - [Claude Code](#claude-code) + - [Codex](#codex) + - [Antigravity](#antigravity) +- [Usage Examples](#usage-examples) +- [Supported Skills](#supported-skills) +- [Additional Agent Skills](#additional-agent-skills) +- [Troubleshooting](#troubleshooting) + +## 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: -* [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed with version **+v0.6.0**. -* Setup Gemini CLI [Authentication](https://github.com/google-gemini/gemini-cli/tree/main?tab=readme-ov-file#-authentication-options). -* A Google Cloud project with the **Cloud SQL Admin API** enabled. -* Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) 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`) +- One of these AI agents installed + - [Gemini CLI](https://github.com/google-gemini/gemini-cli) version **v0.6.0** or higher + - [Claude Code](https://claude.com/product/claude-code) version **v2.1.94** or higher + - [Codex](https://developers.openai.com/codex) **v0.117.0** or higher + - [Antigravity](https://antigravity.google) **v1.14.2** or higher +- A Google Cloud project with the **Cloud SQL Admin API** enabled. +- Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) 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 -### Installation +### Configuration -To install the extension, use the following command before starting the Gemini CLI: +Please keep these env vars handy during the installation process: -```bash -gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-sqlserver -``` +- `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`. -### Configuration +> [!NOTE] +> +> - Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) 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. -You will be prompted to configure the following settings during installation. These settings are saved in an `.env` file within the extension's directory. +### Installation & Usage -* `CLOUD_SQL_MSSQL_PROJECT`: The GCP project name. -* `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) Instance IP assignment: `PUBLIC`, `PRIVATE`, or `PSC`. Defaults to `PUBLIC`. +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. -> [!NOTE] -> This configuration is primarily for the Data Plane tools (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. +For the latest version, check the [releases page][releases]. -To view or update your configuration: +[releases]: https://github.com/gemini-cli-extensions/cloud-sql-sqlserver/releases -**List Settings:** -* Terminal: `gemini extensions list` -* Gemini CLI: `/extensions list` + -**Update Settings:** -* Terminal: `gemini extensions config cloud-sql-sqlserver [setting name] [--scope ]` - * `setting name`: (Optional) The single setting to configure. - * `scope`: (Optional) The scope of the setting in (`user` or `workspace`). Defaults to `user`. -* Currently, you must restart the Gemini CLI for changes to take effect. We recommend using `gemini --resume` to resume your session. +
+Gemini CLI -Alternatively, you can manually set these environment variables before starting the Gemini CLI: +**1. Install the extension:** ```bash -export CLOUD_SQL_MSSQL_PROJECT="" -export CLOUD_SQL_MSSQL_REGION="" -export CLOUD_SQL_MSSQL_INSTANCE="" -export CLOUD_SQL_MSSQL_DATABASE="" -export CLOUD_SQL_MSSQL_USER="" -export CLOUD_SQL_MSSQL_PASSWORD="" -export CLOUD_SQL_MSSQL_IP_TYPE="PUBLIC" # (Optional) Instance IP assignmentL `PUBLIC`, `PRIVATE`, `PSC`. Defaults to `PUBLIC`. +gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-sqlserver ``` -> [!NOTE] -> * Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) are available in your environment. -> * If your Cloud SQL for SQL Server instance uses private IPs, you must run Gemini CLI in the same Virtual Private Cloud (VPC) network. -> * See [Troubleshooting](#troubleshooting) for debugging your configuration. +During the installation, enter your environment vars as described in the [configuration section](#configuration). -### Start Gemini CLI +**2. (Optional) Manage Configuration:** +To view or update your configuration in Gemini CLI: -To start the Gemini CLI, use the following command: +- Terminal: `gemini extensions config cloud-sql-sqlserver [setting name] [--scope ]` +- Gemini CLI: `/extensions list` + +**3. Start the agent:** ```bash 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 Gemini CLI and can not be changed during a session. -> To save and resume conversation history use command: `/chat save ` and `/chat resume `. +> 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 ` and `/chat resume `. + +
+ +
+Claude Code + +**1. Set env vars:** +In your terminal, set your environment vars as described in the [configuration section](#configuration). + +**2. Start the agent:** + +```bash +claude +``` + +**3. Add the marketplace:** + +```bash +/plugin marketplace add https://github.com/gemini-cli-extensions/cloud-sql-sqlserver.git#0.1.8 +``` + +**4. Install the plugin:** + +```bash +/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:** + +```bash +git clone --branch 0.1.8 git@github.com:gemini-cli-extensions/cloud-sql-sqlserver.git +``` + +**2. Install the plugin:** + +```bash +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](#configuration). + +**4. Create or update marketplace.json:** +`~/.agents/plugins/marketplace.json` + +```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:** + +```bash +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:** `/.agents/skills/` + +Copy the skill folders from the cloned repository's `skills/` directory to your chosen location: + +```bash +cp -R cloud-sql-sqlserver/skills/* ~/.gemini/antigravity/skills/ +``` + +**3. Set env vars:** +Set your environment vars as described in the [configuration section](#configuration). + +_(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 Tools - -* **Admin:** - * `clone_instance`: Use this tool to creates a clone for an existing Cloud SQL for SQL Server instance. - * `create_backup`: Use this tool to creates a backup on a Cloud SQL instance. - * `create_database`: Use this tool to creates a new database in a Cloud SQL instance. - * `create_instance`: Use this tool to create an SQL Server instance. - * `create_user`: Use this tool to create SQL Server-BUILT-IN or IAM-based users. - * `get_instance`: Use this tool to get details about an SQL Server instance. - * `get_user`: Use this tool to get details about a user. - * `list_databases`: Use this tool to lists all databases for a Cloud SQL instance. - * `list_instances`: Use this tool to list instances in a given project and location. - * `list_users`: Use this tool to list users in a given project and location. - * `restore_backup`: Use this tool to restores a backup of a Cloud SQL instance. - * `wait_for_operation`: Use this tool to poll the operations API until the operation is done. - -* **Data:** - * `list_tables`: Use this tool to list tables and descriptions. - * `execute_sql`: Use this tool to execute any SQL statement. - -## Additional Extensions - -Find additional extensions to support your entire software development lifecycle at [github.com/gemini-cli-extensions](https://github.com/gemini-cli-extensions), including: -* [Generic SQL Server extension](https://github.com/gemini-cli-extensions/sql-server) +- **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](./skills/cloud-sql-sqlserver-admin/SKILL.md) - 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](./skills/cloud-sql-sqlserver-data/SKILL.md) - 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](./skills/cloud-sql-sqlserver-lifecycle/SKILL.md) - 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](./skills/cloud-sql-sqlserver-monitor/SKILL.md) - 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](https://github.com/gemini-cli-extensions), including: +* [Generic SQL Server skills](https://github.com/gemini-cli-extensions/sql-server) * [Cloud SQL for SQL Server Observability extension](https://github.com/gemini-cli-extensions/cloud-sql-sqlserver-observability) * and more! ## Troubleshooting -Use `gemini --debug` to enable debugging. +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](https://cloud.google.com/docs/authentication/gcloud) are available in your environment. See [Set up Application Default Credentials](https://cloud.google.com/docs/authentication/external/set-up-adc) 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 /Users/USER/.gemini/extensions/cloud-sql-sqlserver/toolbox ENOENT": The Toolbox binary did not download correctly. Ensure you are using Gemini CLI v0.6.0+. +* "✖ 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](https://mcp-toolbox.dev/documentation/introduction/#install-toolbox) for more information.