MCP Toolbox for Databases

официальный

Открытый MCP-сервер, специализирующийся на простых, быстрых и безопасных инструментах для баз данных.

Что можно делать с Toolbox For Databases MCP?

  • Изучайте схемы баз данных — Попросите ИИ-ассистента перечислить таблицы и изучить подробности схемы с помощью встроенного инструмента list_tables.
  • Выполняйте SQL-запросы — Запрашивайте данные на обычном языке с помощью встроенного инструмента execute_sql в поддерживаемых базах данных.
  • Подключайтесь через MCP-клиенты — Настройте сервер в mcp.json или claude_desktop_config.json, чтобы использовать его в Gemini CLI, Claude Code, Codex или других MCP-клиентах.
  • Определяйте собственные инструменты — Создавайте структурированные SQL-инструменты с параметрами в файле tools.yaml, чтобы безопасно предоставлять агентам доступ к определённым запросам.
  • Объединяйте инструменты в наборы — Группируйте связанные инструменты в наборы и загружайте их вместе для конкретного агента или приложения.

Документация

logo

MCP Toolbox for Databases

googleapis%2Fmcp-toolbox | Trendshift

Лицензия: Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

MCP Toolbox for Databases — это сервер Model Context Protocol (MCP) с открытым исходным кодом, который напрямую подключает ваши ИИ-агенты, IDE и приложения к корпоративным базам данных.

architecture

Он выполняет две задачи:

  1. Готовый к использованию MCP-сервер (этап сборки): мгновенно подключайте Gemini CLI, Google Antigravity, Claude Code, Codex и другие MCP-клиенты к своим базам данных с помощью наших готовых универсальных инструментов. Работайте с данными, изучайте схемы и генерируйте код без написания шаблонного кода.
  2. Платформа для пользовательских инструментов (этап выполнения): надежная платформа для создания специализированных, высокозащищенных ИИ-инструментов для производственных агентов. Безопасно и просто задавайте структурированные запросы, семантический поиск и возможности NL2SQL.

В этом README представлен краткий обзор. Подробную информацию см. в полной документации.

[!IMPORTANT]
Изменение названия репозитория: репозиторий genai-toolbox официально переименован в mcp-toolbox. Чтобы обновить название в локальной среде, можно изменить удаленный репозиторий: git remote set-url origin https://github.com/googleapis/mcp-toolbox.git

[!NOTE] Изначально это решение называлось «Gen AI Toolbox for Databases» (github.com/googleapis/genai-toolbox), поскольку его разработка началась до появления MCP. Позже название изменили, чтобы отразить совместимость с MCP.

Содержание


Зачем нужен MCP Toolbox?

  • Доступ к базам данных из коробки: готовые универсальные инструменты для мгновенного изучения данных (например, list_tables, execute_sql) прямо из IDE или CLI.
  • Платформа для пользовательских инструментов: создавайте готовые к эксплуатации инструменты с собственной предопределенной логикой, обеспечивая безопасность благодаря ограниченному доступу, структурированным запросам и семантическому поиску.
  • Упрощенная разработка: интегрируйте инструменты в Agent Development Kit (ADK), LangChain, LlamaIndex или пользовательских агентов менее чем за 10 строк кода.
  • Повышенная производительность: из коробки доступны пул соединений, встроенная аутентификация (IAM) и сквозная наблюдаемость (OpenTelemetry).
  • Повышенная безопасность: встроенная аутентификация обеспечивает более безопасный доступ к данным.
  • Сквозная наблюдаемость: метрики и трассировка доступны из коробки благодаря встроенной поддержке OpenTelemetry.

Быстрый старт: готовые инструменты

Перестаньте переключаться между контекстами и превратите своего ИИ-помощника в полноценного соразработчика. Подключив IDE к базам данных с помощью MCP Toolbox, вы сможете задавать запросы к данным на обычном языке, автоматизировать обнаружение схем и управление ими, а также генерировать код с учетом базы данных.

Toolbox можно использовать в любой совместимой с MCP IDE или клиенте (например, Gemini CLI, Google Antigravity, Claude Code, Codex и т. д.), настроив MCP-сервер.

Готовые инструменты также доступны в магазине MCP Google Antigravity и устанавливаются одним нажатием.

  1. Добавьте следующий фрагмент в файл конфигурации MCP вашего клиента (обычно mcp.json или claude_desktop_config.json):

    {
      "mcpServers": {
        "toolbox-postgres": {
          "command": "npx",
          "args": [
            "-y",
            "@toolbox-sdk/server",
            "--prebuilt=postgres",
            "--stdio"
          ]
        }
      }
    }
    
  2. Задайте необходимые переменные среды для подключения. См. справочник по готовым инструментам.

