Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-dagster

该项目提供了一个基于Model Context Protocol的Dagster服务接口,使AI代理能够与Dagster数据编排平台交互,实现数据管道探索、运行监控和资产管理。

article

README

🚀 mcp-dagster:一个 Dagster MCP 服务器

模型上下文协议 (MCP) 是一个开放协议,它能让 LLM 应用程序与外部数据源和工具实现无缝集成。本项目提供了一个 MCP 服务器,可用于与数据编排平台 Dagster 进行交互。

🚀 快速开始

运行示例

  1. 启动带有您的管道的 Dagster 实例:
uv run dagster dev -f ./examples/open-ai-agent/pipeline.py
  1. 运行使用 SSE 传输的 MCP 服务器:
uv run examples/open-ai-agent/run_sse_mcp.py
  1. 启动与 Dagster 交互的代理循环:
uv run ./examples/open-ai-agent/agent.py

示例交互

代理启动后,您可以提出以下问题:

  • “我的 Dagster 实例中有哪些可用资产以及它们的作用是什么?”
  • “能否物化 continent_stats 资产并显示结果?”
  • “检查最近的运行状态,并提供任何失败的摘要”
  • “创建一个依赖于 continent_stats 的新月度聚合资产”

代理会借助 MCP 服务器与您的 Dagster 实例进行交互,并依据您的数据管道给出答案。

✨ 主要特性

本服务器实现了与 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:获取特定资产的详细信息

📦 安装指南

暂未提供相关安装步骤,若有需要请持续关注。

📚 详细文档

概述

这是一个实现模型上下文协议的服务器,它能让 AI 代理与 Dagster 实例进行交互,用于探索数据管道、监控运行并管理资产,充当了 LLM 和数据工程工作流之间的桥梁。

阅读我们的发布文章以了解更多信息。

配置

该服务器使用以下默认配置连接到 Dagster: | 属性 | 详情 | |------|------| | GraphQL 端点 | http://localhost:3000/graphql | | 传输方式 | SSE(服务器发送事件) |

项目状态

PyPI 版本 测试

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client