mcp-dagster: A Dagster MCP Server について
mcp-dagster は、データオーケストレーションプラットフォーム Dagster 向けの MCP サーバーで、AI エージェントがパイプラインの確認、実行の監視、アセットの管理を行えます。データエンジニアリングチームを対象に、LLM とワークフローをつなぐ役割を果たします。OpenAI を用いたサンプルエージェントと SSE トランスポートでの実行例も含まれます。
主な機能
- 01リポジトリ、ジョブ、アセットの一覧表示
- 02最近の実行と個別実行の詳細取得
- 03ジョブ実行の起動と終了
- 04指定アセットのマテリアライズ
活用シーン
- 01Dagster インスタンス内のアセットの確認
- 02直近の実行状況の確認と失敗の要約
- 03エージェント経由でのアセットのマテリアライズと結果確認
MCP 対応
本プロジェクトは、Dagster の照会および操作ツールを SSE トランスポート経由で MCP クライアントに提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-dagster:Dagster MCP サーバー
Model Context Protocol(MCP)は、LLM アプリケーションと外部のデータソースやツールをシームレスに統合するオープンプロトコルです。このリポジトリでは、データオーケストレーションプラットフォームのDagsterと連携する MCP サーバーを提供しています。
概要
AI エージェントが Dagster インスタンスと連携し、データパイプラインを調査し、実行を監視し、アセットを管理できる Model Context Protocol サーバーです。LLM とデータエンジニアリングのワークフローをつなぐブリッジとして機能します。
詳しくは、公開記事をご覧ください。
コンポーネント
ツール
このサーバーは、Dagster と連携する以下のツールを実装しています。
list_repositories:利用可能なすべての Dagster リポジトリを一覧表示しますlist_jobs:指定したリポジトリ内のすべてのジョブを一覧表示しますlist_assets:指定したリポジトリ内のすべてのアセットを一覧表示しますrecent_runs:最近の Dagster の実行を取得します(デフォルトの上限:10)get_run_info:特定の実行の詳細情報を取得しますlaunch_run:Dagster ジョブの実行を開始しますmaterialize_asset:特定の Dagster アセットをマテリアライズしますterminate_run:進行中の Dagster の実行を終了しますget_asset_info:特定のアセットの詳細情報を取得します
設定
サーバーは次のデフォルト設定で Dagster に接続します。
- GraphQL エンドポイント:
http://localhost:3000/graphql - トランスポート:SSE(Server-Sent Events)
クイックスタート
サンプルの実行
- パイプラインを含む Dagster インスタンスを起動します。
uv run dagster dev -f ./examples/open-ai-agent/pipeline.py
- SSE トランスポートで MCP サーバーを実行します。
uv run examples/open-ai-agent/run_sse_mcp.py
- エージェントループを起動して Dagster と連携します。
uv run ./examples/open-ai-agent/agent.py
対話例
エージェントの実行中は、次のような質問ができます。
- 「Dagster インスタンスで利用できるアセットと、それぞれの用途を教えてください」
- 「continent_stats アセットをマテリアライズして、結果を見せてもらえますか?」
- 「最近の実行状況を確認し、失敗があれば概要を教えてください」
- 「continent_stats に依存する、新しい月次集計アセットを作成してください」
エージェントは MCP サーバーを使って Dagster インスタンスと連携し、データパイプラインに基づいて回答します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。