MCP Toolbox for Databases Server

officiel

Serveur MCP open source spécialisé dans des outils faciles, rapides et sécurisés pour les bases de données.

Documentation

logo

MCP Toolbox for Databases

googleapis%2Fmcp-toolbox | Trendshift

Go Report Card Licence : Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

MCP Toolbox for Databases est un serveur open source Model Context Protocol (MCP) qui connecte vos agents IA, IDE et applications directement à vos bases de données d'entreprise.

architecture

Il a une double fonction :

  1. Serveur MCP prêt à l'emploi (Build-Time) : Connectez instantanément Gemini CLI, Google Antigravity, Claude Code, Codex ou d'autres clients MCP à vos bases de données en utilisant nos outils génériques préconstruits. Discutez avec vos données, explorez les schémas et générez du code sans écrire de code standard.
  2. Framework d'outils personnalisés (Run-Time) : Un framework robuste pour construire des outils IA spécialisés et hautement sécurisés pour vos agents de production. Définissez des requêtes structurées, une recherche sémantique et des capacités NL2SQL de manière sûre et facile.

Ce README fournit un bref aperçu. Pour des détails complets, consultez la documentation complète.

[!IMPORTANT] Mise à jour du nom du dépôt : Le dépôt genai-toolbox a été officiellement renommé mcp-toolbox. Pour vous assurer que votre environnement local reflète le nouveau nom, vous pouvez mettre à jour votre remote : git remote set-url origin https://github.com/googleapis/mcp-toolbox.git

[!NOTE] Cette solution s'appelait à l'origine « Gen AI Toolbox for Databases » (github.com/googleapis/genai-toolbox) car son développement initial est antérieur à MCP, mais elle a été renommée pour s'aligner sur la compatibilité MCP.

Table des matières


Pourquoi MCP Toolbox ?

  • Accès aux bases de données prêt à l'emploi : Outils génériques préconstruits pour l'exploration instantanée des données (par exemple, list_tables, execute_sql) directement depuis votre IDE ou CLI.
  • Framework d'outils personnalisés : Construisez des outils prêts pour la production avec votre propre logique prédéfinie, garantissant la sécurité grâce à l'accès restreint, aux requêtes structurées et à la recherche sémantique.
  • Développement simplifié : Intégrez des outils dans votre Agent Development Kit (ADK), LangChain, LlamaIndex ou des agents personnalisés en moins de 10 lignes de code.
  • Meilleure performance : Gère le regroupement de connexions, l'authentification intégrée (IAM) et l'observabilité de bout en bout (OpenTelemetry) prêts à l'emploi.
  • Sécurité renforcée : Authentification intégrée pour un accès plus sécurisé à vos données.
  • Observabilité de bout en bout : Métriques et traçage prêts à l'emploi avec prise en charge intégrée d'OpenTelemetry.

Démarrage rapide : Outils préconstruits

Arrêtez de changer de contexte et laissez votre assistant IA devenir un véritable co-développeur. En connectant votre IDE à vos bases de données avec MCP Toolbox, vous pouvez interroger vos données en langage naturel, automatiser la découverte et la gestion des schémas, et générer du code adapté à la base de données.

Vous pouvez utiliser la Toolbox dans n'importe quel IDE ou client compatible MCP (par exemple, Gemini CLI, Google Antigravity, Claude Code, Codex, etc.) en configurant le serveur MCP.

Les outils préconstruits sont également disponibles via le Google Antigravity MCP Store avec une simple expérience d'installation en un clic.

  1. Ajoutez ce qui suit au fichier de configuration MCP de votre client (généralement mcp.json ou claude_desktop_config.json) :

    {
      "mcpServers": {
        "toolbox-postgres": {
          "command": "npx",
          "args": [
            "-y",
            "@toolbox-sdk/server",
            "--prebuilt=postgres",
            "--stdio"
          ]
        }
      }
    }
    
  2. Définissez les variables d'environnement appropriées pour vous connecter, consultez la Référence des outils préconstruits.

Lorsque vous exécutez Toolbox avec un indicateur --prebuilt=<database>, vous obtenez instantanément accès aux outils standard pour interagir avec cette base de données. Vous pouvez également spécifier un ensemble d'outils spécifique en utilisant la syntaxe --prebuilt=<database>/<toolset> (par exemple, --prebuilt=postgres/data pour charger uniquement les outils SQL).

Les bases de données actuellement prises en charge incluent :

  • Google Cloud : AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (anciennement Dataplex).
  • Autres bases de données : PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino, et plus encore.

Pour une liste complète des outils disponibles et de leurs capacités sur toutes les bases de données prises en charge, consultez la Référence des outils préconstruits.

Consultez la section Installer et exécuter le serveur Toolbox pour différentes méthodes d'exécution comme Docker ou les binaires.

[!TIP] Pour les utilisateurs recherchant une solution gérée, Google Cloud MCP Servers offrent une expérience MCP gérée avec des outils préconstruits ; vous pouvez en savoir plus sur les différences ici.


Démarrage rapide : Outils personnalisés

Toolbox peut également être utilisée comme framework pour des outils personnalisés. La principale façon de configurer Toolbox est via le fichier tools.yaml. Si vous avez plusieurs fichiers, vous pouvez indiquer à Toolbox lequel charger avec l'indicateur --config tools.yaml.

Vous pouvez trouver une documentation de référence plus détaillée pour tous les types de ressources dans les Ressources.

Sources

La section sources de votre tools.yaml définit les sources de données auxquelles votre Toolbox doit avoir accès. La plupart des outils auront au moins une source sur laquelle s'exécuter.

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

Pour plus de détails sur la configuration de différents types de sources, consultez les Sources.

Outils

La section tools d'un tools.yaml définit les actions qu'un agent peut entreprendre : quel type d'outil c'est, quelle(s) source(s) il affecte, quels paramètres il utilise, etc.

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

Pour plus de détails sur la configuration de différents types d'outils, consultez les Outils.

Ensembles d'outils

La section toolsets de votre tools.yaml vous permet de définir des groupes d'outils que vous souhaitez pouvoir charger ensemble. Cela peut être utile pour définir différents groupes en fonction de l'agent ou de l'application.

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

La section prompts d'un tools.yaml définit les prompts qui peuvent être utilisés pour les interactions avec les 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"

Pour plus de détails sur la configuration des prompts, consultez les Prompts.


Installer et exécuter le serveur Toolbox

Vous pouvez exécuter Toolbox directement avec un fichier de configuration :

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

Cela exécute la dernière version du serveur Toolbox avec votre fichier de configuration.

[!NOTE] Cette méthode est optimisée pour la commodité plutôt que pour la performance. Pour une installation plus standard et fiable, veuillez utiliser le binaire ou l'image conteneur comme décrit dans Installer et exécuter le serveur Toolbox.

Installer Toolbox

Pour la dernière version, consultez la page des releases et utilisez les instructions suivantes pour votre OS et votre architecture CPU.

Binaire

Pour installer Toolbox en tant que binaire :

Linux (AMD64)

Pour installer Toolbox en tant que binaire sur Linux (AMD64) :

# voir la page des releases pour d'autres versions
export VERSION=1.5.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
macOS (Apple Silicon)

Pour installer Toolbox en tant que binaire sur macOS (Apple Silicon) :

# voir la page des releases pour d'autres versions
export VERSION=1.5.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox
chmod +x toolbox
macOS (Intel)

Pour installer Toolbox en tant que binaire sur macOS (Intel) :

# voir la page des releases pour d'autres versions
export VERSION=1.5.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
Windows (Invite de commandes)

Pour installer Toolbox en tant que binaire sur Windows (Invite de commandes) :

:: voir la page des releases pour d'autres versions
set VERSION=1.5.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"
Windows (PowerShell)

Pour installer Toolbox en tant que binaire sur Windows (PowerShell) :

# voir la page des releases pour d'autres versions
$VERSION = "1.5.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
Windows ARM64 (Invite de commandes)

Pour installer Toolbox en tant que binaire sur Windows ARM64 (Invite de commandes) :

:: voir la page des releases pour d'autres versions
set VERSION=1.5.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"
Windows ARM64 (PowerShell)

