DolphinScheduler MCP Server logo

DolphinScheduler MCP Server

by ocean-zhc

A Model Context Protocol (MCP) server for Apache DolphinScheduler, allowing AI agents to interact with DolphinScheduler through a standardized protocol. It acts as a bridge between AI models and DolphinScheduler, enabling AI-driven workflow management.

View on GitHub

Last updated: N/A

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