icon for mcp server

DolphinScheduler Workflow Management

HTTP-SSESTDIO

MCP server allowing AI agents to interact with DolphinScheduler through standardized protocol.

DolphinScheduler MCP Server

A Model Context Protocol (MCP) server for Apache DolphinScheduler, allowing AI agents to interact with DolphinScheduler through a standardized protocol.

Overview

DolphinScheduler MCP provides a FastMCP-based server that exposes DolphinScheduler's REST API as a collection of tools that can be used by AI agents. The server acts as a bridge between AI models and DolphinScheduler, enabling AI-driven workflow management.

Features

  • Full API coverage of DolphinScheduler functionality
  • Standardized tool interfaces following the Model Context Protocol
  • Easy configuration through environment variables or command-line arguments
  • Comprehensive tool documentation

Installation

pip install dolphinscheduler-mcp

Configuration

Environment Variables

  • DOLPHINSCHEDULER_API_URL: URL for the DolphinScheduler API (default: http://localhost:12345/dolphinscheduler)
  • DOLPHINSCHEDULER_API_KEY: API token for authentication with the DolphinScheduler API
  • DOLPHINSCHEDULER_MCP_HOST: Host to bind the MCP server (default: 0.0.0.0)
  • DOLPHINSCHEDULER_MCP_PORT: Port to bind the MCP server (default: 8089)
  • DOLPHINSCHEDULER_MCP_LOG_LEVEL: Logging level (default: INFO)

Usage

Command Line

Start the server using the command-line interface:

ds-mcp --host 0.0.0.0 --port 8089

Python API

from dolphinscheduler_mcp.server import run_server # Start the server run_server(host="0.0.0.0", port=8089)

Available Tools

The DolphinScheduler MCP Server provides tools for:

  • Project Management
  • Process Definition Management
  • Process Instance Management
  • Task Definition Management
  • Scheduling Management
  • Resource Management
  • Data Source Management
  • Alert Group Management
  • Alert Plugin Management
  • Worker Group Management
  • Tenant Management
  • User Management
  • System Status Monitoring

Example Client Usage

from mcp_client import MCPClient # Connect to the MCP server client = MCPClient("http://localhost:8089/mcp") # Get a list of projects response = await client.invoke_tool("get-project-list") # Create a new project response = await client.invoke_tool( "create-project", {"name": "My AI Project", "description": "Project created by AI"} )

License

Apache License 2.0

Be the First to Experience MCP Now