Home
Login
googleapis/genai-toolbox

O MCP Database Toolbox é um servidor MCP de código aberto que simplifica o desenvolvimento de ferramentas de banco de dados, fornecendo pool de conexões, autenticação e outros recursos.

Apache-2.0Go 1.4kgoogleapis Last Updated: 2025-06-12
https://github.com/googleapis/genai-toolbox

Apresentação do Projeto Genai-toolbox

Visão Geral do Projeto

MCP Toolbox for Databases (MCP Toolbox para Bancos de Dados) é uma ferramenta de servidor de banco de dados de código aberto do Google, projetada para simplificar o desenvolvimento de ferramentas Gen AI. O projeto permite que os desenvolvedores construam ferramentas de agente de IA que acessam dados de banco de dados de forma mais fácil, rápida e segura.

Endereço do Projeto: https://github.com/googleapis/genai-toolbox

Principais Funções e Características

1. Simplificação do Fluxo de Desenvolvimento

  • Integração Rápida: Integre a ferramenta em um agente com menos de 10 linhas de código
  • Reutilização de Ferramentas: Suporte para reutilizar ferramentas entre vários agentes ou frameworks
  • Implantação Conveniente: Implante novas versões de ferramentas com mais facilidade

2. Otimização de Desempenho

  • Gerenciamento de Pool de Conexões: Mecanismo de pool de conexões integrado para otimizar o desempenho da conexão com o banco de dados
  • Melhores Práticas: Integração das melhores práticas de acesso ao banco de dados
  • Processamento Eficiente: Processamento de dados e execução de consultas otimizados

3. Segurança Aprimorada

  • Autenticação Integrada: Fornece mecanismos de acesso a dados mais seguros
  • Conexões Seguras: Garante a segurança das conexões com o banco de dados
  • Controle de Permissões: Suporte para controle de acesso granular

4. Observabilidade de Ponta a Ponta

  • Monitoramento Integrado: Fornece métricas e rastreamento prontos para uso
  • Suporte OpenTelemetry: Suporte OpenTelemetry integrado para facilitar o monitoramento e a depuração
  • Rastreamento de Cadeia Completa: Suporte para rastreamento completo da cadeia de requisições

Design da Arquitetura

A caixa de ferramentas está localizada entre o framework de orquestração do aplicativo e o banco de dados, fornecendo um plano de controle para modificar, distribuir ou invocar ferramentas. Ele simplifica o gerenciamento de ferramentas, fornecendo um local centralizado para armazenar e atualizar ferramentas, permite que as ferramentas sejam compartilhadas entre agentes e aplicativos e atualiza essas ferramentas sem precisar reimplantar os aplicativos.

Método de Instalação

Instalação Binária

# Consulte a página de lançamento para obter outras versões
export VERSION=0.4.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

Imagem de Contêiner

# Consulte a página de lançamento para obter outras versões
export VERSION=0.4.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION

Compilação do Código Fonte

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

Método de Uso

Fluxo de Uso Básico

  1. Configure o arquivo tools.yaml: Defina suas ferramentas
  2. Inicie o servidor:
    ./toolbox --tools_file "tools.yaml"
    
  3. Carregue as ferramentas no aplicativo: Use o SDK correspondente

SDKs de Cliente Suportados

Core SDK

from toolbox_core import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = await client.load_toolset("toolset_name")

LangChain/LangGraph SDK

from toolbox_langchain import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = client.load_toolset()

LlamaIndex SDK

from toolbox_llamaindex import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = client.load_toolset()

Descrição da Configuração

Configuração da Fonte de Dados

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

Configuração da Ferramenta

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

Configuração do Conjunto de Ferramentas

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

Controle de Versão

  • Versão MAJOR: Alterações de API incompatíveis
  • Versão MINOR: Adição de recursos compatíveis com versões anteriores
  • Versão PATCH: Correções de bugs compatíveis com versões anteriores

Cenários de Aplicação

  • Desenvolvimento de Agentes de IA: Construir ferramentas de acesso a banco de dados para agentes de IA
  • Integração de Dados: Simplificar a integração de aplicativos com bancos de dados
  • Gerenciamento de Ferramentas: Gerenciar e distribuir ferramentas de banco de dados centralmente
  • Suporte a Múltiplos Frameworks: Compartilhar ferramentas entre diferentes frameworks de IA

Vantagens do Projeto

  1. Código Aberto e Gratuito: Totalmente de código aberto, mantido pelo Google
  2. Maduro e Estável: Baseado nas melhores práticas do Google
  3. Compatibilidade com o Ecossistema: Suporta os principais frameworks de IA
  4. Fácil de Expandir: Configuração flexível e mecanismos de expansão
  5. Nível Empresarial: Fornece segurança e observabilidade de nível empresarial

Conclusão

O MCP Toolbox for Databases é um projeto de código aberto poderoso e fácil de usar, projetado para as necessidades modernas de integração de banco de dados de aplicativos de IA. Ele ajuda os desenvolvedores a construir rapidamente ferramentas de banco de dados de IA confiáveis, fornecendo uma experiência de desenvolvimento simplificada, desempenho otimizado, segurança aprimorada e observabilidade abrangente.

Se você está desenvolvendo agentes de IA, construindo aplicativos orientados a dados ou precisa compartilhar ferramentas de banco de dados entre vários frameworks, o MCP Toolbox for Databases é uma solução que vale a pena considerar. Seu design de arquitetura flexível e rico suporte a SDKs permitem que ele se adapte bem a vários cenários e necessidades de desenvolvimento.