MCP Toolbox for Databases
officielServeur MCP open source spécialisé dans des outils faciles, rapides et sécurisés pour les bases de données.
Que pouvez-vous faire avec Toolbox For Databases MCP ?
- Explorer les schémas de base de données — Demandez à votre assistant IA de répertorier les tables et d’examiner les détails des schémas à l’aide de l’outil prédéfini
list_tables. - Exécuter des requêtes SQL — Interrogez vos données en langage courant dans les bases de données prises en charge à l’aide de l’outil prédéfini
execute_sql. - Se connecter via des clients MCP — Configurez le serveur dans
mcp.jsonouclaude_desktop_config.jsonpour l’utiliser depuis Gemini CLI, Claude Code, Codex ou d’autres clients MCP. - Définir des outils personnalisés — Créez des outils SQL structurés et paramétrés dans un fichier
tools.yamlafin d’exposer en toute sécurité des requêtes spécifiques aux agents. - Regrouper les outils en ensembles d’outils — Organisez les outils associés en ensembles d’outils et chargez-les ensemble pour un agent ou une application spécifique.
Documentation
MCP Toolbox for Databases est un serveur open source Model Context Protocol (MCP) qui connecte directement vos agents IA, IDE et applications à vos bases de données d’entreprise.
Il remplit un double rôle :
- Serveur MCP prêt à l’emploi (à la compilation) : Connectez instantanément Gemini CLI, Google Antigravity, Claude Code, Codex ou d’autres clients MCP à vos bases de données grâce à nos outils génériques préconstruits. Interagissez avec vos données, explorez les schémas et générez du code sans écrire de code passe-partout.
- Framework d’outils personnalisés (à l’exécution) : Un framework robuste pour créer des outils d’IA spécialisés et hautement sécurisés pour vos agents de production. Définissez facilement et en toute sécurité des requêtes structurées, la recherche sémantique et des fonctionnalités NL2SQL.
Ce fichier README fournit une brève présentation. Pour des informations complètes, consultez la documentation complète.
[!IMPORTANT]
Mise à jour du nom du dépôt : Le dépôtgenai-toolboxa été officiellement renommémcp-toolbox. Pour que votre environnement local reflète le nouveau nom, vous pouvez mettre à jour votre dépôt distant :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 a précédé MCP. Elle a été renommée pour refléter sa compatibilité avec MCP.
Table des matières
- Pourquoi MCP Toolbox ?
- Démarrage rapide : outils préconstruits
- Démarrage rapide : outils personnalisés
- Installer et exécuter le serveur Toolbox
- Se connecter à Toolbox
- Fonctionnalités supplémentaires
- Gestion des versions
- Contribuer
- Communauté
Pourquoi MCP Toolbox ?
- Accès aux bases de données prêt à l’emploi : Des outils génériques préconstruits pour explorer instantanément les données (par exemple,
list_tables,execute_sql) directement depuis votre IDE ou votre CLI. - Framework d’outils personnalisés : Créez des outils prêts pour la production avec votre propre logique prédéfinie, en 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 à votre Agent Development Kit (ADK), LangChain, LlamaIndex ou à vos agents personnalisés en moins de 10 lignes de code.
- Performances améliorées : La gestion du pool de connexions, l’authentification intégrée (IAM) et l’observabilité de bout en bout (OpenTelemetry) sont disponibles d’emblée.
- Sécurité renforcée : Authentification intégrée pour accéder à vos données de manière plus sécurisée.
- Observabilité de bout en bout : Métriques et traces disponibles d’emblée, avec prise en charge intégrée d’OpenTelemetry.
Démarrage rapide : outils préconstruits
Évitez de passer d’un contexte à l’autre et faites de votre assistant IA un véritable partenaire de développement. En connectant votre IDE à vos bases de données avec MCP Toolbox, vous pouvez interroger vos données en langage courant, automatiser la découverte et la gestion des schémas, et générer du code tenant compte de la base de données.
Vous pouvez utiliser Toolbox dans n’importe quel IDE ou client compatible avec MCP (par exemple, Gemini CLI, Google Antigravity, Claude Code, Codex, etc.) en configurant le serveur MCP.
Les outils préconstruits sont également disponibles dans le Google Antigravity MCP Store, où leur installation se fait en un clic.
-
Ajoutez ce qui suit au fichier de configuration MCP de votre client (généralement
mcp.jsonouclaude_desktop_config.json) :{ "mcpServers": { "toolbox-postgres": { "command": "npx", "args": [ "-y", "@toolbox-sdk/server", "--prebuilt=postgres", "--stdio" ] } } } -
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 l’option --prebuilt=<database>, vous accédez instantanément aux outils standard permettant d’interagir avec cette base de données. Vous pouvez également spécifier un ensemble d’outils particulier à l’aide de 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 sont les suivantes :
- 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 bien d’autres.
Pour obtenir la liste complète des outils disponibles et de leurs fonctionnalités pour 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 découvrir différentes méthodes d’exécution, comme Docker ou les binaires.
[!TIP] Pour les utilisateurs qui recherchent une solution gérée, les serveurs MCP Google Cloud offrent une expérience MCP gérée avec des outils préconstruits ; découvrez ici les différences.
Démarrage rapide : outils personnalisés
Toolbox peut également servir de framework pour créer des outils personnalisés.
La principale méthode de configuration de Toolbox consiste à utiliser le fichier tools.yaml. Si vous
disposez de plusieurs fichiers, vous pouvez indiquer à Toolbox lequel charger avec l’option --config tools.yaml.
Vous trouverez une documentation de référence plus détaillée sur tous les types de ressources dans la section Resources.
Sources
La section sources de votre fichier tools.yaml définit les sources de données auxquelles
Toolbox doit avoir accès. La plupart des outils ont besoin d’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 en savoir plus sur la configuration des différents types de sources, consultez la section Sources.
Outils
La section tools d’un fichier tools.yaml définit les actions qu’un agent peut effectuer : le
type d’outil, les sources concernées, les paramètres utilisés, 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 en savoir plus sur la configuration des différents types d’outils, consultez la section Tools.
Ensembles d’outils
La section toolsets de votre fichier 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 selon l’agent ou 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 fichier tools.yaml définit les prompts utilisables pour
interagir 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 en savoir plus sur la configuration des prompts, consultez la section Prompts.
Ressources
Les sections resources et resourceTemplates de votre fichier tools.yaml définissent du contenu en lecture seule,
des fichiers ou des arborescences de répertoires paramétrées que les clients MCP peuvent découvrir et récupérer :
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"
Pour en savoir plus sur la configuration des ressources et des modèles de ressources, consultez la section Resources.
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
Cette commande exécute la dernière version du serveur Toolbox avec votre fichier de configuration.
[!NOTE] Cette méthode privilégie la simplicité d’utilisation plutôt que les performances. Pour une installation plus standard et fiable, utilisez le binaire ou l’image de conteneur, comme indiqué dans la section Installer et exécuter le serveur Toolbox.
Installer Toolbox
Pour obtenir la dernière version, consultez la page des versions et suivez les instructions correspondant à votre système d’exploitation et à l’architecture de votre processeur.
Binaire
Pour installer Toolbox sous forme de binaire :
Linux (AMD64)
Pour installer Toolbox sous forme de binaire sous Linux (AMD64) :
# see releases page for other versions export VERSION=1.16.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox chmod +x toolboxmacOS (Apple Silicon)
Pour installer Toolbox sous forme de binaire sous macOS (Apple Silicon) :
# see releases page for other versions export VERSION=1.16.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox chmod +x toolboxmacOS (Intel)
Pour installer Toolbox sous forme de binaire sous macOS (Intel) :
# see releases page for other versions export VERSION=1.16.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox chmod +x toolboxWindows (Invite de commandes)
Pour installer Toolbox sous forme de binaire sous Windows (Invite de commandes) :
:: see releases page for other versions 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)
Pour installer Toolbox sous forme de binaire sous Windows (PowerShell) :
# see releases page for other versions $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 (Invite de commandes)
Pour installer Toolbox sous forme de binaire sous Windows ARM64 (Invite de commandes) :
:: see releases page for other versions 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)
Pour installer Toolbox sous forme de binaire sous Windows ARM64 (PowerShell) :
# see releases page for other versions $VERSION = "1.16.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Image de conteneur
Vous pouvez également installer Toolbox sous forme de conteneur :# see releases page for other versions
export VERSION=1.16.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew
Pour installer Toolbox avec Homebrew sous macOS ou Linux :
brew install mcp-toolbox
Compiler à partir des sources
Pour installer à partir des sources, assurez-vous d’avoir la dernière version de Go installé, puis exécutez la commande suivante :
go install github.com/googleapis/mcp-toolbox@v1.16.0
Gemini CLI
Consultez les [extensions Gemini CLI](https://geminicli.com/extensions/) pour installer directement dans Gemini CLI des outils préconstruits pour des bases de données spécifiques, comme AlloyDB, BigQuery et Cloud SQL.# 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 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’option
--disable-reload.
Image de conteneur
Pour exécuter le serveur après avoir récupéré l’image de 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’option
-vmonte votre fichiertools.yamllocal dans le conteneur, et-passocie le port5000du conteneur au port5000de votre hôte.
Sources
Pour exécuter le serveur directement à partir des sources, accédez au répertoire racine du projet et exécutez :
go run .
ⓘ Remarque Cette commande exécute le projet à partir des sources et convient mieux au développement et aux tests. Elle ne compile pas de binaire dans votre
$GOPATH. Pour compiler un binaire, consultez la documentation destinée aux développeurs.
Homebrew
Si vous avez installé Toolbox avec Homebrew, le binaire toolbox
est disponible dans le 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 (Node.js requis) :
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 pendant 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 d’arrêt (ctrl+c sur la plupart des plateformes).
Pour obtenir une documentation plus détaillée sur le déploiement dans différents environnements, consultez les ressources de la section Déployer Toolbox
Se connecter à Toolbox
Une fois votre serveur Toolbox démarré, vous pouvez charger des outils dans votre client ou application compatible avec 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 url par "http://127.0.0.1:5000/mcp/{toolset_name}".
SDK Toolbox : intégrer à votre application
Les SDK clients Toolbox fournissent des composants faciles à utiliser et des fonctionnalités avancées pour connecter vos applications personnalisées au serveur MCP Toolbox. Vous trouverez ci-dessous la liste des SDK clients permettant d’utiliser différents frameworks :
Python (Github)
Core
Installez Toolbox Core SDK :
pip install toolbox-coreChargez 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 obtenir des instructions plus détaillées sur l’utilisation de Toolbox Core SDK, consultez le README du projet.
LangChain / LangGraph
Installez Toolbox LangChain SDK :
pip install toolbox-langchainChargez 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 obtenir des instructions plus détaillées sur l’utilisation de Toolbox LangChain SDK, consultez le README du projet.
LlamaIndex
Installez Toolbox Llamaindex SDK :
pip install toolbox-llamaindexChargez 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 obtenir des instructions plus détaillées sur l’utilisation de Toolbox Llamaindex SDK, consultez le README du projet.
Javascript/Typescript (Github)
Core
Installez Toolbox Core SDK :
npm install @toolbox-sdk/coreChargez 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 obtenir des instructions plus détaillées sur l’utilisation de Toolbox Core SDK, consultez le README du projet.
LangChain / LangGraph
Installez Toolbox Core SDK :
npm install @toolbox-sdk/coreChargez 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
Installez Toolbox Core SDK :
npm install @toolbox-sdk/coreChargez 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
Installez Toolbox ADK SDK :
npm install @toolbox-sdk/adkChargez 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 obtenir des instructions plus détaillées sur l’utilisation de Toolbox ADK SDK, consultez le README du projet.
Go (Github)
Core
Installez Toolbox Go SDK :
go get github.com/googleapis/mcp-toolbox-sdk-goChargez 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 obtenir des instructions plus détaillées sur l’utilisation de Toolbox Go SDK, consultez le README du projet.
LangChain Go
Installez Toolbox Go SDK :
go get github.com/googleapis/mcp-toolbox-sdk-goChargez 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, ¶msSchema) // Use this tool with LangChainGo langChainTool := llms.Tool{ Type: "function", Function: &llms.FunctionDefinition{ Name: tool.Name(), Description: tool.Description(), Parameters: paramsSchema, }, } }Genkit
Installez Toolbox Go SDK :
go get github.com/googleapis/mcp-toolbox-sdk-goChargez 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
Installez Toolbox Go SDK :
go get github.com/googleapis/mcp-toolbox-sdk-goChargez 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
Installez Toolbox Go SDK :
go get github.com/googleapis/mcp-toolbox-sdk-goChargez 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, ¶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
Installez Toolbox Go SDK :
go get github.com/googleapis/mcp-toolbox-sdk-goChargez 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 obtenir des instructions plus détaillées sur l’utilisation de Toolbox Go SDK, consultez le README du projet.
Fonctionnalités supplémentaires
Tester les outils avec l’interface utilisateur Toolbox
Pour lancer l’interface interactive de Toolbox, utilisez l’option --ui. Elle 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 avec 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 permet de convertir un ensemble d’outils en une compétence d’agent compatible avec la spécification Agent Skill. Cette fonctionnalité 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 Gemini CLI :
gemini skills install ./skills/my-skill
Pour plus de détails, consultez le guide de génération des compétences. Pour servir via MCP une compétence que vous possédez déjà, consultez Servir des compétences via MCP.
Le dépôt fournit également des compétences d’agent prêtes à l’emploi (par exemple, des workflows de maintenance). Consultez skills/ pour voir le catalogue et les instructions d’installation.
Gestion des versions
MCP Toolbox for Databases suit le versionnage sémantique.
L’API publique comprend le serveur Toolbox (CLI, manifestes de configuration et ensembles d’outils précompilés) ainsi que les SDK clients.
- Les versions majeures sont incrémentées en cas de changements incompatibles, tels que des modifications incompatibles du CLI ou des manifestes.
- 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 correctives sont incrémentées pour les corrections de bogues rétrocompatibles.
Pour plus de détails, notamment sur notre politique de balisage des conteneurs, consultez notre politique complète de gestion des versions.
Contributions
Les contributions sont les bienvenues. Veuillez consulter le guide CONTRIBUTING pour commencer.
Pour obtenir des détails techniques sur la configuration d’un environnement de développement pour Toolbox, consultez le guide DEVELOPER.
Veuillez noter que ce projet est publié avec un code de conduite pour les contributeurs. En participant à ce projet, vous acceptez d’en respecter les conditions. Consultez le code de conduite pour les contributeurs pour plus d’informations.
Communauté
Rejoignez notre communauté Discord pour échanger avec nos développeurs !
