使用说明

项目简介

Dagster MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在桥接大型语言模型 (LLM) 应用和 Dagster 数据编排平台。它允许 AI 智能体通过标准化的 MCP 协议与 Dagster 实例交互,从而实现数据管道的探索、监控、任务触发等功能。

主要功能点

  • Dagster 功能集成: 提供一系列工具 (Tools),使 LLM 能够访问和操作 Dagster 的核心功能,包括:
    • 资源发现: 列出 Dagster 仓库、任务 (Jobs) 和资产 (Assets)。
    • 运行监控: 查看最近的 Dagster 任务运行状态和详细信息。
    • 任务管理: 启动 Dagster 任务运行和终止正在进行的任务。
    • 资产操作: 触发 Dagster 资产的物化 (Materialization),并获取资产信息。
  • MCP 协议支持: 遵循 MCP 协议标准,通过 JSON-RPC 与客户端通信,支持 SSE (Server-Sent Events) 传输协议。
  • 易于集成: 提供简单的配置和启动方式,方便与各种 MCP 客户端(如 LLM 智能体)集成。

安装步骤

  1. 确保已安装 Python 环境。
  2. 安装 'mcp-server-dagster' 包:
    pip install mcp-server-dagster
    请确保您的环境中可以访问 Dagster 实例。默认情况下,服务器会连接到 'http://localhost:3000/graphql' 的 Dagster GraphQL 端点。

服务器配置

MCP 客户端需要配置连接到 Dagster MCP Server 的信息。以下是一个 MCP 客户端配置示例 (JSON 格式):

{
  "server_name": "DagsterMCP",
  "command": "mcp-dagster",
  "args": [],
  "transport": "sse"
}

配置参数说明:

  • 'server_name': 为该 MCP 服务器实例指定一个名称,例如 "DagsterMCP"。
  • 'command': 启动 MCP 服务器的命令。安装 'mcp-server-dagster' 后,'mcp-dagster' 命令即可运行服务器。请确保该命令在 MCP 客户端的运行环境中可执行(例如已添加到 PATH 环境变量)。
  • 'args': 传递给服务器命令的参数。对于基本的 SSE 传输,无需额外参数,因此为空列表 '[]'。
  • 'transport': 指定 MCP 服务器使用的传输协议,这里设置为 "sse" (Server-Sent Events)。

基本使用方法

  1. 启动 Dagster 实例:确保您的 Dagster 实例正在运行。
  2. 启动 MCP 服务器:在命令行中执行 'mcp-dagster' 命令即可启动 Dagster MCP Server。默认配置下,服务器将使用 SSE 协议,并在 'http://0.0.0.0:8000/sse' 提供服务。
  3. 配置 MCP 客户端:在您的 MCP 客户端(例如 LLM 智能体)中,配置上述 JSON 内容,使其连接到 Dagster MCP Server。
  4. 使用 LLM 智能体与 Dagster 交互:现在,您可以指示您的 LLM 智能体使用 Dagster MCP Server 提供的工具来探索和操作 Dagster 数据管道。例如,您可以询问关于 Dagster 仓库、任务、资产的信息,或者请求启动、监控任务运行等。

信息

分类

开发者工具