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.
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 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 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