Skip to main content
Glama
kobramantra-debug

mcp-database-universal

MCP Database Server

Интерфейс рассуждений для баз данных для ИИ-агентов, поддерживающих MCP — не тонкая обёртка над SQL.

mcp-database-universal предоставляет ИИ-агентам набор из 7 инструментов рассуждений для безопасного исследования и запросов к базе данных, понимания её схемы и структуры данных, выполнения вопросов на естественном языке и визуализации связей — всё без раскрытия внутренних деталей подключения.

Возможности

  • 7 инструментов рассуждений, предназначенных для ИИ-агентов: проверка подключения, список таблиц, просмотр таблицы, выполнение параметризованных SQL-запросов, вопросы на естественном языке, профилирование данных и построение ER-диаграммы.

  • Мультидвижок: SQLite (встроенный) плюс опционально PostgreSQL, MySQL и MSSQL.

  • Безопасность прежде всего: только чтение по умолчанию, параметризованные запросы, проверка операторов, ограничения по строкам/времени/объёму вывода.

  • Вывод, удобный для LLM: типы переведены, NULL обработаны, результаты отформатированы в Markdown-таблицах с контекстом.

  • Интроспекция схемы: автоматическое обнаружение таблиц, столбцов, индексов, внешних ключей и связей.

  • Запросы на естественном языке: перевод вопросов на обычном языке в SQL и возврат результатов.

Related MCP server: Universal Database MCP Server

Поддерживаемые движки

Движок

Требование

Дополнительная установка

SQLite

встроенный

PostgreSQL

psycopg

pip install "mcp-database-universal[postgres]"

MySQL

PyMySQL

pip install "mcp-database-universal[mysql]"

MSSQL

pyodbc + ODBC-драйвер

pip install "mcp-database-universal[mssql]"

все

pip install "mcp-database-universal[all]"

Установка

pip install mcp-database-universal

# With optional engines:
pip install "mcp-database-universal[postgres]"
pip install "mcp-database-universal[mysql]"
pip install "mcp-database-universal[mssql]"
# or everything:
pip install "mcp-database-universal[all]"

Быстрый старт

Запустите сервер через STDIO (транспорт по умолчанию для MCP-клиентов):

DATABASE_URL=sqlite:///app.db python -m mcp_database_universal

URL-адреса подключения:

sqlite:///path/to/db.db              SQLite (file)
sqlite:///:memory:                   SQLite (in-memory)
postgresql://user:pass@host:5432/db  PostgreSQL
mysql://user:pass@host:3306/db       MySQL
mssql://user:pass@host:1433/db       MSSQL (uses ODBC Driver 18)

Docker

docker build -t mcp-db .

# Mount a SQLite database read-only:
docker run --rm -i \
  -v /host/path/app.db:/data/app.db:ro \
  -e DATABASE_URL=sqlite:////data/app.db \
  mcp-db

# Or in-memory:
docker run --rm -i -e DATABASE_URL=sqlite:///:memory: mcp-db

Конфигурация

Вся конфигурация выполняется через переменные окружения.

Переменная

По умолчанию

Описание

DATABASE_URL

(обязательно)

URL-адрес подключения к базе данных.

DATABASE_READ_ONLY

true

Принудительный режим только для чтения (блокирует запись, даже если DATABASE_WRITE_ENABLED).

DATABASE_WRITE_ENABLED

false

Разрешить записывающие операторы, когда DATABASE_READ_ONLY=false.

DATABASE_MAX_ROWS

1000

Максимальное количество строк, возвращаемых за запрос.

DATABASE_MAX_QUERY_TIME

30

Таймаут запроса в секундах.

DATABASE_MAX_OUTPUT_BYTES

50000

Ограничение размера полезной нагрузки результата.

DATABASE_SAMPLE_SIZE

5

Количество примеров строк, показываемых в статистике таблиц/столбцов.

DATABASE_PROFILE_TOP_N

10

Top-N распределение значений в профилировании.

OPENAI_API_KEY

API-ключ для режима natural_query на основе LLM.

ANTHROPIC_API_KEY

API-ключ для режима natural_query на основе LLM.

Инструменты

Инструмент

Описание

test_connection

Проверка подключения к БД; сообщает движок, версию, имя, размер, количество таблиц.

list_tables

Обзор всех таблиц с количеством строк, столбцов, связями внешних ключей.

inspect_table

Полная структура одной таблицы: столбцы, типы, индексы, внешние ключи, примеры данных.

query

Выполнение безопасного параметризованного SQL-запроса и получение результатов в Markdown.

natural_query

Вопрос на естественном языке; получение сгенерированного SQL и результатов.

profile_database

Профиль данных: распределения, доля NULL, связи, размеры.

schema_graph

Mermaid ER-диаграмма связей таблиц.

Пример: query с параметрами

{
  "sql": "SELECT * FROM users WHERE id = :id AND active = :active",
  "params": "{\"id\": 42, \"active\": true}"
}

Параметры используют плейсхолдеры :name; передайте значения в виде JSON-строки в params.

Пример: natural_query

question: "How many users are there?"
-> SELECT COUNT(*) FROM users
question: "Show me all orders"
-> SELECT * FROM orders LIMIT 100

Рабочий пример на небольшой демонстрационной базе данных находится в examples/ вместе с готовыми фрагментами конфигурации для распространённых MCP-клиентов.

Конфигурация MCP-клиента

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "database": {
      "command": "python",
      "args": ["-m", "mcp_database_universal"],
      "env": {"DATABASE_URL": "sqlite:///C:/data/app.db"}
    }
  }
}

Cursor / другие клиенты на основе CLI

{
  "mcpServers": {
    "database": {
      "command": "uvx",
      "args": ["mcp-database-universal"],
      "env": {"DATABASE_URL": "sqlite:///C:/data/app.db"}
    }
  }
}

Примечание для Windows: асинхронный драйвер Postgres требует цикла событий Windows selector. Пакет автоматически устанавливает эту политику на win32, поэтому дополнительная настройка не требуется.

Разработка

pip install -e ".[dev]"
pytest

Интеграционные тесты для PostgreSQL/MySQL используют Docker Compose и автоматически пропускаются, если серверы недоступны:

docker compose -f tests/integration/docker-compose.yml up -d
pytest

Модель безопасности

  • Сервер по умолчанию только для чтения; операторы INSERT/UPDATE/DELETE/DROP/ALTER и другие записывающие операторы блокируются.

  • Запись возможна только когда оператор явно задаёт DATABASE_READ_ONLY=false и DATABASE_WRITE_ENABLED=true.

  • Результаты запросов ограничены количеством строк, таймаутом и размером вывода — предотвращаются неконтролируемые запросы.

Лицензия

MIT

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to query and explore databases including SQLite, PostgreSQL, MySQL, and SQL Server through a secure, read-only workflow. It provides tools for listing connections, inspecting table schemas, and executing SELECT statements directly within VS Code.
    1
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connect AI agents to SQL databases (SQLite, PostgreSQL, MySQL) with a unified interface for querying data, exploring schemas, inserting rows, and exporting results to CSV. Includes safety features like dangerous query blocking and write guards.
    13
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to connect to and interact with PostgreSQL, MySQL, SQLite, and MongoDB databases through natural language, supporting schema exploration, query execution, data export, and more.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with PostgreSQL or MySQL databases using natural language. Supports SQL queries, schema discovery, and pre-built aggregations without writing SQL.
    289
    MIT

View all related MCP servers

Related MCP Connectors

  • Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.

  • Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…

  • Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kobramantra-debug/mcp-database-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server