what is mcp-dagster?
The mcp-dagster is a Model Context Protocol (MCP) server that facilitates interaction between AI agents and Dagster, a data orchestration platform. It enables seamless integration of LLM applications with external data sources and tools.
how to use mcp-dagster?
To use mcp-dagster, start your Dagster instance and run the MCP server. You can then interact with the server using an agent that communicates with your Dagster instance to manage data pipelines and assets.
key features of mcp-dagster?
- Lists available Dagster repositories, jobs, and assets.
- Retrieves recent Dagster runs and detailed run information.
- Launches and terminates Dagster job runs.
- Materializes specific Dagster assets.
use cases of mcp-dagster?
- Monitoring and managing data pipelines in Dagster.
- Interacting with AI agents to query data assets and their statuses.
- Automating data processing tasks through Dagster jobs.
FAQ from mcp-dagster?
- What is the Model Context Protocol (MCP)?
MCP is an open protocol that allows LLM applications to integrate with various data sources and tools seamlessly.
- How do I start using mcp-dagster?
You need to run a Dagster instance and then start the MCP server to interact with it.
- What programming language is mcp-dagster written in?
mcp-dagster is written in Python.
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.