Home
Login
googleapis/genai-toolbox

MCP 데이터베이스 툴박스는 데이터베이스 툴 개발을 간소화하고 연결 풀, 인증 등의 기능을 제공하는 오픈 소스 MCP 서버입니다.

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

Genai-toolbox 프로젝트 소개

프로젝트 개요

**MCP 데이터베이스 툴박스(MCP Toolbox for Databases)**는 Google에서 오픈 소스로 제공하는 데이터베이스 서버 도구로, Gen AI 도구 개발을 간소화하기 위해 설계되었습니다. 이 프로젝트를 통해 개발자는 데이터베이스 데이터에 액세스할 수 있는 AI 에이전트 도구를 더 쉽고, 빠르고, 안전하게 구축할 수 있습니다.

프로젝트 주소: https://github.com/googleapis/genai-toolbox

핵심 기능 및 특징

1. 개발 프로세스 간소화

  • 빠른 통합: 10줄 미만의 코드로 도구를 에이전트에 통합 가능
  • 도구 재사용: 여러 에이전트 또는 프레임워크 간에 도구 재사용 지원
  • 간편한 배포: 도구의 새 버전을 더 쉽게 배포

2. 성능 최적화

  • 연결 풀 관리: 내장된 연결 풀 메커니즘으로 데이터베이스 연결 성능 최적화
  • 모범 사례: 데이터베이스 액세스 모범 사례 통합
  • 효율적인 처리: 최적화된 데이터 처리 및 쿼리 실행

3. 보안 강화

  • 통합 인증: 더 안전한 데이터 액세스 메커니즘 제공
  • 보안 연결: 데이터베이스 연결 보안 보장
  • 권한 제어: 세분화된 액세스 제어 지원

4. 엔드 투 엔드 가시성

  • 내장 모니터링: 즉시 사용 가능한 지표 및 추적 기능 제공
  • OpenTelemetry 지원: 내장된 OpenTelemetry 지원으로 모니터링 및 디버깅 용이
  • 전체 링크 추적: 전체 요청 링크 추적 지원

아키텍처 설계

툴박스는 애플리케이션의 오케스트레이션 프레임워크와 데이터베이스 사이에 위치하여 도구를 수정, 배포 또는 호출하기 위한 제어 평면을 제공합니다. 도구를 저장하고 업데이트할 수 있는 중앙 위치를 제공하여 도구 관리를 간소화하고, 에이전트와 애플리케이션 간에 도구를 공유할 수 있도록 하며, 애플리케이션을 다시 배포하지 않고도 이러한 도구를 업데이트할 수 있습니다.

설치 방법

바이너리 설치

# 릴리스 페이지에서 다른 버전 확인
export VERSION=0.4.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

컨테이너 이미지

# 릴리스 페이지에서 다른 버전 확인
export VERSION=0.4.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION

소스 코드 컴파일

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

사용 방법

기본 사용 흐름

  1. tools.yaml 파일 구성: 도구 정의
  2. 서버 시작:
    ./toolbox --tools_file "tools.yaml"
    
  3. 애플리케이션에 도구 로드: 해당 SDK 사용

지원되는 클라이언트 SDK

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

구성 설명

데이터 소스 구성

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

도구 구성

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

도구 세트 구성

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

버전 관리

  • MAJOR 버전: 호환되지 않는 API 변경
  • MINOR 버전: 하위 호환되는 기능 추가
  • PATCH 버전: 하위 호환되는 버그 수정

적용 시나리오

  • AI 에이전트 개발: AI 에이전트를 위한 데이터베이스 액세스 도구 구축
  • 데이터 통합: 애플리케이션과 데이터베이스의 통합 간소화
  • 도구 관리: 데이터베이스 도구의 중앙 집중식 관리 및 배포
  • 다중 프레임워크 지원: 다양한 AI 프레임워크 간에 도구 공유

프로젝트 장점

  1. 오픈 소스 무료: 완전한 오픈 소스, Google에서 유지 관리
  2. 성숙하고 안정적: Google의 모범 사례 기반
  3. 생태계 호환성: 주요 AI 프레임워크 지원
  4. 쉬운 확장: 유연한 구성 및 확장 메커니즘
  5. 엔터프라이즈급: 엔터프라이즈급 보안 및 가시성 제공

요약

MCP 데이터베이스 툴박스는 강력하고 사용하기 쉬운 오픈 소스 프로젝트로, 최신 AI 애플리케이션의 데이터베이스 통합 요구 사항을 위해 설계되었습니다. 간소화된 개발 경험, 최적화된 성능, 강화된 보안 및 포괄적인 가시성을 제공하여 개발자가 안정적인 AI 데이터베이스 도구를 빠르게 구축할 수 있도록 지원합니다.

AI 에이전트를 개발하든, 데이터 기반 애플리케이션을 구축하든, 여러 프레임워크 간에 데이터베이스 도구를 공유해야 하든, MCP 데이터베이스 툴박스는 고려해 볼 가치가 있는 솔루션입니다. 유연한 아키텍처 설계와 풍부한 SDK 지원을 통해 다양한 개발 시나리오와 요구 사항에 잘 적응할 수 있습니다.