MCP Toolbox for Databases: предоставление наборов данных BigQuery клиентам MCP

1. Введение

В этой лабораторной работе вы будете использовать MCP Toolbox for Databases, чтобы сделать доступными ваши наборы данных BigQuery.

В ходе выполнения кодовой лаборатории вы будете использовать пошаговый подход следующим образом:

  1. Определите конкретный набор данных BigQuery («Примечания к выпуску Google Cloud») из общедоступной программы наборов данных BigQuery.
  2. Настройте MCP Toolbox для баз данных, который подключается к набору данных BigQuery.
  3. Изучите различные клиенты MCP и убедитесь, что они могут получить доступ к интерфейсу MCP набора данных BigQuery.

Что ты будешь делать?

  • Настройте MCP Toolbox for Databases, чтобы предоставить примечания к выпуску Google Cloud, общедоступный набор данных BigQuery, в качестве интерфейса MCP для других клиентов MCP (IDE, инструменты и т. д.).

Чему вы научитесь

  • Изучите общедоступные наборы данных BigQuery и выберите конкретный набор данных.
  • Настройте MCP Toolbox for Databases для общедоступного набора данных BigQuery, который мы хотим сделать доступным для клиентов MCP.
  • Протестируйте конфигурацию MCP Toolbox for Databases в локальной среде.

Что вам понадобится

  • Веб-браузер Chrome.
  • Локальная среда разработки Python.
  • Локальная среда Node.js с npm версии 5.2.0 или более поздней.

2. Прежде чем начать

Создать проект

  1. В Google Cloud Console на странице выбора проекта выберите или создайте проект Google Cloud.
  2. Убедитесь, что для вашего проекта Cloud включена функция выставления счетов. Узнайте, как проверить, включена ли функция выставления счетов для проекта .
  3. Вы будете использовать Cloud Shell , среду командной строки, работающую в Google Cloud, которая поставляется с предустановленной bq. Нажмите Активировать Cloud Shell в верхней части консоли Google Cloud.

Изображение кнопки «Активировать Cloud Shell»

  1. После подключения к Cloud Shell вы проверяете, что вы уже аутентифицированы и что проекту присвоен ваш идентификатор проекта, с помощью следующей команды:
gcloud auth list
  1. Выполните следующую команду в Cloud Shell, чтобы подтвердить, что команда gcloud знает о вашем проекте.
gcloud config list project
  1. Если ваш проект не настроен, используйте следующую команду для его настройки:
gcloud config set project <YOUR_PROJECT_ID>

Информацию о командах и использовании gcloud см. в документации .

3. Набор данных Google Release Notes и клиенты MCP

Для начала давайте взглянем на заметки о выпуске Google Cloud, которые регулярно обновляются на официальной веб-странице заметок о выпуске Google Cloud , снимок экрана которой представлен ниже:

37a7d9e124296c55.png

Вы можете подписаться на URL-адрес фида, но что, если мы могли бы просто спросить в нашем чате агентов об этих примечаниях к выпуску. Может быть, простой запрос типа «Обновите меня по примечаниям к выпуску Google Cloud».

Давайте посмотрим на конечную цель. Это реальный снимок экрана моего Visual Studio Code с запущенным CoPilot, в режиме агента я запрашиваю примечания к выпуску Google Cloud:

1ded42a37f128fa3.png

Давайте начнем с того, как это реализовать, и по ходу дела узнаем о предоставлении ваших наборов данных BigQuery в различных клиентах MCP по вашему выбору.

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

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

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

  • Упрощенная разработка: интегрируйте инструменты в свой агент менее чем в 10 строк кода, повторно используйте инструменты между несколькими агентами или фреймворками и с легкостью развертывайте новые версии инструментов.
  • Лучшая производительность: лучшие практики, такие как пул соединений, аутентификация и многое другое.
  • Повышенная безопасность: интегрированная аутентификация для более безопасного доступа к вашим данным
  • Сквозное наблюдение: готовые метрики и трассировка со встроенной поддержкой OpenTelemetry.
  • Toolbox позволяет легко подключать базы данных к любым помощникам на основе искусственного интеллекта с поддержкой MCP, даже к тем, которые находятся в вашей IDE.

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

