Publisher: The Malloy Semantic Model Server
a year ago
- #semantic-layer
- #data-modeling
- #open-source
- Malloy is an open-source language for modeling data, providing a framework to encode business context and run queries against databases.
- Publisher is a server that exposes Malloy's semantic models through APIs, enabling consistent and reliable data queries across applications and AI agents.
- Publisher solves the problem of inconsistent data interpretation by providing a shared, unambiguous understanding of business terms like 'revenue' or 'active user'.
- Publisher consists of three main components: the Publisher Server (APIs & backend), the Publisher SDK (UI components), and the Publisher App (reference implementation).
- The Publisher Server includes REST API and Model Context Protocol (MCP) API, with an upcoming SQL API for connecting existing tools.
- Malloy packages contain .malloy files for data models, .malloynb files for notebooks, and a publisher.json manifest for metadata.
- Publisher SDK is a React component library for building interfaces that interact with Publisher Server's APIs.
- Publisher App is a standalone web application built using the SDK, serving as a reference for local development and exploration.
- MCP-powered applications include AI data analysts, context-aware chatbots, automated reporting, and data quality validation tools.
- Setup involves initializing Git submodules, installing dependencies with bun, building the project, and starting the server.
- Configuration is managed via publisher.config.json (server settings) and publisher.connections.json (project-specific database connections).
- Future features include enhanced developer mode, integrated ad hoc analysis UI, scheduled transform pipelines, SQL API, and integrations with DBT and Airflow.