dolphinscheduler-mcp
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 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