
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.