MCP Toolbox for Databases

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables integration with LangChain framework, allowing agents to leverage database tools and execute queries through the MCP Toolbox server.

  • Provides compatibility with LangGraph for building agent workflows that can access and manipulate database data using the tools defined in the MCP server.

  • Offers built-in support for OpenTelemetry, enabling end-to-end observability with metrics and tracing for database operations performed through the MCP server.

Caja de herramientas MCP para bases de datos

[!NOTA] MCP Toolbox for Databases se encuentra actualmente en versión beta y puede sufrir cambios importantes hasta el primer lanzamiento estable (v1.0).

MCP Toolbox for Databases es un servidor MCP de código abierto para bases de datos. Diseñado con calidad empresarial y de producción, permite desarrollar herramientas de forma más sencilla, rápida y segura, gestionando complejidades como la agrupación de conexiones, la autenticación y más.

Este archivo README ofrece una breve descripción general. Para obtener más información, consulte la documentación completa .

[!NOTA] Este producto originalmente se llamó “Gen AI Toolbox for Databases” ya que su desarrollo inicial fue anterior a MCP, pero se le cambió el nombre para alinearse con la compatibilidad con MCP agregada recientemente.

Tabla de contenido

¿Por qué Toolbox?

Toolbox te ayuda a crear herramientas de inteligencia artificial que permiten a tus agentes acceder a los datos de tu base de datos. Toolbox ofrece:

  • Desarrollo simplificado : integre herramientas a su agente en menos de 10 líneas de código, reutilice herramientas entre múltiples agentes o marcos e implemente nuevas versiones de herramientas más fácilmente.
  • Mejor rendimiento : mejores prácticas como agrupación de conexiones, autenticación y más.
  • Seguridad mejorada : autenticación integrada para un acceso más seguro a sus datos
  • Observabilidad de extremo a extremo : métricas y seguimiento listos para usar con soporte integrado para OpenTelemetry.

Arquitectura general

Toolbox se ubica entre el marco de orquestación de su aplicación y su base de datos, proporcionando un plano de control para modificar, distribuir o invocar herramientas. Simplifica la gestión de sus herramientas al proporcionar una ubicación centralizada para almacenarlas y actualizarlas, lo que le permite compartirlas entre agentes y aplicaciones y actualizarlas sin tener que volver a implementar la aplicación.

Empezando

Instalación del servidor

Para obtener la última versión, consulte la página de lanzamientos y utilice las siguientes instrucciones para su sistema operativo y arquitectura de CPU.

Para instalar Toolbox como binario:

# see releases page for other versions export VERSION=0.3.0 curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox chmod +x toolbox
# see releases page for other versions export VERSION=0.3.0 docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION

Para instalar desde la fuente, asegúrese de tener instalada la última versión de Go y luego ejecute el siguiente comando:

go install github.com/googleapis/genai-toolbox@v0.3.0

Ejecutando el servidor

Configure un tools.yaml para definir sus herramientas y luego ejecute toolbox para iniciar el servidor:

./toolbox --tools_file "tools.yaml"

Puedes usar toolbox help para obtener una lista completa de indicadores. Para detener el servidor, envía una señal de terminación ( ctrl+c en la mayoría de las plataformas).

Para obtener documentación más detallada sobre la implementación en diferentes entornos, consulte los recursos en la sección Cómo hacerlo.

Integrando su aplicación

Una vez que su servidor esté en funcionamiento, puede cargar las herramientas en su aplicación. Consulte a continuación la lista de SDK de cliente para usar varios frameworks:

  1. Instalar el SDK de Toolbox Core :
    pip install toolbox-core
  2. Cargar herramientas:
    from toolbox_core import ToolboxClient # update the url to point to your server client = ToolboxClient("http://127.0.0.1:5000") # these tools can be passed to your application! tools = await client.load_toolset("toolset_name")

