Skip to main content
Glama

MCP Toolbox for Databases

by googleapis

심벌 마크

데이터베이스용 MCP 도구 상자

불화 고 성적표

NOTE

데이터베이스용 MCP 도구 상자는 현재 베타 버전이며, 첫 번째 안정적인 릴리스(v1.0)가 나올 때까지 중요한 변경 사항이 있을 수 있습니다.

MCP Toolbox for Databases는 데이터베이스용 오픈 소스 MCP 서버입니다. 연결 풀링, 인증 등의 복잡한 작업을 처리하여 도구를 더 쉽고, 빠르고, 안전하게 개발할 수 있도록 지원합니다.

이 README는 간략한 개요를 제공합니다. 자세한 내용은 전체 문서를 참조하세요.

NOTE

이 솔루션은 원래 MCP 이전에 개발되었기 때문에 "Gen AI Toolbox for Databases"라는 이름이었으나 최근 추가된 MCP 호환성에 맞춰 이름이 변경되었습니다.

목차

Related MCP server: MySQL MCP Server

왜 툴박스인가?

Toolbox는 상담원이 데이터베이스의 데이터에 접근할 수 있도록 하는 Gen AI 도구를 구축하는 데 도움을 줍니다. Toolbox는 다음과 같은 기능을 제공합니다.

  • 간소화된 개발 : 10줄 미만의 코드로 에이전트에 도구를 통합하고, 여러 에이전트나 프레임워크 간에 도구를 재사용하고, 새로운 버전의 도구를 보다 쉽게 배포합니다.

  • 더 나은 성능 : 연결 풀링, 인증 등의 모범 사례.

  • 강화된 보안 : 데이터에 대한 보다 안전한 액세스를 위한 통합 인증

  • 종단 간 관찰성 : OpenTelemetry에 대한 기본 지원을 통해 즉시 사용 가능한 메트릭과 추적 기능을 제공합니다.

일반 아키텍처

Toolbox는 애플리케이션의 오케스트레이션 프레임워크와 데이터베이스 사이에 위치하여 도구를 수정, 배포 또는 호출하는 데 사용되는 제어 영역을 제공합니다. 도구를 저장하고 업데이트할 수 있는 중앙 집중식 위치를 제공하여 도구 관리를 간소화하고, 에이전트와 애플리케이션 간에 도구를 공유하고 애플리케이션을 다시 배포하지 않고도 도구를 업데이트할 수 있도록 지원합니다.

건축학

시작하기

서버 설치

최신 버전을 확인하려면 릴리스 페이지를 확인하고 OS 및 CPU 아키텍처에 맞는 다음 지침을 따르세요.

Toolbox를 바이너리로 설치하려면:

지엑스피1

# see releases page for other versions export VERSION=0.5.0 docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION

소스에서 설치하려면 최신 버전의 Go가 설치되어 있는지 확인한 후 다음 명령을 실행하세요.

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

서버 실행

tools.yaml 구성하여 도구를 정의한 다음, toolbox 실행하여 서버를 시작합니다.

./toolbox --tools-file "tools.yaml"

전체 플래그 목록은 toolbox help 참조하세요! 서버를 중지하려면 종료 신호를 보내세요(대부분 플랫폼에서 ctrl+c ).

다양한 환경에 배포하는 방법에 대한 자세한 설명서는 방법 섹션 의 리소스를 확인하세요.

애플리케이션 통합

서버가 가동되면 도구를 애플리케이션에 로드할 수 있습니다. 다양한 프레임워크를 사용할 수 있는 클라이언트 SDK 목록은 아래에서 확인하세요.

  1. Toolbox Core SDK 설치:

    pip install toolbox-core
  2. 도구 로드:

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

Toolbox Core SDK 사용에 대한 자세한 지침은 해당 프로젝트의 README를 참조하세요.

  1. Toolbox LangChain SDK 설치:

    pip install toolbox-langchain
  2. 도구 로드:

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

Toolbox LangChain SDK 사용에 대한 자세한 지침은 해당 프로젝트의 README를 참조하세요.

  1. Toolbox Llamaindex SDK 설치:

    pip install toolbox-llamaindex
  2. 도구 로드:

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

Toolbox Llamaindex SDK 사용에 대한 자세한 지침은 해당 프로젝트의 README를 참조하세요.

구성

Toolbox를 구성하는 기본 방법은 tools.yaml 파일을 사용하는 것입니다. 파일이 여러 개인 경우, --tools-file tools.yaml 플래그를 사용하여 Toolbox에 어떤 파일을 로드할지 지정할 수 있습니다.

모든 리소스 유형에 대한 더 자세한 참조 문서는 리소스 에서 찾을 수 있습니다.

출처

tools.yaml 파일의 sources 섹션은 도구 상자가 접근할 수 있는 데이터 소스를 정의합니다. 대부분의 도구에는 실행할 소스가 하나 이상 있습니다.

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

다양한 유형의 소스를 구성하는 방법에 대한 자세한 내용은 소스를 참조하세요.

도구

tools.yamltools 섹션은 에이전트가 취할 수 있는 작업을 정의합니다. 즉, 어떤 종류의 도구인지, 어떤 소스에 영향을 미치는지, 어떤 매개변수를 사용하는지 등을 정의합니다.

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

다양한 유형의 도구를 구성하는 방법에 대한 자세한 내용은 도구를 참조하세요.

도구 세트

tools.yaml 파일의 toolsets 섹션을 사용하면 함께 로드할 도구 그룹을 정의할 수 있습니다. 이는 에이전트나 애플리케이션별로 다른 그룹을 정의하는 데 유용할 수 있습니다.

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

이름으로 도구 세트를 로드할 수 있습니다.

# 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")

버전 관리

이 프로젝트에서는 MAJOR.MINOR.PATCH 버전 번호를 포함하여 다음과 같이 증가하는 의미적 버전을 사용합니다.

  • 호환되지 않는 API 변경을 할 경우 MAJOR 버전

  • 이전 버전과 호환되는 방식으로 기능을 추가할 때 MINOR 버전

  • 이전 버전과 호환되는 버그 수정을 할 때 패치 버전을 제공합니다.

이것이 적용되는 공개 API는 Toolbox와 관련된 CLI, 공식 SDK와의 상호작용, tools.yaml 파일의 정의입니다.

기여하다

기여를 환영합니다. 시작하려면 CONTRIBUTING을 참조하세요.

이 프로젝트는 기여자 행동 강령을 준수합니다. 이 프로젝트에 참여함으로써 귀하는 해당 약관을 준수하는 데 동의하게 됩니다. 자세한 내용은 기여자 행동 강령을 참조하세요.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/googleapis/genai-toolbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server