DolphinScheduler MCP Server
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-mcpConfiguration
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 APIDOLPHINSCHEDULER_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 8089Python 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