Skip to content

Commit 68d5fac

Browse files
Yuan325averikitsch
andauthored
docs: add upgrading doc for v1 release (#2832)
The new markdown doc outlines changes associated with Toolbox v1.0.0 release. --------- Co-authored-by: Averi Kitsch <akitsch@google.com>
1 parent 409a354 commit 68d5fac

File tree

5 files changed

+117
-4
lines changed

5 files changed

+117
-4
lines changed

UPGRADING.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Upgrading to MCP Toolbox for Databases v1.0.0
2+
3+
Welcome to the v1.0.0 release of the MCP Toolbox for Databases!
4+
5+
This release stabilizes our core APIs and standardizes our protocol alignments.
6+
As part of this milestone, we have introduced several breaking changes and
7+
deprecations that require updates to your configuration and code.
8+
9+
**📖 New Versioning Policy**
10+
We have officially published our [Versioning Policy](https://googleapis.github.io/genai-toolbox/dev/about/versioning/). Moving forward, we follow standard versioning conventions to classify updates:
11+
* **Major (vX.0.0):** Breaking changes requiring manual updates.
12+
* **Minor (v1.X.0):** New, backward-compatible features and deprecation notices.
13+
* **Patch (v1.0.X):** Backward-compatible bug fixes and security patches.
14+
15+
This guide outlines what has changed and the steps you need to take to upgrade.
16+
17+
## 🚨 Breaking Changes (Action Required)
18+
19+
### 1. Endpoint Transition: `/api` disabled by default
20+
The legacy `/api` endpoint for the native Toolbox protocol is now disabled by default. All official SDKs have been updated to use the `/mcp` endpoint, which aligns with the standard Model Context Protocol (MCP) specification.
21+
22+
If you still require the legacy `/api` endpoint, you must explicitly activate it using a new command-line flag.
23+
24+
* **Usage:** `./toolbox --enable-api`
25+
* **Migration:** You must update all custom implementations to use the `/mcp`
26+
endpoint exclusively, as the `/api` endpoint is now deprecated. If your workflow
27+
relied on a non-standard feature that is missing from the new implementation, please submit a
28+
feature request on our [GitHub Issues page](https://github.com/googleapis/genai-toolbox/issues).
29+
* **UI Dependency:** Until the UI is officially migrated, it still requires the API to function. You must run the toolbox with both flags: `./toolbox --ui --enable-api`.
30+
31+
### 2. Strict Tool Naming Validation (SEP986)
32+
Tool names are now strictly validated against [ModelContextProtocol SEP986 guidelines](https://github.com/alexhancock/modelcontextprotocol/blob/main/docs/specification/draft/server/tools.mdx#tool-names) prior to MCP initialization.
33+
* **Migration:** Ensure all your tool names **only** contain alphanumeric characters, hyphens (`-`), underscores (`_`), and periods (`.`). Any other special characters will cause initialization to fail.
34+
35+
### 3. Removed CLI Flags
36+
The legacy snake_case flag `--tools_file` has been completely removed.
37+
* **Migration:** Update your deployment scripts to use `--config` instead.
38+
39+
### 4. Singular `kind` Values in Configuration
40+
_(This step applies only if you are currently using the new flat format.)_
41+
42+
All primitive kind fields in configuration files have been updated to use singular nouns instead of plural. For example, `kind: sources` is now `kind: source`, and `kind: tools` is now `kind: tool`.
43+
44+
* **Migration:** Update your configuration files to use the singular form for all `kind`
45+
values. _(Note: If you transitioned to the flat format using the `./toolbox migrate` command, this step was handled automatically.)_
46+
47+
48+
### 5. Configuration Schema: `authSources` renamed
49+
The `authSources` field is no longer supported in configuration files.
50+
* **Migration:** Rename all instances of `authSources` to `authService` in your
51+
configuration files.
52+
53+
### 6. CloudSQL for SQL Server: `ipAddress` removed
54+
The `ipAddress` field for the CloudSQL for SQL Server source was redundant and has been removed.
55+
* **Migration:** Remove the `ipAddress` field from your CloudSQL for SQL Server configurations.
56+
57+
58+
## ⚠️ Deprecations & Modernization
59+
60+
### 1. Flat Configuration Format Introduced
61+
We have introduced a new, streamlined "flat" format for configuration files. While the older nested format is still supported for now, **all new features will only be added to the flat format.**
62+
63+
**Schema Restructuring (`kind` vs. `type`):**
64+
Along with the flat format, the configuration schema has been reorganized. The
65+
old `kind` field (which specified the specific primitive types, like
66+
`alloydb-postgres`) has been renamed to `type`. The `kind` field is now strictly
67+
used to declare the core primitive of the block (e.g., `source` or `tool`).
68+
69+
**Example of the new flat format:**
70+
71+
```yaml
72+
kind: source
73+
name: my-source
74+
type: alloydb-postgres
75+
project: my-project
76+
region: my-region
77+
instance: my-instance
78+
---
79+
kind: tool
80+
name: my-simple-tool
81+
type: postgres-execute-sql
82+
source: my-source
83+
description: this is a tool that executes the sql provided.
84+
```
85+
86+
**Migration:**
87+
88+
You can automatically migrate your existing nested configurations to the new flat format using the CLI. Run the following command:
89+
90+
```Bash
91+
./toolbox migrate --config <path-to-your-config>
92+
```
93+
_Note: You can also use the `--configs` or `--config-folder` flags with this command._
94+
95+
### 2. Deprecated CLI Flags
96+
The following CLI flags are deprecated and will be removed in a future release. Please update your scripts:
97+
98+
* `--tools-file` ➡️ Use `--config`
99+
* `--tools-files` ➡️ Use `--configs`
100+
* `--tools-folder` ➡️ Use `--config-folder`
101+
102+
## 💡 Other Notable Updates
103+
* **Enhanced Error Handling:** Errors are now strictly categorized between Agent Errors (allowing the LLM to self-correct) and Client/Server Errors (which signal a hard stop).
104+
105+
* **Telemetry Updates:** The /mcp endpoint telemetry has been revised to fully comply with the [OpenTelemetry semantic conventions for MCP](https://opentelemetry.io/docs/specs/semconv/gen-ai/mcp/).
106+
107+
* **MCP Authorization Support:** The Model Context Protocol's [authorization specification](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization) is now fully supported.
108+
109+
* **Database Name Validation:** Removed the "required field" validation for the database name in CloudSQL for MySQL and generic MySQL sources.
110+
111+
* **Prebuilt Tools:** Toolsets have been resized for better performance.
112+
## 📚 Documentation Moved
113+
Our official documentation has a new home! Please update your bookmarks to [mcp-toolbox.dev](http://mcp-toolbox.dev).

docs/en/documentation/configuration/authentication/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,4 +304,4 @@ func main() {
304304
}
305305
```
306306

307-
## Kinds of Auth Services
307+
## Types of Auth Services

docs/en/documentation/configuration/embedding-models/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,4 @@ parameters:
103103
embeddedBy: gemini-model # refers to the name of a defined embedding model
104104
```
105105

106-
## Kinds of Embedding Models
106+
## Types of Embedding Models

docs/en/documentation/configuration/prompts/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,4 @@ The workflow is as follows:
7878
5. **Response:** This completed prompt is then sent to the Gemini model, and the
7979
model's response is displayed back to you in the CLI.
8080

81-
## Kinds of prompts
81+
## Types of prompts

docs/en/documentation/configuration/sources/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ to connect to the database and execute the tool.
3333
3434
## Available Sources
3535
36-
To see all supported sources and the specific tools they unlock, explore the full list of our [Integrations](../../../integrations/_index.md).
36+
To see all supported sources and the specific tools they unlock, explore the full list of our [Integrations](../../../integrations/_index.md).

0 commit comments

Comments
 (0)