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
Metadata
Release files for iflow-mcp_ocean-zhc-dolphinscheduler-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_ocean_zhc_dolphinscheduler_mcp-0.1.0.tar.gz | 34.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_ocean_zhc_dolphinscheduler_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 96.1 kB
Release files / iflow_mcp_ocean_zhc_dolphinscheduler_mcp-0.1.0.tar.gz
| Download URL | iflow_mcp_ocean_zhc_dolphinscheduler_mcp-0.1.0.tar.gz |
|---|---|
| Size | 34.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
231add681214ab7273b16cb353064d23559e4c7e437b5645af5772e808d82314
|
|
BLAKE2b-256 checksum How to use checksums |
6d41b55d0ff45d19da4ac85829b7e20bffd45a1e2ffb25590473e7564ab56177
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_ocean_zhc_dolphinscheduler_mcp-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_ocean_zhc_dolphinscheduler_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 61.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
244376e0ca0cf16d25d5ae6fd31a9ec6bff62be182f05aad938a7add8fd56b37
|
|
BLAKE2b-256 checksum How to use checksums |
8ad8a71611e8d5664f664637b2ef2e6dd1dfaace08931d6088444def5243f8eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|