Skip to content

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

Notifications You must be signed in to change notification settings

ocean-zhc/dolphinscheduler-mcp

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages