
Kestra Python MCP Server
Control Kestra workflow orchestration — manage flows, executions, files, KV and more from your AI client.
Add to your client
Copy the config for your MCP client and paste it into its config file.
Paste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"kestra-python-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--pull",
"always",
"-e",
"KESTRA_BASE_URL",
"-e",
"KESTRA_API_TOKEN",
"-e",
"KESTRA_TENANT_ID",
"-e",
"KESTRA_MCP_LOG_LEVEL",
"ghcr.io/kestra-io/mcp-server-python:latest"
],
"env": {
"KESTRA_BASE_URL": "http://host.docker.internal:8080/api/v1",
"KESTRA_API_TOKEN": "<your_kestra_api_token>",
"KESTRA_TENANT_ID": "main",
"KESTRA_MCP_LOG_LEVEL": "ERROR"
}
}
}
}Requires Docker to be installed and running.
Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- Docker installed (the server runs as a Docker container)
- A running Kestra instance reachable via its REST API (KESTRA_BASE_URL, e.g. http://host.docker.internal:8080/api/v1)
- Credentials: a Kestra API token (KESTRA_API_TOKEN) for EE/Cloud, or KESTRA_USERNAME / KESTRA_PASSWORD for OSS
- An MCP-compatible client (Claude Desktop, Cursor, Windsurf, or VS Code)
About Kestra Python MCP Server
Kestra's official Python MCP Server bridges MCP-compatible AI clients to the Kestra workflow orchestration platform. Running as a Docker container over stdio, it gives an AI agent tools to manage flows, trigger and monitor executions, handle namespace files and KV store entries, read logs, and perform operational tasks such as backfill, replay, restart and resume against a connected Kestra instance.
Tools & capabilities (11)
backfillRun backfills to execute a flow for past scheduled intervals.
eeEnterprise Edition tools, available only in EE/Cloud editions; can be disabled for OSS via KESTRA_MCP_DISABLED_TOOLS=ee.
executionTrigger, inspect and manage flow executions.
filesWork with Kestra namespace files.
flowList, view and manage Kestra flows.
kvRead and write entries in the Kestra KV (key-value) store.
logsRetrieve execution and task logs.
namespaceManage Kestra namespaces.
replayReplay executions from a chosen task.
restartRestart failed or stopped executions.
resumeResume paused executions.
When to use it
- Ask an AI agent to list all flows in a given namespace
- Trigger, monitor, restart, replay or resume executions conversationally
- Run backfills for past scheduled intervals from your IDE or chat client
- Inspect execution and task logs to debug failing pipelines
- Manage namespace files and KV store entries through natural language
- Use the server as a tool inside Kestra's own AI Agents for orchestration automation
Security notes
Authenticates to your Kestra instance with a Kestra API token (KESTRA_API_TOKEN) for EE/Cloud, or basic auth (KESTRA_USERNAME / KESTRA_PASSWORD) for OSS. Store these credentials securely and avoid committing them. The server has broad control over your orchestration platform (executions, files, KV store), so scope its access appropriately. OSS users should set KESTRA_MCP_DISABLED_TOOLS=ee to disable Enterprise Edition tools.
Kestra Python MCP Server FAQ
Do I have to manually start the server as an always-on process?
No. With the stdio transport, AI clients (Cursor, Windsurf, VS Code, Claude Desktop) launch the MCP server as a subprocess and communicate via JSON-RPC over stdin/stdout.
How do I authenticate against an OSS Kestra instance?
Use basic authentication by setting KESTRA_USERNAME and KESTRA_PASSWORD instead of KESTRA_API_TOKEN. EE/Cloud installations use the KESTRA_API_TOKEN.
How do I disable Enterprise Edition tools on an OSS install?
Set KESTRA_MCP_DISABLED_TOOLS=ee. You can disable multiple tool groups by separating them with commas (e.g. KESTRA_MCP_DISABLED_TOOLS=files).
Can I run it without Docker for local development?
Yes. Create a uv virtual environment (uv venv --python 3.13), install requirements, configure an .env file, then point your client's command at the uv binary running src/server.py.
Alternatives to Kestra Python MCP Server
Compare all alternatives →GitHub's official server for repos, issues, PRs, and Actions — local Docker or hosted remote.
Official AWS Labs server that lets agents call any AWS API via the AWS CLI surface.
Bulk Kubernetes port forwarding with an MCP server that lets AI assistants forward services, inspect pods, and monitor traffic.
Compare Kestra Python MCP Server with: