DolphinScheduler MCP Server について
DolphinScheduler MCP Server は、Apache DolphinScheduler の REST API V1 を AI エージェントから利用できるツールとして公開する MCP サーバーです。スケジュール対象のワークフローを AI から管理したいチーム向けです。
主な機能
- 01プロジェクト、プロセス、タスク、スケジュールの管理機能を網羅
- 02環境変数またはコマンドライン引数で設定可能
- 03コマンドラインと Python API の両方から起動可能
- 04API トークンによる認証
活用シーン
- 01AI エージェントによるプロセスインスタンスの照会と管理
- 02アシスタント経由でのスケジューリング状態とアラートグループの確認
MCP 対応
本プロジェクトは MCP サーバーであり、DolphinScheduler の REST API 操作を MCP クライアント向けツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DolphinScheduler MCP サーバー
Apache DolphinScheduler 用の Model Context Protocol(MCP)サーバーです。標準化されたプロトコルを通じて、AI エージェントが DolphinScheduler とやり取りできるようにします。
概要
DolphinScheduler MCP は、DolphinScheduler の REST API を、AI エージェントが利用できるツールのコレクションとして公開する、FastMCP ベースのサーバーを提供します。このサーバーは AI モデルと DolphinScheduler の橋渡し役となり、AI を活用したワークフロー管理を可能にします。
機能
- DolphinScheduler の機能を網羅する API カバレッジ
- Model Context Protocol に準拠した標準化されたツールインターフェース
- 環境変数またはコマンドライン引数による簡単な設定
- 包括的なツールドキュメント
インストール
pip install dolphinscheduler-mcp
設定
環境変数
DOLPHINSCHEDULER_API_URL:DolphinScheduler API の URL(デフォルト:http://localhost:12345/dolphinscheduler)DOLPHINSCHEDULER_API_KEY:DolphinScheduler API の認証に使用する API トークンDOLPHINSCHEDULER_MCP_HOST:MCP サーバーをバインドするホスト(デフォルト:0.0.0.0)DOLPHINSCHEDULER_MCP_PORT:MCP サーバーをバインドするポート(デフォルト:8089)DOLPHINSCHEDULER_MCP_LOG_LEVEL:ログレベル(デフォルト:INFO)
使用方法
コマンドライン
コマンドラインインターフェースを使用してサーバーを起動します。
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)
利用可能なツール
DolphinScheduler MCP サーバーでは、次のツールを利用できます。
- プロジェクト管理
- プロセス定義管理
- プロセスインスタンス管理
- タスク定義管理
- スケジュール管理
- リソース管理
- データソース管理
- アラートグループ管理
- アラートプラグイン管理
- ワーカーグループ管理
- テナント管理
- ユーザー管理
- システムステータスの監視
クライアントの使用例
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"}
)
ライセンス
Apache License 2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。