При запуске Toolbox с флагом --prebuilt=<database> вы сразу получаете доступ к стандартным инструментам для работы с этой базой данных. Также можно указать конкретный набор инструментов с помощью синтаксиса --prebuilt=<database>/<toolset> (например, --prebuilt=postgres/data, чтобы загрузить только инструменты SQL).

В настоящее время поддерживаются следующие базы данных:

  • Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (ранее Dataplex).
  • Другие базы данных: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino и другие.

Полный список доступных инструментов и их возможностей для всех поддерживаемых баз данных см. в справочнике по готовым инструментам.

Различные способы запуска, например с помощью Docker или бинарных файлов, описаны в разделе Установка и запуск сервера Toolbox.

[!TIP] Для пользователей, которым требуется управляемое решение, серверы MCP Google Cloud предоставляют управляемую среду MCP с готовыми инструментами; подробнее о различиях можно узнать здесь.


Быстрый старт: пользовательские инструменты

Toolbox также можно использовать как платформу для создания пользовательских инструментов. Основной способ настройки Toolbox — через файл tools.yaml. Если у вас несколько файлов, укажите, какой из них загрузить, с помощью флага --config tools.yaml.

Подробную справочную документацию по всем типам ресурсов см. в разделе Ресурсы.

Источники

Раздел sources файла tools.yaml определяет источники данных, к которым Toolbox должен иметь доступ. Большинству инструментов нужен как минимум один источник, с которым они будут работать.

kind: source
name: my-pg-source
type: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password

Подробнее о настройке различных типов источников см. в разделе Источники.

Инструменты

Раздел tools файла tools.yaml определяет действия, которые может выполнять агент: тип инструмента, источники, на которые он влияет, используемые параметры и т. д.

kind: tool
name: search-hotels-by-name
type: postgres-sql
source: my-pg-source
description: Search for hotels based on name.
parameters:
  - name: name
    type: string
    description: The name of the hotel.
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';

Подробнее о настройке различных типов инструментов см. в разделе Инструменты.

Наборы инструментов

Раздел toolsets файла tools.yaml позволяет задавать группы инструментов, которые можно загружать вместе. Это удобно, если нужно определить разные группы для разных агентов или приложений.

kind: toolset
name: my_first_toolset
tools:
    - my_first_tool
    - my_second_tool
---
kind: toolset
name: my_second_toolset
tools:
    - my_second_tool
    - my_third_tool

Подсказки

Раздел prompts файла tools.yaml определяет подсказки, которые можно использовать для взаимодействия с LLM.

kind: prompt
name: code_review
description: "Asks the LLM to analyze code quality and suggest improvements."
messages:
  - content: >
         Please review the following code for quality, correctness,
         and potential improvements: \n\n{{.code}}
arguments:
  - name: "code"
    description: "The code to review"

Подробнее о настройке подсказок см. в разделе Подсказки.

Ресурсы

Разделы resources и resourceTemplates файла tools.yaml определяют доступное только для чтения содержимое, файлы или параметризованные деревья каталогов, которые MCP-клиенты могут обнаруживать и получать:

kind: resource
name: database_schema_ddl
type: text
description: "Core table definitions and constraints."
mimeType: text/x-sql
text: |
  CREATE TABLE customers (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL
  );
---
kind: resource
name: database_schema
type: file
description: "PostgreSQL schema definition."
path: "./schema.sql"
---
kind: resourceTemplate
name: server_logs
type: file
description: "Application log files."
uriTemplate: "file:///var/log/{path}"
allowedPaths:
  - "/var/log"

Подробнее о настройке ресурсов и шаблонов ресурсов см. в разделе Ресурсы.


Установка и запуск сервера Toolbox

Toolbox можно запустить напрямую с помощью файла конфигурации:

npx @toolbox-sdk/server --config tools.yaml

Эта команда запускает последнюю версию сервера Toolbox с указанным файлом конфигурации.

[!NOTE] Этот способ рассчитан на удобство, а не на производительность. Для более стандартной и надежной установки используйте бинарный файл или образ контейнера, как описано в разделе Установка и запуск сервера Toolbox.

Установка Toolbox

Последнюю версию можно найти на странице выпусков. Выберите инструкции для своей ОС и архитектуры процессора.

Бинарный файл

Чтобы установить Toolbox в виде бинарного файла:

Linux (AMD64)

Чтобы установить Toolbox в виде бинарного файла на Linux (AMD64):

# см. страницу выпусков, чтобы узнать о других версиях
export VERSION=1.16.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
macOS (Apple Silicon)

Чтобы установить Toolbox в виде бинарного файла на macOS (Apple Silicon):

# см. страницу выпусков, чтобы узнать о других версиях
export VERSION=1.16.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox
chmod +x toolbox
macOS (Intel)

Чтобы установить Toolbox в виде бинарного файла на macOS (Intel):

