dolphinscheduler-mcp

A Model Context Protocol (MCP) server for Apache Dolphinscheduler. This provides access to your Apache Dolphinshcheduler RESTful API V1 instance and the surrounding ecosystem.

GitHub Stars

13

User Rating

Not Rated

Forks

3

Issues

1

Views

1

Favorites

0

README
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

Author Information

4

Followers

42

Repositories

0

Gists

7

Total Contributions

Top Contributors

Threads