QueryWeaver MCP
Text2SQL-сервер FalkorDB: агент задает вопрос к базе обычным языком, а граф схемы помогает собрать верный SQL
- 1 094 ★ репозитория
- Последний коммит
- AGPL-3.0
Широкий доступ
Почему такой уровень
- Агент подключает базу по строке подключения и выполняет сгенерированный SQL, а среди запросов могут оказаться изменяющие данные
- Приложение хранит схему и учетные данные баз, а порт 5000 открыт для HTTP без обратного прокси
Установка
- Работает в
Ручная установка
docker run -p 5000:5000 -it falkordb/queryweaverПоднимает приложение на порту 5000; MCP доступен по адресу /mcp.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент подключает базу по строке подключения и выполняет сгенерированный SQL, а среди запросов могут оказаться изменяющие данные
- Приложение хранит схему и учетные данные баз, а порт 5000 открыт для HTTP без обратного прокси
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
QueryWeaver превращает вопросы на естественном языке в SQL и возвращает запрос вместе с результатом. Схему базы он хранит в графе FalkorDB: таблицы, столбцы и связи между ними, поэтому модель видит, какие таблицы объединять, и реже придумывает несуществующие поля. MCP-часть встроена в приложение и включена по умолчанию. Она открывает по адресу `/mcp` четыре операции: `list_databases` показывает подключенные базы, `connect_database` подключает новую, `database_schema` отдает схему, `query_database` отвечает на вопрос. Приложение умеет загружать схемы из PostgreSQL, MySQL и Snowflake. Клиент подключается по HTTP с токеном в заголовке Authorization, а запустить сервер можно одной командой Docker.
Для кого. Аналитикам и разработчикам с базой в PostgreSQL, MySQL или Snowflake, которым нужны ответы по данным без ручного написания запросов.
Подходит, если
- Продакт-менеджер просит агента вытащить из базы заказов выручку по неделям, а SQL писать некому
- Схема на десятки таблиц, и модель постоянно путает связи: граф схемы подсказывает, как соединять
- Агент в Claude Code должен сам посмотреть структуру новой базы перед доработкой запросов
- Нужен самостоятельный Text2SQL-сервис с REST API и MCP для нескольких клиентов сразу
Не подходит, если
- Данные лежат в хранилище, которого нет среди загрузчиков: поддержаны PostgreSQL, MySQL и Snowflake
- База с критичными данными и боевым доступом на запись: сгенерированный запрос лучше сначала прогнать на копии
- Достаточно разовой выгрузки в таблицу: поднимать отдельный сервис ради одного запроса избыточно
Пример запроса к агенту
Подключи QueryWeaver и покажи, сколько заказов было в каждом регионе за последний месяц, вместе с сгенерированным SQLMCP
- Транспорт
- http
- Авторизация
- API-ключ
Переменные окружения
DISABLE_MCP- Значение true отключает встроенный MCP; по умолчанию он включен
Ограничения
Приложение требует настройки: нужны ключи провайдера модели и параметры из `.env.example`, схему базы сначала загружают в граф. Лицензия AGPL-3.0 накладывает условия на сетевое использование изменений. Порт 5000 открыт для HTTP, а токен для `/mcp` выдается в самом приложении, поэтому сервис не стоит выставлять в интернет без обратного прокси. Версия в реестре MCP 0.0.11, интерфейс операций может меняться. Качество ответа зависит от выбранной модели и от того, насколько понятны названия таблиц.
Как отключить. Остановите контейнер, удалите блок queryweaver из конфигурации клиента и отзовите токен. Встроенный MCP можно выключить переменной `DISABLE_MCP=true`.
Частые вопросы
Как запустить QueryWeaver?
Выполните `docker run -p 5000:5000 -it falkordb/queryweaver` и откройте http://localhost:5000. Для настройки передайте файл окружения: `docker run -p 5000:5000 --env-file .env falkordb/queryweaver`, шаблон лежит в `.env.example`.
Какие операции дает MCP-сервер?
Четыре: `list_databases`, `connect_database`, `database_schema` и `query_database`. Все они крутятся вокруг Text2SQL: показать базы, подключить, отдать схему, ответить на вопрос.
Как подключить QueryWeaver как MCP-сервер?
В конфигурации клиента укажите сервер типа http с адресом http://127.0.0.1:5000/mcp и заголовком `Authorization: Bearer ваш_токен`. Токен берут в приложении.
Можно ли отключить MCP?
Да. Передайте `DISABLE_MCP=true` в окружение, например `docker run -p 5000:5000 -it --env DISABLE_MCP=true falkordb/queryweaver`. По умолчанию MCP включен.
Есть ли у QueryWeaver готовый клиент для Python?
В репозитории есть пакет `queryweaver` с модулями client и connection, на PyPI он опубликован под тем же именем. Отдельного описания его API в README нет, смотрите примеры в каталоге `examples`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер text-to-SQL: агент спрашивает базу словами, получает SQL и трассу ответа, а при нехватке данных отказ с причиной.
SQL-движок на SQLite с плагинами для приложений, баз и файлов: команда anyquery mcp открывает эти данные Claude, Cursor и другим клиентам MCP
Один бинарник MCP-сервера для MySQL, MariaDB, PostgreSQL и SQLite: запросы только на чтение по умолчанию и маскировка ПДн
Один MCP-сервер для SQLite, SQL Server, PostgreSQL и MySQL: агент читает и меняет данные, правит схему и выгружает CSV и JSON
Десктопное рабочее место для SQL с встроенным MCP-сервером: агент читает схему и выполняет запросы в том же клиенте, где работаете вы
Легкое рабочее место для баз данных с MCP-сервером: агент читает схему, выполняет запросы и разбирает данные в PostgreSQL, MySQL и других
Коротко о README
Проект назван открытым Text2SQL-инструментом с REST API, MCP и графовым пониманием схемы. Дальше идут запуск через Docker, настройка через `.env`, раздел про встроенный MCP с примером клиентской конфигурации и подключение внешних MCP-серверов.