Para obtener instrucciones más detalladas sobre el uso del SDK de Toolbox Core, consulte el archivo README del proyecto .

  1. Instalar Toolbox LangChain SDK :
    pip install toolbox-langchain
  2. Cargar herramientas:
    from toolbox_langchain import ToolboxClient # update the url to point to your server client = ToolboxClient("http://127.0.0.1:5000") # these tools can be passed to your application! tools = client.load_toolset()

Para obtener instrucciones más detalladas sobre el uso del SDK Toolbox LangChain, consulte el archivo README del proyecto .

  1. Instalar el SDK de Toolbox Llamaindex :
    pip install toolbox-llamaindex
  2. Cargar herramientas:
    from toolbox_llamaindex import ToolboxClient # update the url to point to your server client = ToolboxClient("http://127.0.0.1:5000") # these tools can be passed to your application! tools = client.load_toolset()

Para obtener instrucciones más detalladas sobre el uso del SDK de Toolbox Llamaindex, consulte el archivo README del proyecto .

Configuración

La forma principal de configurar Toolbox es mediante el archivo tools.yaml . Si tiene varios archivos, puede indicarle a Toolbox cuál cargar con el indicador --tools_file tools.yaml .

Puede encontrar documentación de referencia más detallada sobre todos los tipos de recursos en Recursos .

Fuentes

La sección sources de tu tools.yaml define a qué fuentes de datos debe acceder tu Toolbox. La mayoría de las herramientas tendrán al menos una fuente para ejecutarse.

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

Para obtener más detalles sobre la configuración de diferentes tipos de fuentes, consulte Fuentes .

Herramientas

La sección tools de un tools.yaml define las acciones que puede realizar un agente: qué tipo de herramienta es, a qué fuente(s) afecta, qué parámetros utiliza, etc.

tools: search-hotels-by-name: kind: 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 || '%';

Para obtener más detalles sobre la configuración de diferentes tipos de herramientas, consulte Herramientas .

Conjuntos de herramientas

La sección de conjuntos de toolsets de tools.yaml permite definir grupos de herramientas que se pueden cargar juntas. Esto puede ser útil para definir diferentes grupos según el agente o la aplicación.

toolsets: my_first_toolset: - my_first_tool - my_second_tool my_second_toolset: - my_second_tool - my_third_tool

Puede cargar conjuntos de herramientas por nombre:

# This will load all tools all_tools = client.load_toolset() # This will only load the tools listed in 'my_second_toolset' my_second_toolset = client.load_toolset("my_second_toolset")

Control de versiones

Este proyecto utiliza control de versiones semántico , incluido un número de versión MAJOR.MINOR.PATCH que incrementa con:

  • Versión PRINCIPAL cuando realizamos cambios de API incompatibles
  • Versión MENOR cuando agregamos funcionalidad de manera compatible con versiones anteriores
  • Versión PATCH cuando hagamos correcciones de errores compatibles con versiones anteriores

La API pública a la que se aplica esto es la CLI asociada con Toolbox, las interacciones con los SDK oficiales y las definiciones en el archivo tools.yaml .

Contribuyendo

Se agradecen las contribuciones. Para empezar, consulta la sección "CONTRIBUYENDO" .

Tenga en cuenta que este proyecto se publica con un Código de Conducta del Colaborador. Al participar en este proyecto, acepta cumplir con sus términos. Consulte el Código de Conducta del Colaborador para obtener más información.

-
security - not tested
A
license - permissive license
-
quality - not tested

Servidor MCP de código abierto especializado en herramientas fáciles, rápidas y seguras para bases de datos.

  1. Table of Contents
    1. Why Toolbox?
      1. General Architecture
        1. Getting Started
          1. Installing the server
          2. Running the server
          3. Integrating your application
        2. Configuration
          1. Sources
          2. Tools
          3. Toolsets
        3. Versioning
          1. Contributing
            ID: edji1s31y4