Berth

Berth

seayniclabsMIT
Berth — это MCP-сервер, который даёт AI-ассистентам безопасный доступ к базам данных. Он поддерживает три популярные СУБД: PostgreSQL, MySQL и SQLite. С помощью Berth ассистент может выполнять запросы, изучать структуру базы, создавать миграции и делать резервные копии — и всё это под контролем трёхуровневой системы безопасности. Сервер включает 13 инструментов. Самые важные: db_connect — для подключения к базе по DSN; db_query — для выполнения SELECT; db_execute — для INSERT/UPDATE/DELETE (с учётом прав); db_schema — для просмотра таблиц и индексов; generate_migration — для создания SQL-миграций; db_backup и db_restore — для резервного копирования. Безопасность — главная фича Berth. Он работает в трёх режимах: — read-only: только SELECT и EXPLAIN. Включается по умолчанию. — write: добавляет INSERT, UPDATE, DELETE, CREATE, но блокирует DROP, TRUNCATE, DELETE без WHERE. — admin: снимает все ограничения, но для опасных операций требует одноразовый токен, который действует 60 секунд. Это предотвращает случайное повреждение данных из-за ошибок ассистента.

Установка

uvx berth-mcp

Характеристики

Общее

  • СтатусСообщество
  • Разработчикseayniclabs
  • ЛицензияMIT

Технологии

  • Языки
    Python
  • Транспорт
    stdio

Описание

Возможности

  • Подключение к PostgreSQL, MySQL и SQLite через DSN-строку.
  • Выполнение SELECT-запросов с автоматическим ограничением в 1000 строк.
  • Выполнение INSERT, UPDATE, DELETE с учётом текущего режима безопасности.
  • Просмотр списка таблиц, представлений и индексов.
  • Детальное описание столбцов таблицы: тип, NULL, дефолтное значение.
  • Анализ внешних ключей и связей между таблицами.
  • Оценка размера всей базы данных и каждой таблицы.
  • Просмотр активных запросов (только для PostgreSQL).
  • Выполнение EXPLAIN ANALYZE для оптимизации производительности.
  • Генерация SQL-миграций: сравнение схемы рабочей базы с целевым DDL или другой базой.
  • Создание резервной копии и восстановление из неё.
  • Три режима безопасности с подтверждением деструктивных операций.

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

Установите Berth с помощью uvx:

uvx berth-mcp

Добавьте сервер в конфигурацию вашего MCP-клиента. Например, для Claude Desktop отредактируйте файл claude_desktop_config.json:

{ "mcpServers": { "berth": { "command": "uvx", "args": ["berth-mcp"] } } }

Перезапустите клиент. Теперь ассистент может использовать Berth — нужно только передать DSN при подключении к базе.

Примеры запросов

  • «Подключись к PostgreSQL по адресу postgresql://user:pass@localhost:5432/mydb и покажи список таблиц.»
  • «Выполни SELECT * FROM orders WHERE status = 'pending' LIMIT 10.»
  • «Найди внешние ключи таблицы users и объясни, как они работают.»
  • «Сравни текущую схему базы с этим набором CREATE-скриптов и сгенерируй миграционный SQL для приведения к целевому состоянию.»
  • «Сделай резервную копию SQLite-базы в файл /backups/app.db.backup.»

Технические детали

Язык: Python. Транспорт: stdio. Лицензия: MIT. Совместимые клиенты: Claude Desktop и любые MCP-клиенты, работающие через stdio.

Поделиться