このプロジェクトについて

Malloy Publisherは、Malloyデータモデリング言語向けのオープンソース分析エンジンです。ユーザーはデータモデルを一度定義すれば、MCP(Model Context Protocol)とREST APIを通じてAIエージェント、アプリケーション、BIツールで利用できます。 主な機能は次のとおりです。 - **モデル**: 同梱のオープンソーススキルを使って、ウェアハウスまたはローカルファイルからデータモデルを構築し、再起動なしで検証できます。 - **分析**: Claude、Cursor、CodexなどのAIエージェント向けにMCP経由で、または無人エージェントやアプリケーション向けにREST経由でクエリを実行できます。 - **表示**: Malloyで宣言されたダッシュボード、ノートブック、ビルド不要のHTMLデータアプリを作成し、すべてパッケージから提供できます。 - **ガバナンス**: givens、`#(authorize)`および`#(access_filter)`アノテーションによるアクセス制御と、キュレーションされたディスカバリーを実装できます。 - **最適化**: `#@ persist`で高コストなソースをテーブルにマテリアライズし、`#@ preaggregate`で事前集計し、オンデマンドまたはスケジュールで再構築できます。 - **どこでも実行**: CSV、Parquet、JSON、Excel向けにDuckDBを内蔵。BigQuery、Snowflake、Postgres、Databricks、MotherDuckなどに接続。`npx`、Docker、Composeでデプロイできます。 クイックスタート: `npx @malloy-publisher/server@latest --port 4000`を実行すると、DuckDBをバックエンドとし認証情報が不要な同梱のサンプルパッケージ(storefront、governed-analytics、html-data-app)を提供します。`npm create @malloy-publisher/malloy-package@latest sales`で新しいパッケージを作成し、`-- --data ./orders.csv`でローカルデータファイルを取り込めます。 AIエージェントを接続するには、MCPエンドポイント(デフォルトは`http://localhost:4000/mcp`または`http://127.0.0.1:4040/mcp`)を指定します。サーバーは起動時にClaude Code用の`.mcp.json`設定を書き出します。REST APIは任意の言語で利用でき、OpenAPI仕様は`/api-doc.yaml`にあります。 セキュリティに関する注意: サーバーはステートレスで認証がありません。ローカル利用ではループバックにバインドし、より広く公開する場合は認証ゲートウェイを前に配置してください。 例には、主力のeコマースモデル(storefront)、ガバナンスのショーケース(governed-analytics)、ビルド不要のHTMLダッシュボード(html-data-app)、SDKを使ったスタンドアロンのVite + Reactアプリ(data-app)があります。 ドキュメントは`docs/`フォルダとdocs.malloydata.devにあります。PublisherはAI Analytics Engineを手がけるCredibleによって作成・維持されており、MITライセンスのオープンソースです。