MCP Database Server

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, продолжения и другие)

Поделиться