Skip to main content
Glama

MCP Toolbox for Databases

by googleapis

логотип

Набор инструментов MCP для баз данных

Раздор Перейти Отчетная Карточка

[!ПРИМЕЧАНИЕ] MCP Toolbox for Databases в настоящее время находится в стадии бета-тестирования и может претерпеть критические изменения до выхода первой стабильной версии (v1.0).

MCP Toolbox for Databases — это сервер MCP с открытым исходным кодом для баз данных. Он позволяет вам разрабатывать инструменты проще, быстрее и безопаснее, управляя сложностями, такими как пул соединений, аутентификация и т. д.

Этот README содержит краткий обзор. Для получения подробных сведений см. полную документацию .

[!ПРИМЕЧАНИЕ] Первоначально это решение называлось «Gen AI Toolbox for Databases», поскольку его первоначальная разработка предшествовала MCP, но было переименовано для соответствия недавно добавленной совместимости с MCP.

Оглавление

Related MCP server: MySQL MCP Server

Почему именно «Ящик для инструментов»?

Toolbox помогает вам создавать инструменты Gen AI, которые позволяют вашим агентам получать доступ к данным в вашей базе данных. Toolbox предоставляет:

  • Упрощенная разработка : интегрируйте инструменты в свой агент менее чем в 10 строк кода, повторно используйте инструменты между несколькими агентами или фреймворками и с легкостью развертывайте новые версии инструментов.

  • Лучшая производительность : лучшие практики, такие как пул соединений, аутентификация и многое другое.

  • Повышенная безопасность : интегрированная аутентификация для более безопасного доступа к вашим данным.

  • Сквозное наблюдение : готовые метрики и трассировка со встроенной поддержкой OpenTelemetry.

Общая Архитектура

Toolbox располагается между фреймворком оркестровки вашего приложения и вашей базой данных, предоставляя плоскость управления, которая используется для изменения, распространения или вызова инструментов. Он упрощает управление вашими инструментами, предоставляя вам централизованное место для хранения и обновления инструментов, позволяя вам совместно использовать инструменты между агентами и приложениями и обновлять эти инструменты без необходимости повторного развертывания вашего приложения.

архитектура

Начиная

Установка сервера

Для получения последней версии посетите страницу релизов и следуйте следующим инструкциям для вашей ОС и архитектуры ЦП.

Чтобы установить Toolbox как двоичный файл:

# see releases page for other versions export VERSION=0.5.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.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 . Если у вас несколько файлов, вы можете указать toolbox, какой из них загружать, с помощью флага --tools-file tools.yaml .

Более подробную справочную документацию по всем типам ресурсов вы можете найти в разделе Ресурсы .

Источники

Раздел sources вашего tools.yaml определяет, к каким источникам данных должен иметь доступ ваш Toolbox. Большинство инструментов будут иметь по крайней мере один источник для выполнения.

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

Более подробную информацию о настройке различных типов источников см. в разделе Источники .

Инструменты

Раздел tools файла tools.yaml определяет действия, которые может выполнять агент: какой это тип инструмента, на какие источники он влияет, какие параметры он использует и т. д.

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 вашего tools.yaml позволяет вам определять группы инструментов, которые вы хотите загружать вместе. Это может быть полезно для определения различных групп на основе агента или приложения.

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

  • МИНОРНАЯ версия, когда мы добавляем функциональность с обратной совместимостью

  • Версия PATCH, когда мы делаем обратно совместимые исправления ошибок

Публичный API, к которому это применяется, — это CLI, связанный с Toolbox, взаимодействие с официальными SDK и определения в файле tools.yaml .

Внося вклад

Вклады приветствуются. Пожалуйста, ознакомьтесь с разделом ВКЛАД , чтобы начать.

Обратите внимание, что этот проект выпущен с Кодексом поведения участника. Участвуя в этом проекте, вы соглашаетесь соблюдать его условия. Для получения дополнительной информации см. Кодекс поведения участника .

-
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