Схемы и таблицы
db_list_schemas и db_list_tables показывают только доступные объекты.
MCP-сервер превращает PostgreSQL, MySQL или SQLite в понятный набор инструментов для ИИ-агента. Структура проверяется по схеме, значения передаются параметрами, а опасные массовые изменения требуют явного разрешения.
агент Покажи активных пользователей старше 18 лет
{ "schema": "public", "table": "users",
"filters": { "active": true, "age": { "gte": 18 } },
"order_by": [{ "column": "id", "direction": "desc" }], "limit": 50 }✓ Имена проверены по схеме · значения связаны параметрами
Агент получает не универсальную SQL-консоль, а девять ограниченных операций с проверяемыми аргументами.
db_list_schemas и db_list_tables показывают только доступные объекты.
db_describe_table возвращает колонки, типы, nullable и первичные ключи.
Фильтры, сортировка, набор колонок и пагинация без формирования SQL агентом.
Одиночные и пакетные вставки, атомарные пакетные обновления и удаление строк.
Последовательность insert, update и delete по разным таблицам выполняется атомарно.
db_refresh_schema перечитывает метаданные после изменения структуры базы.
Для каждой СУБД используется собственный типизированный пул sqlx. Это сохраняет особенности типов и не смешивает поведение разных движков.
UUID, даты, numeric, enum, JSON и массивы сохраняют типизированное JSON-представление.
Возвращаются первичные и auto-increment идентификаторы; бинарные данные передаются в Base64.
Компактное подключение к локальной базе с поддержкой полных возвращаемых строк после вставки.
Сервер уменьшает поверхность ошибки, но итоговые права всегда определяются отдельным пользователем базы данных.
Схемы, таблицы и колонки сверяются с загруженным каталогом метаданных.
Данные не склеиваются с SQL: значения передаются в драйвер bind-параметрами.
UPDATE и DELETE без фильтров выполняются только с явным allow_all: true.
Создайте для сервера отдельного пользователя БД и выдайте только необходимые разрешения.
Не публикуйте MCP‑адрес напрямую в интернет без TLS или защищённого обратного прокси. Доступ к endpoint защищается HTTP Basic Auth.
Архив содержит исполняемый файл, пример окружения и инструкцию. Сборка предназначена для Linux x86_64.
Размер архива — 4,6 МБ. Перед запуском проверьте контрольную сумму SHA‑256.
29d1aeec04af6c73113ec03587a058a986e363bb139d8f306f016d6c585fbd03wget -q https://sistemnoedelo.ru/downloads/database-mcp-server-linux-amd64.tar.gzwget -q https://sistemnoedelo.ru/downloads/database-mcp-server-linux-amd64.tar.gz.sha256
sha256sum -c database-mcp-server-linux-amd64.tar.gz.sha256tar -xzf database-mcp-server-linux-amd64.tar.gz
cp .env.example .env./database-mcp-serverУкажите строку подключения и постоянные реквизиты Basic Auth в файле окружения. По умолчанию сервер слушает только 127.0.0.1:8787.
DATABASE_URL=postgres://user:password@127.0.0.1:5432/app
# или mysql://user:password@127.0.0.1:3306/app
# или sqlite://database.sqlite?mode=rwc
HOST=127.0.0.1
PORT=8787
BASIC_AUTH_USERNAME=mcp
BASIC_AUTH_PASSWORD=replace-with-strong-passwordhttp://127.0.0.1:8787/mcphttp://127.0.0.1:8787/healthДля развёртывания как systemd-службы в исходном проекте предусмотрен Ansible playbook с проверкой SHA‑256 и защищённым EnvironmentFile.
Коротко о границах продукта и требованиях к эксплуатации.
Нет. Он подключается к существующей базе, читает метаданные и работает с доступными таблицами в рамках прав пользователя.
Да. Создайте отдельного пользователя базы данных с правами SELECT — MCP-сервер не сможет выйти за пределы этих разрешений.
Один процесс использует одну строку DATABASE_URL. Для изоляции нескольких баз запускайте отдельные экземпляры сервиса.
Нет. Рекомендуется локальное или защищённое сетевое размещение. Для удалённого доступа используйте TLS и обратный прокси.
Позвоните — подберём схему доступа, права и безопасный контур развёртывания.