e316aed02b9861a6.png

Подведем итог простыми словами:

  1. MCP Toolbox доступен в виде двоичного образа контейнера, или вы можете собрать его из исходного кода.
  2. Он предоставляет набор инструментов, которые вы настраиваете через файл tools.yaml. Инструменты можно рассматривать как подключающиеся к вашим источникам данных. Вы можете видеть различные источники данных, которые он поддерживает: AlloyDB, BigQuery и т. д.
  3. Поскольку этот набор инструментов теперь поддерживает MCP, у вас автоматически появляется конечная точка сервера MCP, которую затем могут использовать агенты (IDE), или вы можете использовать их при разработке приложений агентов с использованием различных фреймворков, таких как Agent Development Kit (ADK).

В этой записи блога мы сосредоточимся на областях, выделенных ниже:

f3f3cb495d8a288b.png

Подводя итог, мы собираемся создать конфигурацию в MCP Toolbox for Databases, которая знает, как подключиться к нашему набору данных BigQuery. Затем мы будем использовать IDE или любую другую IDE Agent (MCP-клиенты), которая затем будет общаться с конечной точкой MCP Toolbox и позволит нам отправлять естественные запросы, чтобы узнать о нашем наборе данных. Думайте об этом как об инструменте, который вы настраиваете, который знает, как общаться с вашим набором данных BigQuery, и он выполняет некоторые запросы.

5. Заметки о выпуске набора данных BigQuery для Google Cloud

Программа Google Cloud Public Dataset Program — это программа, которая делает доступным ряд наборов данных для ваших приложений. Одним из таких наборов данных является база данных Google Cloud Release Notes. Этот набор данных предоставляет вам ту же информацию, что и официальная веб-страница Google Cloud Release Notes, и он доступен как общедоступный набор данных.

2104010c05c87d0d.png

В качестве теста я просто проверяю набор данных, выполнив простой запрос, показанный ниже:

SELECT
       product_name,description,published_at
     FROM
       `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
     WHERE
       DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
     GROUP BY product_name,description,published_at
     ORDER BY published_at DESC

Это дает мне список записей из набора данных Release Notes, которые были опубликованы за последние 7 дней.

Замените это любым другим набором данных по вашему выбору и соответствующими запросами и параметрами, которые вам нужны. Все, что нам нужно сделать сейчас, это настроить это как источник данных и инструмент в MCP Toolbox for Databases. Давайте посмотрим, как это сделать.

6. Установка MCP Toolbox для баз данных

Откройте терминал на локальном компьютере и создайте папку с именем mcp-toolbox .

mkdir mcp-toolbox

Перейдите в папку mcp-toolbox с помощью команды, показанной ниже:

cd mcp-toolbox

Установите бинарную версию MCP Toolbox for Databases с помощью скрипта, указанного ниже. Команда, указанная ниже, предназначена для Linux, но если вы используете Mac или Windows, убедитесь, что вы загружаете правильный бинарник. Проверьте страницу релизов для вашей операционной системы и архитектуры и загрузите правильный бинарник.

export VERSION=0.6.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

Теперь у нас есть готовая к использованию бинарная версия набора инструментов. Следующий шаг — настроить набор инструментов с нашими источниками данных и другими конфигурациями.

7. Настройка MCP Toolbox для баз данных

Теперь нам нужно определить наш набор данных BigQuery и инструменты в файле tools.yaml , который необходим MCP Toolbox for Database. Файл tools.yaml является основным способом настройки Toolbox.

Создайте файл с именем tools.yaml в той же папке, т.е. mcp-toolbox , содержимое которого показано ниже.

Вы можете использовать редактор nano, который доступен в Cloud Shell. Команда nano выглядит следующим образом: " nano tools.yaml ".

Не забудьте заменить значение YOUR_PROJECT_ID на идентификатор вашего проекта Google Cloud.

sources:
 my-bq-source:
   kind: bigquery
   project: YOUR_PROJECT_ID

tools:
 search_release_notes_bq:
   kind: bigquery-sql
   source: my-bq-source
   statement: |
    SELECT
     product_name,description,published_at
    FROM
      `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
    WHERE
     DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
    GROUP BY product_name,description,published_at
    ORDER BY published_at DESC
   description: |
    Use this tool to get information on Google Cloud Release Notes.

