
MCP Database Server
Souhar-dyaNOASSERTION
18 звёзд12 форков
MCP Database Server — это сервер для подключения AI-агентов к реляционным базам данных. Он принимает запросы на естественном языке, преобразует их в SQL и возвращает структурированные результаты. Предназначен для разработчиков и DevOps, которые хотят дать языковым моделям возможность работать с данными напрямую.
Поддерживает PostgreSQL и MySQL. Все операции выполняются только на чтение, чтобы избежать случайных изменений.
Характеристики
Общее
- СтатусСообщество
- РазработчикSouhar-dya
- ЛицензияNOASSERTION
Технологии
- ЯзыкиPython
- Транспортstdio
Описание
Возможности
- Поддержка PostgreSQL и MySQL — подключайте обе СУБД без дополнительной настройки.
- Natural Language to SQL — задавайте вопросы на русском или английском, сервер сам сформирует SQL-запрос.
- Просмотр списка таблиц и их структуры — используйте /mcp/list_tables и /mcp/describe/table_name.
- Выполнение произвольных запросов на естественном языке через POST /mcp/query.
- Получение выборочных данных из таблицы — эндпоинт /mcp/tables/table_name/sample.
- Read-only режим — все запросы только чтение, данные защищены от изменений.
- Готов к продакшену: проверка здоровья, логирование, обработка ошибок.
- Запуск через Docker или локально — выберите удобный способ развёртывания.
Как подключить
Сервер можно запустить через Docker Compose или установить локально.
Docker (рекомендуется)
1. Клонируйте репозиторий:
git clone https://github.com/Souhar-dya/mcp-db-server.git
2. Перейдите в папку и запустите контейнеры:
cd mcp-db-server && docker-compose up --build
3. Сервер будет доступен на порту 8000. Проверьте статус:
curl http://localhost:8000/health
Локальная установка
1. Установите Python 3.11 или выше.
2. Установите зависимости:
pip install -r requirements.txt
3. Настройте переменную окружения DATABASE_URL для вашей базы данных.
4. Запустите сервер:
python -m app.server
Настройка в Claude Desktop
Добавьте в конфигурационный файл клиента:
{
"mcpServers": {
"database-server": {
"command": "python",
"args": ["-m", "app.server"],
"env": {
"DATABASE_URL": "postgresql+asyncpg://user:password@localhost:5432/dbname"
}
}
}
}
После добавления перезапустите клиент.
Примеры запросов
- «Покажи 5 самых активных клиентов по сумме заказов»
- «Опиши структуру таблицы заказов»
- «Найди все заказы за последнюю неделю»
- «Дай пример данных из таблицы сотрудников»
Технические детали
- Язык: Python
- Транспорт: stdio
- Лицензия: NOASSERTION
- Категории: базы данных, PostgreSQL, MySQL
- Совместимые клиенты: все, поддерживающие протокол MCP (Claude Desktop, продолжения и другие)