DBPilot MCP

Платформа мониторинга SQL Server, MySQL и PostgreSQL с MCP на 11 инструментов: агент читает метрики, а не сами базы.

  • 99 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Платформа хранит пароли подключенных баз в зашифрованном виде и опрашивает экземпляры с их помощью.
  • Агент читает тексты медленных запросов, в которых могут быть данные.
Все причины и проверки

skychensky/dbpilot

Установка

Ручная установка

dotnet add package DBPilot

Первая команда быстрого старта README: пакет добавляют в новый веб-проект. Код запуска и настройки приведены там же.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Платформа хранит пароли подключенных баз в зашифрованном виде и опрашивает экземпляры с их помощью.
  • Агент читает тексты медленных запросов, в которых могут быть данные.

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

Что делает

DBPilot постоянно снимает показатели с экземпляров баз и собирает рабочий процесс администратора в одной веб-консоли: тренды нагрузки, топ SQL, смену планов запросов, подсказки по индексам, блокировки, взаимоблокировки и журнал медленных запросов. Поддерживаются SQL Server 2008–2022, MySQL 8.0 и новее, PostgreSQL 13 и новее. Встроенный MCP-сервер по адресу `/mcp` работает по Streamable HTTP с ключом API и отдает агентам собранные данные через 11 инструментов только для чтения. Агент не подключается к вашим базам напрямую, каждый вызов пишется в журнал аудита. По умолчанию сервер выключен: он включается непустым значением `DBPilot:Mcp:ApiKey`.

Для кого. DBA и разработчикам, которые отвечают за SQL Server, MySQL или PostgreSQL и хотят спрашивать агента про нагрузку, а не листать консоль.

Подходит, если

  • После релиза база замедлилась, и нужно понять, какие запросы стали медленнее за последний час.
  • Блокировки или взаимоблокировки повторяются, а цепочку виновников хочется получить без ручного разбора.
  • Таблицы разрослись, и агент подсказывает недостающие индексы с опорой на накопленную статистику.
  • Несколько баз разных движков смотрят из одного места, не раздавая агенту пароли.

Не подходит, если

  • Нужно выполнить запрос или изменить данные: инструменты только читают метрики.
  • Платформу негде разместить: нужен .NET 8 или новее и своя база для метаданных.
  • Экземпляр базы нельзя опрашивать даже метаданными.

Пример запроса к агенту

Используй dbpilot и проверь нагрузку на экземпляр за последний час: какие SQL стали медленнее и есть ли блокировки.

MCP

Транспорт
http
Авторизация
ключ необязателен

Переменные окружения

DBPILOT_MASTER_KEY секрет
Мастер-ключ платформы, не короче 32 знаков; вместо него можно задать `DBPilot:Auth:Secret`

Ограничения

Платформу нужно развернуть самим: .NET SDK 8 или новее и хранилище метаданных (для пробы хватит SQLite, для работы лучше серверная база). История копится со временем, в первые минуты графики пусты. Стандартный пароль администратора из README обязательно смените. Мастер-ключ подписывает cookie входа и шифрует пароли экземпляров, при его потере сохраненные пароли не расшифровать, их вводят заново. Тексты медленных запросов, которые читает агент, могут содержать данные.

Как отключить. Удалите MCP-подключение из клиента и очистите значение `DBPilot:Mcp:ApiKey`, затем перезапустите платформу: пустой ключ выключает сервер. Саму платформу снимают остановкой процесса.

Частые вопросы

Как включить MCP-сервер?

Задайте непустое значение `DBPilot:Mcp:ApiKey` в настройках и перезапустите платформу. Пока ключ пуст, сервер выключен.

Как подключить Codex CLI?

В `~/.codex/config.toml` добавьте раздел `[mcp_servers.dbpilot]` с адресом `/mcp` и заголовком `X-Api-Key`, пример есть в README.

Нагрузит ли платформа мои базы?

Авторы заявляют менее 1 процента CPU: сборщики читают только представления метаданных и не сканируют бизнес-таблицы. Самое тяжелое задание, снимок индексов, идет ночью.

Где хранятся пароли баз?

В метаданных платформы, зашифрованные AES-256-GCM мастер-ключом. Без ключа они не читаются.

Подойдет ли SQLite для хранения метаданных?

Для пробы да, зависимостей он не требует. Для работы README советует серверную базу: SQL Server, MySQL или PostgreSQL.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Один MCP-сервер для SQLite, SQL Server, PostgreSQL и MySQL: агент читает и меняет данные, правит схему и выгружает CSV и JSON

MCP-серверШирокий доступ391Звезды репозитория
Официальный

Агент запрашивает метрики, логи и трассы из GreptimeDB на SQL, TQL и RANGE, с запретом записи и маскировкой чувствительных данных

MCP-серверРасширенный доступ29Звезды репозитория
Официальный

Один бинарник MCP-сервера для MySQL, MariaDB, PostgreSQL и SQLite: запросы только на чтение по умолчанию и маскировка ПДн

MCP-серверШирокий доступ33Звезды репозитория

MySQL MCP Server Pro

mysql_mcp_server_pro

MCP-сервер для MySQL: выполняет SQL с ролями доступа, ищет таблицы по комментариям и разбирает блокировки, индексы и планы запросов

MCP-серверШирокий доступ248Звезды репозитория
Выбор редакции

Экономный по токенам MCP-сервер для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite с режимом только для чтения

MCP-серверШирокий доступ3,8 тыс.Звезды репозитория

DB MCP Server

db-mcp-server

Сервер MCP для нескольких баз данных с защитой: режим только чтения по каждой базе и ограничение числа строк. Написан на Go, запуск в Docker

MCP-серверШирокий доступ480Звезды репозитория

Коротко о README

Платформа работает одним процессом .NET и хранит историю в собственной базе. MCP-сервер выдает агентам доказательства из этой истории, а прямой доступ к базам для них закрыт.

Бейдж для README

Сообщить о проблеме