toolsets:
 my_bq_toolset:
   - search_release_notes_bq

Давайте кратко разберемся в этом файле:

  1. Источники представляют собой различные источники данных, с которыми может взаимодействовать инструмент. Источник представляет собой источник данных, с которым может взаимодействовать инструмент. Вы можете определить Источники как карту в разделе источников вашего файла tools.yaml. Обычно конфигурация источника будет содержать любую информацию, необходимую для подключения и взаимодействия с базой данных. В нашем случае мы определили источник BigQuery my-bq-source , и вам необходимо указать свой идентификатор проекта Google Cloud. Для получения дополнительной информации обратитесь к справочнику Источники .
  2. Инструменты определяют действия, которые может выполнять агент, например, чтение и запись в источник. Инструмент представляет действие, которое может выполнять ваш агент, например, запуск оператора SQL. Вы можете определить Инструменты как карту в разделе инструментов вашего файла tools.yaml. Обычно инструменту требуется источник для действия. В нашем случае мы определяем один инструмент search_release_notes_bq . Он ссылается на источник BigQuery my-bq-source , который мы определили на первом шаге. Он также содержит оператор и инструкцию, которые будут использоваться клиентами AI Agent. Для получения дополнительной информации обратитесь к справочнику Инструменты .
  3. Наконец, у нас есть Toolset, который позволяет вам определять группы инструментов, которые вы хотите загружать вместе. Это может быть полезно для определения различных групп на основе агента или приложения. В нашем случае у нас есть определение toolset, где мы в настоящее время определили только один существующий инструмент search_release_notes_bq , который мы определили. У вас может быть более одного toolset, который содержит комбинацию различных инструментов.

Итак, в настоящее время мы определили только один инструмент, который получает заметки о выпуске за последние 7 дней по запросу. Но вы также можете иметь различные комбинации с параметрами.

Ознакомьтесь с более подробной информацией о конфигурации ( Источник , Инструменты ) в конфигурации источника данных BigQuery в MCP Toolbox for Databases.

8. Тестирование MCP Toolbox для баз данных

Мы загрузили и настроили Toolbox с файлом tools.yaml в папке mcp-toolbox . Давайте сначала запустим его локально.

Выполните следующую команду:

$ ./toolbox --tools-file="tools.yaml" --port 7000

Сервер MCP Toolbox по умолчанию работает на порту 5000, но в данном случае мы указали для него порт 7000.

При успешном выполнении вы должны увидеть запуск сервера с примером вывода, аналогичным приведенному ниже:

2025-04-25T16:05:45.603871+05:30 INFO "Initialized 1 sources."
2025-04-25T16:05:45.603943+05:30 INFO "Initialized 0 authServices."
2025-04-25T16:05:45.604092+05:30 INFO "Initialized 1 tools."
2025-04-25T16:05:45.604105+05:30 INFO "Initialized 2 toolsets."
2025-04-25T16:05:45.604706+05:30 INFO "Server ready to serve!"

Просто запустите браузер и перейдите по следующему URL-адресу:

http://127.0.0.1:7000

Это должно дать следующий результат:

2fdcdac326034d41.png

В URL-адресе браузера добавьте в конец URL-адреса следующее:

http://127.0.0.1:7000/api/toolset

Это должно вывести инструменты, которые в данный момент настроены. Пример вывода показан ниже:

53d9c9a3bb1c8494.png

Сервер MCP, согласно документации, теперь доступен по следующему URL-адресу:

http://127.0.0.1:7000/mcp/sse

Результат показан ниже:

event: endpoint
data: https://<some-url-pattern>/mcp?sessionId=bf6bfb66-36fe-48a4-8340-ac68008ee873

Давайте протестируем наш MCP-сервер с MCP-клиентами в следующем разделе.

9. Тестирование сервера MCP с различными клиентами MCP

Давайте протестируем наш недавно созданный MCP-сервер с парой MCP-клиентов.

Инспектор MCP с набором инструментов

Первый инструмент для использования — MCP Inspector с Toolbox . Для этого вам понадобится установленный npx . Cloud Shell предложит вам установить пакет. Пожалуйста, продолжайте и установите его.

Вам необходимо дать следующую команду:

npx @modelcontextprotocol/inspector

Это запустит сервер, и вы должны увидеть вывод, аналогичный следующему:

Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

Посетите страницу MCP Inspector, как уже упоминалось, и первое, что вам нужно сделать, это настроить этот клиент для взаимодействия с сервером MCP.

a819e93705367076.png

Выберите тип транспорта SSE и укажите URL , как мы уже упоминали ранее, то есть http://127.0.0.1:7000/mcp/sse . Нажмите Connect . Если все пойдет хорошо, вы должны увидеть статус подключенного, как показано ниже:

e19278a9ea58dda1.png

С правой стороны теперь можно просмотреть список инструментов, нажав на кнопку List Tools .

faacf3e6d7ac2ebe.png

Затем нажмите на инструмент search_release_notes_bq , и поскольку у нас нет никаких параметров для передачи, просто нажмите кнопку Run tool . Вы должны увидеть, как он вызывает Toolbox, который в свою очередь подключается к источнику данных BigQuery и извлекает данные, как показано ниже:

3db3e057763ecbef.png

VS Code в режиме агента с CoPilot

Официальная документация содержит инструкции по подключению к Toolbox для различных источников данных и IDE здесь .

В этом разделе мы рассмотрим, как настраивать и использовать серверы MCP в VS Code. Обратите внимание, что он доступен в предварительной версии, а официальная документация является исчерпывающей и доступна здесь .

Предположим, что вы запустили VS Code, запустите Command Palette и введите следующую команду:

4df742e8ef74b52.png

Далее выберите Command(stdio) , так как мы собираемся запустить локальную команду, которая запустит MCP Toolbox.

1aca4f1262693b1b.png

Он запросит команду с дополнительными параметрами. Вам нужно будет предоставить всю команду toolbox с параметрами. Например

FULL_PATH_TO_TOOLBOX tools-file=FULL_PATH_TO_TOOLBOX/tools.yaml --port=7000 -stdio

Обратите внимание, что вам необходимо заменить FULL_PATH_TO_TOOLBOX на тот, который подходит для вашей системы и места, где вы установили исполняемый файл toolbox .

Далее он подтвердит несколько других деталей. Дайте ему имя bq-release-notes-server и затем выберите добавление его в мои настройки пользователя, чтобы он открыл файл settings.json , в котором вы можете увидеть конфигурацию. Мой пример конфигурации показан ниже:

c817ba262c48fa38.png

Просто нажмите Start , и вы увидите, что статус изменится на Running .

69b45ae6afce74b8.png

Теперь мы можем запустить режим чата CoPilot, а затем в режиме Agent задать запрос типа «Поиск заметок о выпуске Google Cloud Platform». Он определит лучший инструмент для этого случая и, будем надеяться, выберет инструмент, который мы настроили. Дайте ему разрешение на вызов инструмента в сеансе и посмотрите вывод (пример запуска показан ниже).

3b86df102ab05f84.png

10. Поздравления

Поздравляем, вы успешно настроили MCP Toolbox для баз данных и настроили набор данных BigQuery для доступа в клиентах MCP.

Справочные документы