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.
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
- Configure o arquivo tools.yaml: Defina suas ferramentas
- Inicie o servidor:
./toolbox --tools_file "tools.yaml"
- 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
- Código Aberto e Gratuito: Totalmente de código aberto, mantido pelo Google
- Maduro e Estável: Baseado nas melhores práticas do Google
- Compatibilidade com o Ecossistema: Suporta os principais frameworks de IA
- Fácil de Expandir: Configuração flexível e mecanismos de expansão
- 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.