Pour installer Toolbox en tant que binaire sur Windows ARM64 (PowerShell) :

# voir la page des releases pour d'autres versions
$VERSION = "1.5.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Image conteneur Vous pouvez également installer Toolbox en tant que conteneur :
# see releases page for other versions
export VERSION=1.5.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew

Pour installer Toolbox en utilisant Homebrew sur macOS ou Linux :

brew install mcp-toolbox
Compiler depuis la source

Pour installer depuis la source, assurez-vous d'avoir la dernière version de Go installée, puis exécutez la commande suivante :

go install github.com/googleapis/[email protected]
Gemini CLI Consultez les [extensions Gemini CLI](https://geminicli.com/extensions/) pour installer des outils préconstruits pour des bases de données spécifiques comme AlloyDB, BigQuery et Cloud SQL directement dans 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

Interagissez avec vos outils personnalisés en utilisant le langage naturel via Gemini CLI.

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

Exécuter Toolbox

Configurez un tools.yaml pour définir vos outils, puis exécutez toolbox pour démarrer le serveur :

Binaire

Pour exécuter Toolbox à partir du binaire :

./toolbox --config "tools.yaml"

ⓘ Remarque Toolbox active le rechargement dynamique par défaut. Pour le désactiver, utilisez l'indicateur --disable-reload.

Image conteneur

Pour exécuter le serveur après avoir récupéré l'image conteneur :

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"

ⓘ Remarque L'indicateur -v monte votre tools.yaml local dans le conteneur, et -p mappe le port 5000 du conteneur vers le port 5000 de votre hôte.

Source

Pour exécuter le serveur directement depuis la source, naviguez vers le répertoire racine du projet et exécutez :

go run .

ⓘ Remarque Cette commande exécute le projet depuis la source, et est plus adaptée au développement et aux tests. Elle ne compile pas de binaire dans votre $GOPATH. Si vous voulez compiler un binaire à la place, référez-vous à la Documentation Développeur.

Homebrew

Si vous avez installé Toolbox en utilisant Homebrew, le binaire toolbox est disponible dans votre chemin système. Vous pouvez démarrer le serveur avec la même commande :

toolbox --config "tools.yaml"
NPM Pour exécuter Toolbox directement sans télécharger manuellement le binaire (nécessite Node.js) : ```sh npx @toolbox-sdk/server --config tools.yaml ```
Gemini CLI Après avoir installé une [extension Gemini CLI](https://geminicli.com/extensions/), les outils précompilés seront disponibles lors de l'utilisation.
# Run Gemini CLI
gemini

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

Vous pouvez utiliser toolbox help pour obtenir la liste complète des options ! Pour arrêter le serveur, envoyez un signal de terminaison (ctrl+c sur la plupart des plateformes).

Pour une documentation plus détaillée sur le déploiement dans différents environnements, consultez les ressources dans la https://mcp-toolbox.dev/documentation/deploy-to/


Se connecter à Toolbox

Une fois votre serveur Toolbox opérationnel, vous pouvez charger les outils dans votre client ou application compatible MCP.

Client MCP

Ajoutez la configuration suivante à la configuration de votre client MCP :

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

Si vous souhaitez vous connecter à un ensemble d'outils spécifique, remplacez l'URL par "http://127.0.0.1:5000/mcp/{toolset_name}".

SDK Toolbox : Intégration avec votre application

Les SDK Client Toolbox fournissent des blocs de construction faciles à utiliser et des fonctionnalités avancées pour connecter vos applications personnalisées au serveur MCP Toolbox. Consultez ci-dessous la liste des SDK Client pour l'utilisation de divers frameworks :

Python (Github)
Core
  1. Installez le SDK Toolbox Core :

    pip install toolbox-core
    
  2. Chargez les outils :

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

Pour des instructions plus détaillées sur l'utilisation du SDK Toolbox Core, consultez le README du projet.

LangChain / LangGraph
  1. Installez le SDK Toolbox LangChain :

    pip install toolbox-langchain
    
  2. Chargez les outils :

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

    Pour des instructions plus détaillées sur l'utilisation du SDK Toolbox LangChain, consultez le README du projet.

LlamaIndex
  1. Installez le SDK Toolbox Llamaindex :

    pip install toolbox-llamaindex
    
  2. Chargez les outils :

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

    Pour des instructions plus détaillées sur l'utilisation du SDK Toolbox Llamaindex, consultez le README du projet.

Javascript/Typescript (Github)
Core
  1. Installez le SDK Toolbox Core :

    npm install @toolbox-sdk/core
    
  2. Chargez les outils :

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

    Pour des instructions plus détaillées sur l'utilisation du SDK Toolbox Core, consultez le README du projet.

LangChain / LangGraph
  1. Installez le SDK Toolbox Core :

    npm install @toolbox-sdk/core
    
  2. Chargez les outils :

    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. Installez le SDK Toolbox Core :

    npm install @toolbox-sdk/core
    
  2. Chargez les outils :

    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. Installez le SDK Toolbox ADK :

    npm install @toolbox-sdk/adk
    
  2. Chargez les outils :

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

    Pour des instructions plus détaillées sur l'utilisation du SDK Toolbox ADK, consultez le README du projet.

Go (Github)
Core
  1. Installez le SDK Toolbox Go :

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Chargez les outils :

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

    Pour des instructions plus détaillées sur l'utilisation du SDK Toolbox Go, consultez le README du projet.

LangChain Go
  1. Installez le SDK Toolbox Go :

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Chargez les outils :

    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. Installez le SDK Toolbox Go :

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Chargez les outils :

    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. Installez le SDK Toolbox Go :

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Chargez les outils :

    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. Installez le SDK Toolbox Go :

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Chargez les outils :

    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. Installez le SDK Toolbox Go :

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Chargez les outils :

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

    Pour des instructions plus détaillées sur l'utilisation du SDK Toolbox Go, consultez le README du projet.


Fonctionnalités supplémentaires

Tester les outils avec l'interface utilisateur Toolbox

Pour lancer l'interface utilisateur interactive de Toolbox, utilisez l'option --ui. Cela vous permet de tester les outils et les ensembles d'outils avec des fonctionnalités telles que les paramètres autorisés. Pour en savoir plus, consultez l'interface utilisateur Toolbox.

./toolbox --ui

Télémétrie

Toolbox émet des traces et des métriques via OpenTelemetry. Utilisez --telemetry-otlp=<endpoint> pour exporter vers n'importe quel backend compatible OTLP comme Google Cloud Monitoring, Agnost AI, ou d'autres. Consultez la documentation sur la télémétrie pour plus de détails.

Générer des compétences d'agent

La commande skills-generate vous permet de convertir un ensemble d'outils en une compétence d'agent compatible avec la spécification Agent Skill. Ceci est utile pour distribuer des outils sous forme de packages de compétences portables.

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

Une fois générée, vous pouvez installer la compétence dans le Gemini CLI :

gemini skills install ./skills/my-skill

Pour plus de détails, consultez le guide Générer des compétences d'agent.


Gestion des versions

MCP Toolbox for Databases suit la gestion sémantique de version.

L'API publique comprend le serveur Toolbox (CLI, manifestes de configuration et ensembles d'outils précompilés) et les SDK Client.

  • Les versions majeures sont incrémentées pour les changements incompatibles, tels que des modifications incompatibles de la CLI ou du manifeste.
  • Les versions mineures sont incrémentées pour les nouvelles fonctionnalités, y compris les modifications des ensembles d'outils précompilés ou les fonctionnalités bêta.
  • Les versions de correctif sont incrémentées pour les corrections de bogues rétrocompatibles.

Pour plus de détails, consultez notre Politique de versionnement complète.


Contribuer

Les contributions sont les bienvenues. Veuillez consulter le guide CONTRIBUTING pour commencer.

Pour les détails techniques sur la configuration d'un environnement de développement pour Toolbox lui-même, consultez le guide DEVELOPER.

Veuillez noter que ce projet est publié avec un Code de Conduite des Contributeurs. En participant à ce projet, vous acceptez de respecter ses conditions. Voir le Code de Conduite des Contributeurs pour plus d'informations.


Communauté

Rejoignez notre communauté Discord pour échanger avec nos développeurs !