MCP Directory

Kestra Python MCP Server

Control Kestra workflow orchestration — manage flows, executions, files, KV and more from your AI client.

Unverified
stdio (local)
API key
Python

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)

backfill

Run backfills to execute a flow for past scheduled intervals.

ee

Enterprise Edition tools, available only in EE/Cloud editions; can be disabled for OSS via KESTRA_MCP_DISABLED_TOOLS=ee.

execution

Trigger, inspect and manage flow executions.

files

Work with Kestra namespace files.

flow

List, view and manage Kestra flows.

kv

Read and write entries in the Kestra KV (key-value) store.

logs

Retrieve execution and task logs.

namespace

Manage Kestra namespaces.

replay

Replay executions from a chosen task.

restart

Restart failed or stopped executions.

resume

Resume 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.

Featured
Verified
stdio (local)
API key
Go
7 tools
Updated 15 days agoRepo

Official AWS Labs server that lets agents call any AWS API via the AWS CLI surface.

Verified
stdio (local)
API key
Python
3 tools
Updated 17 days agoRepo

Bulk Kubernetes port forwarding with an MCP server that lets AI assistants forward services, inspect pods, and monitor traffic.

Unverified
stdio (local)
No auth
Go
28 tools
Updated 9 days agoRepo