diff --git a/.github/release-please.yml b/.github/release-please.yml
index af154a77929..37e376ad7d9 100644
--- a/.github/release-please.yml
+++ b/.github/release-please.yml
@@ -18,9 +18,9 @@ releaseType: simple
versionFile: "cmd/version.txt"
extraFiles: [
"README.md",
- "docs/en/getting-started/colab_quickstart.ipynb",
- "docs/en/getting-started/introduction/_index.md",
- "docs/en/getting-started/mcp_quickstart/_index.md",
+ "docs/en /getting-started/colab_quickstart.ipynb",
+ "docs/en/getting-started/introduction /_index.md",
+ "docs/en/getting-started/mcp_quickstart /_index.md",
"docs/en/getting-started/quickstart/shared/configure_toolbox.md",
"docs/en/samples/alloydb/_index.md",
"docs/en/samples/alloydb/mcp_quickstart.md",
diff --git a/temp 1.md b/temp 1.md
new file mode 100644
index 00000000000..160b9456e2d
--- /dev/null
+++ b/temp 1.md
@@ -0,0 +1,1061 @@
+
+
+# MCP Toolbox for Databases
+
+
+
+[](https://googleapis.github.io/genai-toolbox/)
+[](https://discord.gg/Dmm69peqjh)
+[](https://medium.com/@mcp_toolbox)
+[](https://goreportcard.com/report/github.com/googleapis/genai-toolbox)
+
+> [!NOTE]
+> MCP Toolbox for Databases is currently in beta, and may see breaking
+> changes until the first stable release (v1.0).
+
+MCP Toolbox for Databases is an open source MCP server for databases. It enables
+you to develop tools easier, faster, and more securely by handling the complexities
+such as connection pooling, authentication, and more.
+
+This README provides a brief overview. For comprehensive details, see the [full
+documentation](https://googleapis.github.io/genai-toolbox/).
+
+> [!NOTE]
+> This solution was originally named “Gen AI Toolbox for Databases” as
+> its initial development predated MCP, but was renamed to align with recently
+> added MCP compatibility.
+
+
+## Table of Contents
+
+
+
+- [Why Toolbox?](#why-toolbox)
+- [General Architecture](#general-architecture)
+- [Getting Started](#getting-started)
+ - [Installing the server](#installing-the-server)
+ - [Running the server](#running-the-server)
+ - [Integrating your application](#integrating-your-application)
+ - [Using Toolbox with Gemini CLI Extensions](#using-toolbox-with-gemini-cli-extensions)
+- [Configuration](#configuration)
+ - [Sources](#sources)
+ - [Tools](#tools)
+ - [Toolsets](#toolsets)
+ - [Prompts](#prompts)
+- [Versioning](#versioning)
+ - [Pre-1.0.0 Versioning](#pre-100-versioning)
+ - [Post-1.0.0 Versioning](#post-100-versioning)
+- [Contributing](#contributing)
+- [Community](#community)
+
+
+
+## Why Toolbox?
+
+Toolbox helps you build Gen AI tools that let your agents access data in your
+database. Toolbox provides:
+
+- **Simplified development**: Integrate tools to your agent in less than 10
+ lines of code, reuse tools between multiple agents or frameworks, and deploy
+ new versions of tools more easily.
+- **Better performance**: Best practices such as connection pooling,
+ authentication, and more.
+- **Enhanced security**: Integrated auth for more secure access to your data
+- **End-to-end observability**: Out of the box metrics and tracing with built-in
+ support for OpenTelemetry.
+
+**⚡ Supercharge Your Workflow with an AI Database Assistant ⚡**
+
+Stop context-switching and let your AI assistant become a true co-developer. By
+[connecting your IDE to your databases with MCP Toolbox][connect-ide], you can
+delegate complex and time-consuming database tasks, allowing you to build faster
+and focus on what matters. This isn't just about code completion; it's about
+giving your AI the context it needs to handle the entire development lifecycle.
+
+Here’s how it will save you time:
+
+- **Query in Plain English**: Interact with your data using natural language
+ right from your IDE. Ask complex questions like, *"How many orders were
+ delivered in 2024, and what items were in them?"* without writing any SQL.
+- **Automate Database Management**: Simply describe your data needs, and let the
+ AI assistant manage your database for you. It can handle generating queries,
+ creating tables, adding indexes, and more.
+- **Generate Context-Aware Code**: Empower your AI assistant to generate
+ application code and tests with a deep understanding of your real-time
+ database schema. This accelerates the development cycle by ensuring the
+ generated code is directly usable.
+- **Slash Development Overhead**: Radically reduce the time spent on manual
+ setup and boilerplate. MCP Toolbox helps streamline lengthy database
+ configurations, repetitive code, and error-prone schema migrations.
+
+Learn [how to connect your AI tools (IDEs) to Toolbox using MCP][connect-ide].
+
+[connect-ide]: https://googleapis.github.io/genai-toolbox/how-to/connect-ide/
+
+## General Architecture
+
+Toolbox sits between your application's orchestration framework and your
+database, providing a control plane that is used to modify, distribute, or
+invoke tools. It simplifies the management of your tools by providing you with a
+centralized location to store and update tools, allowing you to share tools
+between agents and applications and update those tools without necessarily
+redeploying your application.
+
+
+
+
+ +++Core
+ +1. Install [Toolbox Core SDK][toolbox-core]: + + ```bash + pip install toolbox-core + ``` + +1. Load tools: + + ```python + from toolbox_core import ToolboxClient + + # update the url to point to your server + async with ToolboxClient("http://127.0.0.1:5000") as client: + + # these tools can be passed to your application! + tools = await client.load_toolset("toolset_name") + ``` + +For more detailed instructions on using the Toolbox Core SDK, see the +[project's README][toolbox-core-readme]. + +[toolbox-core]: https://pypi.org/project/toolbox-core/ +[toolbox-core-readme]: https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-core/README.md + +++LangChain / LangGraph
+ +1. Install [Toolbox LangChain SDK][toolbox-langchain]: + + ```bash + pip install toolbox-langchain + ``` + +1. Load tools: + + ```python + from toolbox_langchain import ToolboxClient + + # update the url to point to your server + async with ToolboxClient("http://127.0.0.1:5000") as client: + + # these tools can be passed to your application! + tools = client.load_toolset() + ``` + + For more detailed instructions on using the Toolbox LangChain SDK, see the + [project's README][toolbox-langchain-readme]. + + [toolbox-langchain]: https://pypi.org/project/toolbox-langchain/ + [toolbox-langchain-readme]: https://github.com/googleapis/mcp-toolbox-sdk-python/blob/main/packages/toolbox-langchain/README.md + +++LlamaIndex
+ +1. Install [Toolbox Llamaindex SDK][toolbox-llamaindex]: + + ```bash + pip install toolbox-llamaindex + ``` + +1. Load tools: + + ```python + from toolbox_llamaindex import ToolboxClient + + # update the url to point to your server + async with ToolboxClient("http://127.0.0.1:5000") as client: + + # these tools can be passed to your application! + tools = client.load_toolset() + ``` + + For more detailed instructions on using the Toolbox Llamaindex SDK, see the + [project's README][toolbox-llamaindex-readme]. + + [toolbox-llamaindex]: https://pypi.org/project/toolbox-llamaindex/ + [toolbox-llamaindex-readme]: https://github.com/googleapis/genai-toolbox-llamaindex-python/blob/main/README.md + +
+ +++Core
+ +1. Install [Toolbox Core SDK][toolbox-core-js]: + + ```bash + npm install @toolbox-sdk/core + ``` + +1. Load tools: + + ```javascript + import { ToolboxClient } from '@toolbox-sdk/core'; + + // update the url to point to your server + const URL = 'http://127.0.0.1:5000'; + let client = new ToolboxClient(URL); + + // these tools can be passed to your application! + const tools = await client.loadToolset('toolsetName'); + ``` + + For more detailed instructions on using the Toolbox Core SDK, see the + [project's README][toolbox-core-js-readme]. + + [toolbox-core-js]: https://www.npmjs.com/package/@toolbox-sdk/core + [toolbox-core-js-readme]: https://github.com/googleapis/mcp-toolbox-sdk-js/blob/main/packages/toolbox-core/README.md + +++LangChain / LangGraph
+ +1. Install [Toolbox Core SDK][toolbox-core-js]: + + ```bash + npm install @toolbox-sdk/core + ``` + +2. Load tools: + + ```javascript + import { ToolboxClient } from '@toolbox-sdk/core'; + + // update the url to point to your server + const URL = 'http://127.0.0.1:5000'; + let client = new ToolboxClient(URL); + + // these tools can be passed to your application! + const toolboxTools = await client.loadToolset('toolsetName'); + + // Define the basics of the tool: name, description, schema and core logic + const getTool = (toolboxTool) => tool(currTool, { + name: toolboxTool.getName(), + description: toolboxTool.getDescription(), + schema: toolboxTool.getParamSchema() + }); + + // Use these tools in your Langchain/Langraph applications + const tools = toolboxTools.map(getTool); + ``` + +++Genkit
+ +1. Install [Toolbox Core SDK][toolbox-core-js]: + + ```bash + npm install @toolbox-sdk/core + ``` + +2. Load tools: + + ```javascript + import { ToolboxClient } from '@toolbox-sdk/core'; + import { genkit } from 'genkit'; + + // Initialise genkit + const ai = genkit({ + plugins: [ + googleAI({ + apiKey: process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY + }) + ], + model: googleAI.model('gemini-2.0-flash'), + }); + + // update the url to point to your server + const URL = 'http://127.0.0.1:5000'; + let client = new ToolboxClient(URL); + + // these tools can be passed to your application! + const toolboxTools = await client.loadToolset('toolsetName'); + + // Define the basics of the tool: name, description, schema and core logic + const getTool = (toolboxTool) => ai.defineTool({ + name: toolboxTool.getName(), + description: toolboxTool.getDescription(), + schema: toolboxTool.getParamSchema() + }, toolboxTool) + + // Use these tools in your Genkit applications + const tools = toolboxTools.map(getTool); + ``` + +++ADK
+ +1. Install [Toolbox ADK SDK][toolbox-adk-js]: + + ```bash + npm install @toolbox-sdk/adk + ``` + +2. Load tools: + + ```javascript + import { ToolboxClient } from '@toolbox-sdk/adk'; + + // update the url to point to your server + const URL = 'http://127.0.0.1:5000'; + let client = new ToolboxClient(URL); + + // these tools can be passed to your application! + const tools = await client.loadToolset('toolsetName'); + ``` + + For more detailed instructions on using the Toolbox ADK SDK, see the + [project's README][toolbox-adk-js-readme]. + + [toolbox-adk-js]: https://www.npmjs.com/package/@toolbox-sdk/adk + [toolbox-adk-js-readme]: + https://github.com/googleapis/mcp-toolbox-sdk-js/blob/main/packages/toolbox-adk/README.md + +
+ +++Core
+ +1. Install [Toolbox Go SDK][toolbox-go]: + + ```bash + go get github.com/googleapis/mcp-toolbox-sdk-go + ``` + +2. Load tools: + + ```go + package main + + import ( + "github.com/googleapis/mcp-toolbox-sdk-go/core" + "context" + ) + + func main() { + // Make sure to add the error checks + // update the url to point to your server + URL := "http://127.0.0.1:5000"; + ctx := context.Background() + + client, err := core.NewToolboxClient(URL) + + // Framework agnostic tools + tools, err := client.LoadToolset("toolsetName", ctx) + } + ``` + + For more detailed instructions on using the Toolbox Go SDK, see the + [project's README][toolbox-core-go-readme]. + + [toolbox-go]: https://pkg.go.dev/github.com/googleapis/mcp-toolbox-sdk-go/core + [toolbox-core-go-readme]: https://github.com/googleapis/mcp-toolbox-sdk-go/blob/main/core/README.md + +++LangChain Go
+ +1. Install [Toolbox Go SDK][toolbox-go]: + + ```bash + go get github.com/googleapis/mcp-toolbox-sdk-go + ``` + +2. Load tools: + + ```go + package main + + import ( + "context" + "encoding/json" + + "github.com/googleapis/mcp-toolbox-sdk-go/core" + "github.com/tmc/langchaingo/llms" + ) + + func main() { + // Make sure to add the error checks + // update the url to point to your server + URL := "http://127.0.0.1:5000" + ctx := context.Background() + + client, err := core.NewToolboxClient(URL) + + // Framework agnostic tool + tool, err := client.LoadTool("toolName", ctx) + + // Fetch the tool's input schema + inputschema, err := tool.InputSchema() + + var paramsSchema map[string]any + _ = json.Unmarshal(inputschema, ¶msSchema) + + // Use this tool with LangChainGo + langChainTool := llms.Tool{ + Type: "function", + Function: &llms.FunctionDefinition{ + Name: tool.Name(), + Description: tool.Description(), + Parameters: paramsSchema, + }, + } + } + + ``` + +++Genkit
+ +1. Install [Toolbox Go SDK][toolbox-go]: + + ```bash + go get github.com/googleapis/mcp-toolbox-sdk-go + ``` + +2. Load tools: + + ```go + package main + import ( + "context" + "log" + + "github.com/firebase/genkit/go/genkit" + "github.com/googleapis/mcp-toolbox-sdk-go/core" + "github.com/googleapis/mcp-toolbox-sdk-go/tbgenkit" + ) + + func main() { + // Make sure to add the error checks + // Update the url to point to your server + URL := "http://127.0.0.1:5000" + ctx := context.Background() + g := genkit.Init(ctx) + + client, err := core.NewToolboxClient(URL) + + // Framework agnostic tool + tool, err := client.LoadTool("toolName", ctx) + + // Convert the tool using the tbgenkit package + // Use this tool with Genkit Go + genkitTool, err := tbgenkit.ToGenkitTool(tool, g) + if err != nil { + log.Fatalf("Failed to convert tool: %v\n", err) + } + log.Printf("Successfully converted tool: %s", genkitTool.Name()) + } + ``` + +++Go GenAI
+ +1. Install [Toolbox Go SDK][toolbox-go]: + + ```bash + go get github.com/googleapis/mcp-toolbox-sdk-go + ``` + +2. Load tools: + + ```go + package main + + import ( + "context" + "encoding/json" + + "github.com/googleapis/mcp-toolbox-sdk-go/core" + "google.golang.org/genai" + ) + + func main() { + // Make sure to add the error checks + // Update the url to point to your server + URL := "http://127.0.0.1:5000" + ctx := context.Background() + + client, err := core.NewToolboxClient(URL) + + // Framework agnostic tool + tool, err := client.LoadTool("toolName", ctx) + + // Fetch the tool's input schema + inputschema, err := tool.InputSchema() + + var schema *genai.Schema + _ = json.Unmarshal(inputschema, &schema) + + funcDeclaration := &genai.FunctionDeclaration{ + Name: tool.Name(), + Description: tool.Description(), + Parameters: schema, + } + + // Use this tool with Go GenAI + genAITool := &genai.Tool{ + FunctionDeclarations: []*genai.FunctionDeclaration{funcDeclaration}, + } + } + ``` + +++OpenAI Go
+ +1. Install [Toolbox Go SDK][toolbox-go]: + + ```bash + go get github.com/googleapis/mcp-toolbox-sdk-go + ``` + +2. Load tools: + + ```go + package main + + import ( + "context" + "encoding/json" + + "github.com/googleapis/mcp-toolbox-sdk-go/core" + openai "github.com/openai/openai-go" + ) + + func main() { + // Make sure to add the error checks + // Update the url to point to your server + URL := "http://127.0.0.1:5000" + ctx := context.Background() + + client, err := core.NewToolboxClient(URL) + + // Framework agnostic tool + tool, err := client.LoadTool("toolName", ctx) + + // Fetch the tool's input schema + inputschema, err := tool.InputSchema() + + var paramsSchema openai.FunctionParameters + _ = json.Unmarshal(inputschema, ¶msSchema) + + // Use this tool with OpenAI Go + openAITool := openai.ChatCompletionToolParam{ + Function: openai.FunctionDefinitionParam{ + Name: tool.Name(), + Description: openai.String(tool.Description()), + Parameters: paramsSchema, + }, + } + + } + ``` + +++ADK Go
+ +1. Install [Toolbox Go SDK][toolbox-go]: + + ```bash + go get github.com/googleapis/mcp-toolbox-sdk-go + ``` + +1. Load tools: + + ```go + package main + + import ( + "github.com/googleapis/mcp-toolbox-sdk-go/tbadk" + "context" + ) + + func main() { + // Make sure to add the error checks + // Update the url to point to your server + URL := "http://127.0.0.1:5000" + ctx := context.Background() + client, err := tbadk.NewToolboxClient(URL) + if err != nil { + return fmt.Sprintln("Could not start Toolbox Client", err) + } + + // Use this tool with ADK Go + tool, err := client.LoadTool("toolName", ctx) + if err != nil { + return fmt.Sprintln("Could not load Toolbox Tool", err) + } + } + ``` + + For more detailed instructions on using the Toolbox Go SDK, see the + [project's README][toolbox-core-go-readme]. + + +