Malloy Publisher MCP

Malloy Publisher отдает одну модель данных агентам по MCP и приложениям по REST, запросы идут на Malloy

  • 132 ★ репозитория
  • Последний коммит
  • MIT
MCP-серверОфициальный

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

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

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

malloydata/publisher

Установка

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

npx @malloy-publisher/server@latest --port 4000

Откройте `http://localhost:4000`: примеры на DuckDB работают без учетных данных.

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

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

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

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

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

Что делает

Сервер аналитики для языка Malloy. Вы описываете смысл данных: источники, соединения, меры и права доступа. Агент строит модель с помощью поставляемых скиллов, а Publisher отдает ее по MCP в Claude, Cursor и Codex и по REST приложениям и BI-инструментам. Запросы пишутся на Malloy и идут к модели, сырых таблиц они не касаются, поэтому нет неверных соединений и выдуманных столбцов, а один и тот же вопрос завтра дает те же числа. В одном сервере собраны моделирование, движок запросов, материализация, управление доступом и API. DuckDB встроен для CSV, Parquet, JSON и Excel, подключения есть к BigQuery, Snowflake, Postgres, Databricks и MotherDuck. Аннотации `#(authorize)` и `#(access_filter)` решают, кто что видит, `#@ persist` материализует дорогой источник в таблицу.

Для кого. Аналитикам и разработчикам, которые хотят дать агентам и BI-инструментам одну проверенную модель данных и отказаться от ручного SQL.

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

  • Агент пишет SQL с неверными соединениями, и нужна модель, исключающая выдуманные столбцы
  • Одни и те же метрики должны одинаково считаться в чате, отчетах и приложениях
  • Нужно разграничить доступ: кто какие строки видит, через `#(access_filter)`
  • Дорогой источник надо материализовать по расписанию одной аннотацией `#@ persist`

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

  • Данные описаны только в SQL и dbt, и переписывать их в Malloy не планируется
  • Нужен публичный сервис без шлюза: контроль доступа рассчитан на микросервис за вашим шлюзом
  • Node.js 20 установить нельзя: сервер отказывается стартовать на более старой версии

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

Подключись к Malloy Publisher и покажи выручку по месяцам из модели storefront без собственного SQL

MCP

Транспорт
http
Авторизация
не нужна

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

MCP_PORT
Порт MCP, по умолчанию 4040

Ограничения

  • Нужен Node.js 20 или новее, сервер на более старой версии не запускается. Для сборки из клона нужен Bun 1.3.13 или новее, образ Docker приносит свою среду.
  • Контроль доступа рассчитан на микросервис за вашим шлюзом, который аутентифицирует пользователей и задает значения `givens`: сам сервер пользователей не проверяет.
  • Файл `.mcp.json` сервер пишет не везде: в рабочем дереве git, домашнем каталоге и каталоге с готовым `.mcp.json` он пропускает запись и сообщает в журнале.
  • Первый запуск примеров загружает пакеты из GitHub.
  • Для Cursor, VS Code, Codex и Claude Desktop адрес MCP `http://localhost:4040/mcp` указывается в их собственной конфигурации.

Как отключить. Остановите процесс сервера и удалите `.mcp.json`, который он создал. Для Claude Code выполните `claude mcp remove malloy -s user`. Пакеты и модели лежат в вашей папке проекта.

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

Как подключить Malloy Publisher к Claude Code?

Запустите сервер и выполните `claude mcp add --transport http malloy http://127.0.0.1:4040/mcp -s user`. Другие клиенты используют тот же адрес.

Как попробовать без своих данных?

Выполните `npx @malloy-publisher/server@latest --port 4000` и откройте `http://localhost:4000`: есть три примера, `storefront`, `governed-analytics` и `html-data-app`, на DuckDB без учетных данных.

Как создать пакет со своими данными?

Выполните `npm create @malloy-publisher/malloy-package@latest sales` и `npm start`. Команда создает пакет и небольшое рабочее пространство в текущей папке.

Какие базы поддерживаются?

DuckDB встроен для CSV, Parquet, JSON и Excel. Остальные подключаются: BigQuery, Snowflake, Postgres, Databricks, MotherDuck и другие.

Как поставить скиллы Malloy?

Выполните `npx -y @malloy-publisher/skills@latest install`: скиллы копируются в проект. Прочитать их без установки можно по ссылке на unpkg.

Обсуждение

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

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

MCP-сервер платформы Duckle: агент собирает, проверяет и запускает ETL-пайплайны на DuckDB на вашей машине

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

DuckDB / MotherDuck MCP Server

DuckDB / MotherDuck Local MCP Server

Официальный

MCP-сервер для SQL-аналитики на DuckDB: локальные файлы, база в памяти, базы на S3 и MotherDuck

MCP-серверРасширенный доступ540Звезды репозитория

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

MCP-серверРасширенный доступ81Звезды репозитория

Плагин Dex: агент изучает базу, строит модели dbt и семантический слой и следит за дрейфом схем с контролем затрат

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

Временная песочница на DuckDB: агент загружает CSV и запрашивает данные по MCP или REST, не трогая боевую базу

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

MCP-сервер Byaan передает Claude Code и Cursor вопросы к вашим базам данных и возвращает запросы с результатами в режиме чтения.

MCP-серверРасширенный доступ96Звезды репозитория

Коротко о README

README объясняет, что один сервер заменяет пять проектов: моделирование, движок запросов, материализацию, доступ и API. Далее идут требования, запуск примеров, создание своего пакета и подключение агентов по MCP.

Бейдж для README

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