# MCP Database Utilities
<!-- Значки состояния проекта -->
[](https://github.com/donghao1393/mcp-dbutils/actions)
[](https://github.com/donghao1393/mcp-dbutils/actions)
[](https://sonarcloud.io/dashboard?id=donghao1393_mcp-dbutils)
<!-- Значки версии и установки -->
[](https://pypi.org/project/mcp-dbutils/)
[](https://pypi.org/project/mcp-dbutils/)
[](https://smithery.ai/server/@donghao1393/mcp-dbutils)
<!-- Значки технических спецификаций -->
[](https://www.python.org/)
[](LICENSE)
[](https://github.com/donghao1393/mcp-dbutils/stargazers)
[English](README_EN.md) | [中文](README.md) | [Français](README_FR.md) | [Español](README_ES.md) | [العربية](README_AR.md) | Русский | [Документация](#документация)
## Введение
MCP Database Utilities — это универсальный сервис MCP, который позволяет вашему ИИ выполнять анализ данных, получая доступ к различным типам баз данных (SQLite, MySQL, PostgreSQL и другие) с единой конфигурацией подключения безопасным способом.
Представьте его как безопасный мост между системами ИИ и вашими базами данных, позволяющий ИИ читать и анализировать ваши данные без прямого доступа к базе данных или риска изменения данных.
### Ключевые особенности
- **Безопасность прежде всего**: Строго операции только для чтения, отсутствие прямого доступа к базе данных, изолированные соединения, подключение по требованию, автоматические тайм-ауты
- **Защита конфиденциальности**: Локальная обработка, минимальное раскрытие данных, защита учетных данных, маскирование конфиденциальных данных
- **Поддержка нескольких баз данных**: Подключение к SQLite, MySQL, PostgreSQL с одним и тем же интерфейсом
- **Простая конфигурация**: Один файл YAML для всех ваших подключений к базам данных
- **Расширенные возможности**: Исследование таблиц, анализ схемы и выполнение запросов
> 🔒 **Примечание по безопасности**: MCP Database Utilities создан с архитектурой, ориентированной на безопасность, что делает его идеальным для предприятий, стартапов и частных лиц, которые ценят защиту данных. Узнайте больше о нашей [архитектуре безопасности](docs/ru/technical/security.md).
## Быстрый старт
Мы предлагаем несколько методов установки, включая uvx, Docker и Smithery. Для подробных шагов по установке и настройке см. [Руководство по установке](docs/ru/installation.md).
### Основные шаги
1. **Установка**: Выберите предпочтительный метод установки ([подробные инструкции](docs/ru/installation.md))
2. **Настройка**: Создайте файл YAML с информацией о подключении к вашей базе данных ([руководство по настройке](docs/ru/configuration.md))
3. **Подключение**: Добавьте конфигурацию в ваш ИИ-клиент
4. **Использование**: Начните взаимодействие с вашими базами данных ([руководство по использованию](docs/ru/usage.md))
## Примеры взаимодействия
**Вы**: "Можете ли вы перечислить все таблицы в моей базе данных my-postgres?"
**ИИ**: "Я проверю это для вас. Вот таблицы в вашей базе данных my-postgres:
- клиенты
- продукты
- заказы
- инвентарь
- сотрудники"
**Вы**: "Как выглядит таблица клиентов?"
**ИИ**: "Таблица клиентов имеет следующую структуру:
- id (целое число, первичный ключ)
- имя (текст)
- email (текст)
- дата_регистрации (дата)
- последняя_покупка (дата)
- общая_сумма_покупок (числовое значение)"
**Вы**: "Сколько клиентов совершили покупки в прошлом месяце?"
**ИИ**: "Позвольте мне выполнить запрос, чтобы узнать... Согласно данным, 128 клиентов совершили покупки в прошлом месяце. Общая стоимость этих покупок составила $25,437.82."
## Доступные инструменты
MCP Database Utilities предоставляет несколько инструментов, которые может использовать ваш ИИ:
- **dbutils-list-connections**: Перечисляет все доступные подключения к базам данных с подробной информацией, включая тип базы данных, хост, порт и имя базы данных, скрывая конфиденциальную информацию, такую как пароли.
- **dbutils-list-tables**: Перечисляет все таблицы в указанном подключении к базе данных с именами таблиц, URI и доступными описаниями, сгруппированными по типу базы данных для удобной идентификации.
- **dbutils-run-query**: Выполняет запросы SQL только для чтения (только SELECT) с поддержкой сложных запросов, включая JOIN, GROUP BY и агрегатные функции, возвращая структурированные результаты с именами столбцов и строками данных.
- **dbutils-describe-table**: Предоставляет подробную информацию о структуре таблицы, включая имена столбцов, типы данных, допустимость NULL, значения по умолчанию и комментарии в удобочитаемом формате.
- **dbutils-get-ddl**: Получает полный оператор DDL (язык определения данных) для создания указанной таблицы, включая все определения столбцов, ограничения и индексы.
- **dbutils-list-indexes**: Перечисляет все индексы в указанной таблице, включая имена индексов, типы (уникальный/неуникальный), методы индексирования и включенные столбцы, сгруппированные по имени индекса.
- **dbutils-get-stats**: Получает статистическую информацию о таблице, включая предполагаемое количество строк, среднюю длину строки, размер данных и размер индекса.
- **dbutils-list-constraints**: Перечисляет все ограничения в таблице, включая первичные ключи, внешние ключи, уникальные ограничения и ограничения проверки, с таблицами и столбцами, на которые ссылаются внешние ключи.
- **dbutils-explain-query**: Предоставляет план выполнения для SQL-запроса, показывая, как движок базы данных будет обрабатывать запрос, включая методы доступа, типы соединений и предполагаемые затраты.
- **dbutils-get-performance**: Получает метрики производительности для подключения к базе данных, включая количество запросов, среднее время выполнения, использование памяти и статистику ошибок.
- **dbutils-analyze-query**: Анализирует характеристики производительности SQL-запроса, предоставляя план выполнения, фактическое время выполнения и конкретные рекомендации по оптимизации.
Для подробных описаний и примеров использования этих инструментов см. [Руководство по использованию](docs/ru/usage.md).
## Документация
### Начало работы
- [Руководство по установке](docs/ru/installation.md) - Подробные шаги по установке и инструкции по настройке
- [Руководство по установке для конкретных платформ](docs/ru/installation-platform-specific.md) - Инструкции по установке для различных операционных систем
- [Руководство по настройке](docs/ru/configuration.md) - Примеры настройки подключения к базе данных и лучшие практики
- [Руководство по использованию](docs/ru/usage.md) - Основной рабочий процесс и распространенные сценарии использования
### Техническая документация
- [Архитектурный дизайн](docs/ru/technical/architecture.md) - Архитектура системы и компоненты
- [Архитектура безопасности](docs/ru/technical/security.md) - Функции безопасности и механизмы защиты
- [Руководство по разработке](docs/ru/technical/development.md) - Качество кода и рабочий процесс разработки
- [Руководство по тестированию](docs/ru/technical/testing.md) - Фреймворк тестирования и лучшие практики
- [Интеграция с SonarCloud](docs/ru/technical/sonarcloud-integration.md) - Руководство по интеграции SonarCloud и ИИ
### Документация с примерами
- [Примеры SQLite](docs/ru/examples/sqlite-examples.md) - Примеры операций с базой данных SQLite
- [Примеры PostgreSQL](docs/ru/examples/postgresql-examples.md) - Примеры операций с базой данных PostgreSQL
- [Примеры MySQL](docs/ru/examples/mysql-examples.md) - Примеры операций с базой данных MySQL
- [Расширенные взаимодействия с LLM](docs/ru/examples/advanced-llm-interactions.md) - Примеры расширенных взаимодействий с различными LLM
### Многоязычная документация
- **Английский** - [English Documentation](docs/en/)
- **Китайский** - [中文文档](docs/zh/)
- **Французский** - [Documentation Française](docs/fr/)
- **Испанский** - [Documentación en Español](docs/es/)
- **Арабский** - [التوثيق باللغة العربية](docs/ar/)
### Поддержка и обратная связь
- [GitHub Issues](https://github.com/donghao1393/mcp-dbutils/issues) - Сообщайте о проблемах или запрашивайте функции
- [Smithery](https://smithery.ai/server/@donghao1393/mcp-dbutils) - Упрощенная установка и обновления
## История звезд
[](https://starchart.cc/donghao1393/mcp-dbutils)
## Лицензия
Этот проект лицензирован под лицензией MIT - см. файл [LICENSE](LICENSE) для получения подробной информации.