# MCP Database Utilities

<!-- Значки состояния проекта -->
[![Статус сборки](https://img.shields.io/github/workflow/status/donghao1393/mcp-dbutils/Quality%20Assurance?label=tests)](https://github.com/donghao1393/mcp-dbutils/actions)
[![Покрытие](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/donghao1393/bdd0a63ec2a816539ff8c136ceb41e48/raw/coverage.json)](https://github.com/donghao1393/mcp-dbutils/actions)
[![Статус Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=donghao1393_mcp-dbutils&metric=alert_status)](https://sonarcloud.io/dashboard?id=donghao1393_mcp-dbutils)

<!-- Значки версии и установки -->
[![Версия PyPI](https://img.shields.io/pypi/v/mcp-dbutils)](https://pypi.org/project/mcp-dbutils/)
[![Загрузки PyPI](https://img.shields.io/pypi/dm/mcp-dbutils)](https://pypi.org/project/mcp-dbutils/)
[![Smithery](https://smithery.ai/badge/@donghao1393/mcp-dbutils)](https://smithery.ai/server/@donghao1393/mcp-dbutils)

<!-- Значки технических спецификаций -->
[![Python](https://img.shields.io/badge/Python-3.10%2B-blue)](https://www.python.org/)
[![Лицензия](https://img.shields.io/github/license/donghao1393/mcp-dbutils)](LICENSE)
[![Звезды GitHub](https://img.shields.io/github/stars/donghao1393/mcp-dbutils?style=social)](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.svg?variant=adaptive)](https://starchart.cc/donghao1393/mcp-dbutils)

## Лицензия

Этот проект лицензирован под лицензией MIT - см. файл [LICENSE](LICENSE) для получения подробной информации.
