mnemiq MCP

MCP-сервер text-to-SQL: агент спрашивает базу словами, получает SQL и трассу ответа, а при нехватке данных отказ с причиной.

  • 88 ★ репозитория
  • Последний коммит
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Вопросы и описание схемы уходят выбранной модели, а запросы выполняются на вашей базе.
  • Строки результата попадают в контекст агента, поэтому права ролей задают заранее.
Все причины и проверки

agenticfabriq/mnemiq

Установка

Ручная установка

{ "mcpServers": { "mnemiq": { "command": "mnemiq", "args": ["serve"] } } }

Конфигурация из README. Сначала выполняют `uv sync`, настраивают источник и модель, затем `mnemiq enrich` и `mnemiq build`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Вопросы и описание схемы уходят выбранной модели, а запросы выполняются на вашей базе.
  • Строки результата попадают в контекст агента, поэтому права ролей задают заранее.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

mnemiq отвечает на вопросы на естественном языке по вашей базе данных и отдает агенту два инструмента через MCP: `db_read(question)` возвращает ответ, SQL и трассу, `get_schema()` возвращает схему. Оба инструмента только читают данные и работают в границах прав вызывающего. Модель только составляет запрос. Затем детерминированный слой проверяет, что запрос читающий, обращается только к доступным объектам, компилируется в диалекте источника и проходит `EXPLAIN`. Не прошедший проверку запрос заканчивается отказом с причиной, без правдоподобного числа. Источники: Postgres, SQLite, DuckDB, Oracle, Snowflake и Databricks. Встроенный стенд измеряет точность на ваших вопросах.

Для кого. Аналитикам данных и командам, которые хотят дать Claude Code или Cursor ответы по своей базе и сначала измерить точность на ее вопросах.

Подходит, если

  • Агенту нужны цифры из склада данных, но писать SQL руками никто не хочет.
  • Для каждой роли нужны свои права: таблицы вне доступа модель вообще не видит.
  • Перед запуском интересует точность на своей схеме: двадцать-тридцать вопросов прогоняют с разными настройками.
  • Ответ должен показывать запрос и прочитанные таблицы, чтобы его проверил человек.

Не подходит, если

  • Требуется запись в базу или изменение данных: инструменты только читают.
  • Данные нельзя отправлять внешнему поставщику модели, а локальной модели нет.
  • Нужен готовый хостинг без развертывания: проект запускают самостоятельно.

Пример запроса к агенту

Сколько у нас клиентов по странам? Покажи SQL и таблицы, из которых ты брал данные.

MCP

Транспорт
stdio
Авторизация
API-ключ

Переменные окружения

MNEMIQ_LLM_BASE_URL обязательная
Адрес совместимого с OpenAI API модели, которая пишет SQL.
MNEMIQ_LLM_API_KEY обязательная, секрет
Ключ доступа к модели.
MNEMIQ_LLM_MODEL обязательная
Название модели.
MNEMIQ_SOURCES_PATH обязательная
Путь к манифесту источников данных.
MNEMIQ_AUTHZ_PATH обязательная
Путь к политике доступа ролей.
MNEMIQ_STORE_PATH обязательная
Путь к файлу DuckDB с кешем обогащения.

Ограничения

Нужен Python 3.12 и новее и менеджер `uv`, первая установка тянет около 230 МБ. Требуется доступ к модели через переменные `MNEMIQ_LLM_BASE_URL`, `MNEMIQ_LLM_API_KEY` и `MNEMIQ_LLM_MODEL`. Перед вопросами нужно выполнить `mnemiq enrich` и `mnemiq build`, пока этого нет, инструмент возвращает ошибку. DuckDB в зависимостях ограничен версией ниже 2. Проект молодой: версия в `pyproject.toml` помечена как `0.1.0.dev0`.

Как отключить. Уберите запись `mnemiq` из конфигурации MCP-клиента. Кеш лежит по пути `MNEMIQ_STORE_PATH` и удаляется вместе с этим файлом.

Частые вопросы

Какие инструменты MCP дает mnemiq?

Два: `db_read(question)` возвращает ответ, SQL и трассу, `get_schema()` отдает схему. Оба только читают и учитывают права вызывающего.

Как подключить mnemiq к MCP-клиенту?

Добавьте в конфигурацию `{ "mcpServers": { "mnemiq": { "command": "mnemiq", "args": ["serve"] } } }`. При установке через `uv sync` запускайте `uv run mnemiq serve` из каталога репозитория.

Что будет, если данных для ответа нет?

Движок откажет и назовет, каких столбцов не хватает, вместо числа, которое выглядит правдоподобно.

Можно ли запустить mnemiq без своей базы?

Да. `uv run python scripts/seed_demo.py` создает небольшую SQLite-базу с манифестом источников и политикой доступа в папке `demo/`.

Есть ли веб-интерфейс?

Да, стенд запускается командой `uv run mnemiq serve --http` на `127.0.0.1:8080` после сборки каталога `workbench`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы
Официальный

Один бинарник MCP-сервера для MySQL, MariaDB, PostgreSQL и SQLite: запросы только на чтение по умолчанию и маскировка ПДн

MCP-серверШирокий доступ33Звезды репозитория

Один MCP-сервер для SQLite, SQL Server, PostgreSQL и MySQL: агент читает и меняет данные, правит схему и выгружает CSV и JSON

MCP-серверШирокий доступ390Звезды репозитория

SQL-движок на SQLite с плагинами для приложений, баз и файлов: команда anyquery mcp открывает эти данные Claude, Cursor и другим клиентам MCP

MCP-серверШирокий доступ1,8 тыс.Звезды репозитория

MCP-сервер на Go: агент задает вопросы базе PostgreSQL обычными словами и получает результат запроса

MCP-серверРасширенный доступ542Звезды репозитория
Официальный

Десктопное рабочее место для SQL с встроенным MCP-сервером: агент читает схему и выполняет запросы в том же клиенте, где работаете вы

MCP-серверШирокий доступ5,4 тыс.Звезды репозитория

MCP-сервер на Python для работы с MySQL: список таблиц, чтение данных, выполнение SQL и разбор схемы через контролируемый интерфейс

MCP-серверШирокий доступ1,4 тыс.Звезды репозитория

Коротко о README

Проект дает движок text-to-SQL и стенд оценки точности на ваших данных. Описаны девять стадий ответа, уровни семантического слоя и быстрый старт на демо-базе. Отдельный репозиторий beacon проверяет результаты, чтобы система не оценивала сама себя.

Бейдж для README

Сообщить о проблеме

Foxx AImnemiq
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.