mcp-server-dagster
The mcp-dagster project is a Model Context Protocol (MCP) server facilitating interactions between AI agents and Dagster data orchestration platforms. It allows for exploration and management of data pipelines and assets, enhancing the integration of LLMs with data workflows.
mcp-dagster: A Dagster MCP Server
The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. This repository provides an MCP server for interacting with Dagster, the data orchestration platform.
Overview
A Model Context Protocol server that enables AI agents to interact with Dagster instances, explore data pipelines, monitor runs, and manage assets. It serves as a bridge between LLMs and your data engineering workflows.
Read our launch post to learn more.
Components
Tools
The server implements several tools for Dagster interaction:
list_repositories
: Lists all available Dagster repositorieslist_jobs
: Lists all jobs in a specific repositorylist_assets
: Lists all assets in a specific repositoryrecent_runs
: Gets recent Dagster runs (default limit: 10)get_run_info
: Gets detailed information about a specific runlaunch_run
: Launches a Dagster job runmaterialize_asset
: Materializes a specific Dagster assetterminate_run
: Terminates an in-progress Dagster runget_asset_info
: Gets detailed information about a specific asset
Configuration
The server connects to Dagster using these defaults:
- GraphQL endpoint:
http://localhost:3000/graphql
- Transport: SSE (Server-Sent Events)
Quickstart
Running the Example
- Start the Dagster instance with your pipeline:
uv run dagster dev -f ./examples/open-ai-agent/pipeline.py
- Run the MCP server with SSE transport:
uv run examples/open-ai-agent/run_sse_mcp.py
- Start the agent loop to interact with Dagster:
uv run ./examples/open-ai-agent/agent.py
Example Interactions
Once the agent is running, you can ask questions like:
- "What assets are available in my Dagster instance and what do they do?"
- "Can you materialize the continent_stats asset and show me the result?"
- "Check the status of recent runs and provide a summary of any failures"
- "Create a new monthly aggregation asset that depends on continent_stats"
The agent will use the MCP server to interact with your Dagster instance and provide answers based on your data pipelines.