Skip to content

Publisher is the open-source semantic model server for the Malloy data language. It lets you define semantic models once — and use them everywhere.

License

Notifications You must be signed in to change notification settings

malloydata/publisher

Repository files navigation

Publisher

build

Publisher is the open-source semantic model server for Malloy. It serves Malloy models through REST and MCP APIs, enabling consistent data access for applications, tools, and AI agents.

Quick Start

git clone https://github.com/credibledata/malloy-samples.git
cd malloy-samples
npx @malloy-publisher/server --port 4000 --server_root .

Open http://localhost:4000 to explore the sample models.

Documentation

Full documentation is available at docs.malloydata.dev/documentation/user_guides/publishing:

How the Pieces Fit Together

Malloy

The core compiler and query execution engine. Malloy compiles .malloy files into SQL, executes queries against databases, and returns structured Result objects. Malloy is a pure JavaScript/TypeScript library with no UI or serving capabilities—it's the foundation everything else builds on.

Repository: github.com/malloydata/malloy

Malloy Render

A visualization library that transforms Malloy Result objects into interactive tables, charts, and dashboards.

When Malloy executes a query, the result includes both data and rendering hints—tags like # bar_chart or # line_chart that indicate how the data should be displayed. Malloy Render interprets these tags and produces the appropriate visualization.

Built with: SolidJS and Vega/Vega-Lite. Available as both a JavaScript API (MalloyRenderer) and a <malloy-render> web component.

Repository: github.com/malloydata/malloy/packages/malloy-render

Publisher

An open-source semantic model server for Malloy. Publisher makes Malloy models accessible over the network and provides a professional UI for data exploration.

  • Server: REST API for listing content, managing database connections, compiling models, and executing queries. Also provides an MCP API for AI agent integration.
  • App: Web interface for browsing Malloy content, exploring models with a no-code query builder, and viewing results.

Publisher SDK

A React component library for building custom data applications powered by Publisher:

  • API communication — Talks to the Publisher Server via REST
  • Query execution — Submits queries and retrieves results
  • Result visualization — Integrates Malloy Render to display results
  • UI components — Pre-built pages for browsing projects, packages, models, and notebooks

The Publisher App is built entirely with the SDK, but the SDK is a standalone NPM package for building your own applications.

Architecture

Publisher consists of four packages:

Package Description
packages/server Express.js backend providing REST API (port 4000) and MCP API (port 4040). Loads Malloy packages, compiles queries, executes against databases.
packages/sdk React component library for building UIs that consume Publisher's REST API.
packages/app Reference implementation and production-ready data exploration tool built with the SDK.
packages/python-client Auto-generated Python SDK for the REST API.

Development

This project uses bun as the JavaScript runtime.

git submodule init && git submodule update  # Get malloy-samples
bun install
bun run build:server-deploy
bun run start                               # Production server
bun run start:dev       # Dev server with watch
bun run test            # Run tests
bun run lint && bun run format  # Code quality

Community

About

Publisher is the open-source semantic model server for the Malloy data language. It lets you define semantic models once — and use them everywhere.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 15