From 77924b7790fd1a2e6114b3c5f0d2635960689779 Mon Sep 17 00:00:00 2001 From: Disha Prakash Date: Tue, 4 Nov 2025 14:31:50 +0000 Subject: [PATCH 1/3] docs: Add MCP Toolbox for databases Go SDK Documentation --- .../google-cloud/mcp-toolbox-for-databases.md | 65 ++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/docs/tools/google-cloud/mcp-toolbox-for-databases.md b/docs/tools/google-cloud/mcp-toolbox-for-databases.md index 3f096dd2d..2d01e05aa 100644 --- a/docs/tools/google-cloud/mcp-toolbox-for-databases.md +++ b/docs/tools/google-cloud/mcp-toolbox-for-databases.md @@ -79,7 +79,9 @@ documentation: * [Installing the Server](https://googleapis.github.io/genai-toolbox/getting-started/introduction/#installing-the-server) * [Configuring Toolbox](https://googleapis.github.io/genai-toolbox/getting-started/configure/) -## Install client SDK for ADK +## Install Client SDK for ADK + +## Python SDK ADK relies on the `toolbox-core` python package to use Toolbox. Install the package before getting started: @@ -88,7 +90,7 @@ package before getting started: pip install toolbox-core ``` -## Loading Toolbox Tools +### Loading Toolbox Tools Once you’re Toolbox server is configured and up and running, you can load tools from your server using ADK: @@ -111,6 +113,65 @@ root_agent = Agent( ) ``` +## Go SDK + +ADK relies on the `mcp-toolbox-sdk-go` go module to use Toolbox. Install the +package before getting started: + +```shell +go get github.com/googleapis/mcp-toolbox-sdk-go +``` + +### Loading Toolbox Tools + +Once you’re Toolbox server is configured and up and running, you can load tools +from your server using ADK: + +```go +import ( + "context" + "fmt" + + "github.com/googleapis/mcp-toolbox-sdk-go/tbadk" + "google.golang.org/adk/agent/llmagent" +) + +func main() { + + toolboxClient, err := tbadk.NewToolboxClient("https://127.0.0.1:5000") + if err != nil { + log.Fatalf("Failed to create MCP Toolbox client: %v", err) + } + + // Load a specific set of tools + toolboxtools, err := toolboxClient.LoadToolset("my-toolset-name", ctx) + if err != nil { + return fmt.Sprintln("Could not load Toolbox Toolset", err) + } + + toolsList := make([]tool.Tool, len(toolboxtools)) + for i := range toolboxtools { + toolsList[i] = &toolboxtools[i] + } + + llmagent, err := llmagent.New(llmagent.Config{ + ..., + Tools: toolsList, + }) + + // Load a single tool + tool, err := client.LoadTool("my-tool-name", ctx) + if err != nil { + return fmt.Sprintln("Could not load Toolbox Tool", err) + } + + llmagent, err := llmagent.New(llmagent.Config{ + ..., + Tools: []tool.Tool{&toolboxtool}, + }) +} +``` + ## Advanced Toolbox Features Toolbox has a variety of features to make developing Gen AI tools for databases. From 5fdf052763affab71e8a1c69f57fc569acb0c56a Mon Sep 17 00:00:00 2001 From: Disha Prakash Date: Tue, 4 Nov 2025 14:34:32 +0000 Subject: [PATCH 2/3] minor fix --- docs/tools/google-cloud/mcp-toolbox-for-databases.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/tools/google-cloud/mcp-toolbox-for-databases.md b/docs/tools/google-cloud/mcp-toolbox-for-databases.md index 2d01e05aa..303bfbd30 100644 --- a/docs/tools/google-cloud/mcp-toolbox-for-databases.md +++ b/docs/tools/google-cloud/mcp-toolbox-for-databases.md @@ -116,7 +116,7 @@ root_agent = Agent( ## Go SDK ADK relies on the `mcp-toolbox-sdk-go` go module to use Toolbox. Install the -package before getting started: +module before getting started: ```shell go get github.com/googleapis/mcp-toolbox-sdk-go @@ -128,6 +128,8 @@ Once you’re Toolbox server is configured and up and running, you can load tool from your server using ADK: ```go +package main + import ( "context" "fmt" From 78c68d48d1b203909381e982aa6edeea4bcbda5c Mon Sep 17 00:00:00 2001 From: ivanmkc Date: Thu, 6 Nov 2025 16:34:51 -0500 Subject: [PATCH 3/3] Moved into tabs --- .../google-cloud/mcp-toolbox-for-databases.md | 142 +++++++++--------- 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/docs/tools/google-cloud/mcp-toolbox-for-databases.md b/docs/tools/google-cloud/mcp-toolbox-for-databases.md index 303bfbd30..6a6df6b19 100644 --- a/docs/tools/google-cloud/mcp-toolbox-for-databases.md +++ b/docs/tools/google-cloud/mcp-toolbox-for-databases.md @@ -1,7 +1,7 @@ # MCP Toolbox for Databases
- Supported in ADKPython + Supported in ADKPythonGo
[MCP Toolbox for Databases](https://github.com/googleapis/genai-toolbox) is an @@ -81,98 +81,98 @@ documentation: ## Install Client SDK for ADK -## Python SDK +=== "Python" -ADK relies on the `toolbox-core` python package to use Toolbox. Install the -package before getting started: + ADK relies on the `toolbox-core` python package to use Toolbox. Install the + package before getting started: -```shell -pip install toolbox-core -``` + ```shell + pip install toolbox-core + ``` -### Loading Toolbox Tools + ### Loading Toolbox Tools -Once you’re Toolbox server is configured and up and running, you can load tools -from your server using ADK: + Once you’re Toolbox server is configured and up and running, you can load tools + from your server using ADK: -```python -from google.adk.agents import Agent -from toolbox_core import ToolboxSyncClient + ```python + from google.adk.agents import Agent + from toolbox_core import ToolboxSyncClient -toolbox = ToolboxSyncClient("https://127.0.0.1:5000") + toolbox = ToolboxSyncClient("https://127.0.0.1:5000") -# Load a specific set of tools -tools = toolbox.load_toolset('my-toolset-name'), -# Load single tool -tools = toolbox.load_tool('my-tool-name'), + # Load a specific set of tools + tools = toolbox.load_toolset('my-toolset-name'), + # Load single tool + tools = toolbox.load_tool('my-tool-name'), -root_agent = Agent( - ..., - tools=tools # Provide the list of tools to the Agent + root_agent = Agent( + ..., + tools=tools # Provide the list of tools to the Agent -) -``` + ) + ``` -## Go SDK +=== "Go" -ADK relies on the `mcp-toolbox-sdk-go` go module to use Toolbox. Install the -module before getting started: + ADK relies on the `mcp-toolbox-sdk-go` go module to use Toolbox. Install the + module before getting started: -```shell -go get github.com/googleapis/mcp-toolbox-sdk-go -``` + ```shell + go get github.com/googleapis/mcp-toolbox-sdk-go + ``` -### Loading Toolbox Tools + ### Loading Toolbox Tools -Once you’re Toolbox server is configured and up and running, you can load tools -from your server using ADK: + Once you’re Toolbox server is configured and up and running, you can load tools + from your server using ADK: -```go -package main + ```go + package main -import ( - "context" - "fmt" + import ( + "context" + "fmt" - "github.com/googleapis/mcp-toolbox-sdk-go/tbadk" - "google.golang.org/adk/agent/llmagent" -) + "github.com/googleapis/mcp-toolbox-sdk-go/tbadk" + "google.golang.org/adk/agent/llmagent" + ) -func main() { + func main() { - toolboxClient, err := tbadk.NewToolboxClient("https://127.0.0.1:5000") - if err != nil { - log.Fatalf("Failed to create MCP Toolbox client: %v", err) - } + toolboxClient, err := tbadk.NewToolboxClient("https://127.0.0.1:5000") + if err != nil { + log.Fatalf("Failed to create MCP Toolbox client: %v", err) + } - // Load a specific set of tools - toolboxtools, err := toolboxClient.LoadToolset("my-toolset-name", ctx) - if err != nil { - return fmt.Sprintln("Could not load Toolbox Toolset", err) - } + // Load a specific set of tools + toolboxtools, err := toolboxClient.LoadToolset("my-toolset-name", ctx) + if err != nil { + return fmt.Sprintln("Could not load Toolbox Toolset", err) + } - toolsList := make([]tool.Tool, len(toolboxtools)) - for i := range toolboxtools { - toolsList[i] = &toolboxtools[i] - } + toolsList := make([]tool.Tool, len(toolboxtools)) + for i := range toolboxtools { + toolsList[i] = &toolboxtools[i] + } + + llmagent, err := llmagent.New(llmagent.Config{ + ..., + Tools: toolsList, + }) - llmagent, err := llmagent.New(llmagent.Config{ - ..., - Tools: toolsList, - }) - - // Load a single tool - tool, err := client.LoadTool("my-tool-name", ctx) - if err != nil { - return fmt.Sprintln("Could not load Toolbox Tool", err) - } - - llmagent, err := llmagent.New(llmagent.Config{ - ..., - Tools: []tool.Tool{&toolboxtool}, - }) -} -``` + // Load a single tool + tool, err := client.LoadTool("my-tool-name", ctx) + if err != nil { + return fmt.Sprintln("Could not load Toolbox Tool", err) + } + + llmagent, err := llmagent.New(llmagent.Config{ + ..., + Tools: []tool.Tool{&toolboxtool}, + }) + } + ``` ## Advanced Toolbox Features