dolphinscheduler-mcp

dolphinscheduler-mcp

11

DolphinScheduler MCP Server is designed to bridge AI models with Apache DolphinScheduler, facilitating workflow management through standardized protocols. It offers comprehensive tools and easy configuration for seamless API integration.

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