# см. страницу выпусков, чтобы узнать о других версиях
export VERSION=1.16.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
Windows (Command Prompt)

Чтобы установить Toolbox в виде бинарного файла в Windows (Command Prompt):

:: см. страницу выпусков, чтобы узнать о других версиях
set VERSION=1.16.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"
Windows (PowerShell)

Чтобы установить Toolbox в виде бинарного файла в Windows (PowerShell):

# см. страницу выпусков, чтобы узнать о других версиях
$VERSION = "1.16.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
Windows ARM64 (Command Prompt)

Чтобы установить Toolbox в виде бинарного файла в Windows ARM64 (Command Prompt):

:: см. страницу выпусков, чтобы узнать о других версиях
set VERSION=1.16.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"
Windows ARM64 (PowerShell)

Чтобы установить Toolbox в виде бинарного файла в Windows ARM64 (PowerShell):

# см. страницу выпусков, чтобы узнать о других версиях
$VERSION = "1.16.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Образ контейнера Toolbox также можно установить как контейнер:
# see releases page for other versions
export VERSION=1.16.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew

Чтобы установить Toolbox с помощью Homebrew в macOS или Linux:

brew install mcp-toolbox
Сборка из исходного кода

Чтобы установить Toolbox из исходного кода, убедитесь, что у вас установлена последняя версия Go, а затем выполните следующую команду:

go install github.com/googleapis/mcp-toolbox@v1.16.0
Gemini CLI Ознакомьтесь с [расширениями Gemini CLI](https://geminicli.com/extensions/), чтобы установить готовые инструменты для конкретных баз данных, таких как AlloyDB, BigQuery и Cloud SQL, непосредственно в Gemini CLI.
# Install Gemini CLI
npm install -g @google/gemini-cli
# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgres
# Run Gemini CLI
gemini

Работайте с пользовательскими инструментами на естественном языке через Gemini CLI.

# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox

Запуск Toolbox

Настройте tools.yaml, чтобы определить инструменты, а затем выполните toolbox, чтобы запустить сервер:

Бинарный файл

Чтобы запустить Toolbox из бинарного файла:

./toolbox --config "tools.yaml"

ⓘ Примечание
По умолчанию Toolbox поддерживает динамическую перезагрузку. Чтобы отключить ее, используйте флаг --disable-reload.

Образ контейнера

Чтобы запустить сервер после загрузки образа контейнера:

export VERSION=0.24.0 # Use the version you pulled
docker run -p 5000:5000 \
-v $(pwd)/tools.yaml:/app/tools.yaml \
us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION \
--config "/app/tools.yaml"

ⓘ Примечание
Флаг -v подключает локальный tools.yaml к контейнеру, а -p перенаправляет порт контейнера 5000 на порт хоста 5000.

Исходный код

Чтобы запустить сервер непосредственно из исходного кода, перейдите в корневой каталог проекта и выполните:

go run .

ⓘ Примечание
Эта команда запускает проект из исходного кода и лучше подходит для разработки и тестирования. Она не компилирует бинарный файл в $GOPATH. Чтобы скомпилировать бинарный файл, см. документацию для разработчиков.

Homebrew

Если вы установили Toolbox с помощью Homebrew, двоичный файл toolbox доступен в системном пути. Запустить сервер можно той же командой:

toolbox --config "tools.yaml"
NPM

Чтобы запустить Toolbox напрямую, не скачивая двоичный файл вручную (требуется Node.js):

npx @toolbox-sdk/server --config tools.yaml
Gemini CLI После установки [расширений Gemini CLI](https://geminicli.com/extensions/) предварительно собранные инструменты будут доступны при использовании.
# Run Gemini CLI
gemini

# List extensions
/extensions list
# List MCP servers
/mcp list

Полный список флагов можно получить с помощью toolbox help! Чтобы остановить сервер, отправьте сигнал завершения (ctrl+c на большинстве платформ).

Подробную документацию по развертыванию в различных средах см. в материалах раздела https://mcp-toolbox.dev/documentation/deploy-to/


Подключение к Toolbox

После запуска сервера Toolbox можно загрузить инструменты в MCP-совместимый клиент или приложение.

MCP-клиент

Добавьте следующую конфигурацию в конфигурацию MCP-клиента:

{
  "mcpServers": {
    "toolbox": {
      "type": "http",
      "url": "http://127.0.0.1:5000/mcp",
    }
  }
}

Чтобы подключиться к определенному набору инструментов, замените url на "http://127.0.0.1:5000/mcp/{toolset_name}".

SDK Toolbox: интеграция с приложением

Клиентские SDK Toolbox предоставляют простые в использовании строительные блоки и расширенные возможности для подключения пользовательских приложений к серверу MCP Toolbox. Ниже приведен список клиентских SDK для работы с различными фреймворками:

Python (Github)
Core
  1. Установите Toolbox Core SDK:

    pip install toolbox-core
    
  2. Загрузите инструменты:

    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")
    

Подробные инструкции по использованию Toolbox Core SDK см. в README проекта.

LangChain / LangGraph
  1. Установите Toolbox LangChain SDK:

    pip install toolbox-langchain
    
  2. Загрузите инструменты:

    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()
    

    Подробные инструкции по использованию Toolbox LangChain SDK см. в README проекта.

LlamaIndex
  1. Установите Toolbox Llamaindex SDK:

    pip install toolbox-llamaindex
    
  2. Загрузите инструменты:

    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()
    

    Подробные инструкции по использованию Toolbox Llamaindex SDK см. в README проекта.

Javascript/Typescript (Github)
Core
  1. Установите Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Загрузите инструменты:

    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');
    

    Подробные инструкции по использованию Toolbox Core SDK см. в README проекта.

LangChain / LangGraph
  1. Установите Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Загрузите инструменты:

    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. Установите Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Загрузите инструменты:

    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. Установите Toolbox ADK SDK:

    npm install @toolbox-sdk/adk
    
  2. Загрузите инструменты:

    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');
    

    Подробные инструкции по использованию Toolbox ADK SDK см. в README проекта.

Go (Github)
Core
  1. Установите Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Загрузите инструменты:

    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)
    }
    

    Подробные инструкции по использованию Toolbox Go SDK см. в README проекта.

LangChain Go
  1. Установите Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Загрузите инструменты:

    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, &paramsSchema)
    
      // Use this tool with LangChainGo
      langChainTool := llms.Tool{
        Type: "function",
        Function: &llms.FunctionDefinition{
          Name:        tool.Name(),
          Description: tool.Description(),
          Parameters:  paramsSchema,
        },
      }
    }
    
    
Genkit
  1. Установите Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Загрузите инструменты:

    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. Установите Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Загрузите инструменты:

    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. Установите Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Загрузите инструменты:

    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, &paramsSchema)
    
      // 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. Установите Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Загрузите инструменты:

    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)
      }
    }
    

    Подробные инструкции по использованию Toolbox Go SDK см. в README проекта.


Дополнительные возможности

Тестирование инструментов с помощью интерфейса Toolbox

Чтобы запустить интерактивный интерфейс Toolbox, используйте флаг --ui. Он позволяет тестировать инструменты и наборы инструментов, в том числе с авторизованными параметрами. Подробнее см. в разделе Интерфейс Toolbox.

./toolbox --ui

Телеметрия

Toolbox передает трассировки и метрики с помощью OpenTelemetry. Используйте --telemetry-otlp=<endpoint> для экспорта в любой совместимый с OTLP сервер, например Google Cloud Monitoring, Agnost AI или другие. Подробности см. в документации по телеметрии.

Создание навыков агента

Команда skills-generate позволяет преобразовать набор инструментов в навык агента, совместимый со спецификацией Agent Skill. Это удобно для распространения инструментов в виде переносимых пакетов навыков.

toolbox --config tools.yaml skills-generate \
  --name "my-skill" \
  --toolset "my_toolset" \
  --description "A skill containing multiple tools"

После создания навык можно установить в Gemini CLI:

gemini skills install ./skills/my-skill

Подробнее см. в руководстве Создание навыков. Информацию о том, как предоставлять уже имеющийся навык через MCP, см. в разделе Предоставление навыков через MCP.

В репозитории также есть готовые навыки агента (например, для рабочих процессов сопровождающих). Каталог и инструкции по установке см. в разделе skills/.


Версионирование

MCP Toolbox for Databases использует семантическое версионирование.

Публичный API включает сервер Toolbox (CLI, манифесты конфигурации и предварительно собранные наборы инструментов), а также клиентские SDK.

  • Основные версии увеличиваются при несовместимых изменениях, например при изменениях CLI или манифестов, нарушающих обратную совместимость.
  • Минорные версии увеличиваются при добавлении новых функций, включая изменения предварительно собранных наборов инструментов или бета-функции.
  • Патч-версии увеличиваются при исправлении ошибок с сохранением обратной совместимости.

Подробнее, в том числе о политике тегирования контейнеров, см. в полной политике версионирования.


Участие в разработке

Мы приветствуем ваш вклад. Чтобы начать, ознакомьтесь с руководством CONTRIBUTING.

Технические сведения о настройке среды для разработки самого Toolbox см. в руководстве DEVELOPER.

Обратите внимание: этот проект распространяется с Кодексом поведения участников. Участвуя в проекте, вы соглашаетесь соблюдать его условия. Подробнее см. в Кодексе поведения участников.


Сообщество

Присоединяйтесь к нашему сообществу в Discord, чтобы пообщаться с разработчиками!