Kestra

Python MCP Server for Kestra — you can use it as a tool in Kestra's AI Agents
  • python

21

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "kestra-io-mcp-server-python": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--pull",
        "always",
        "-e",
        "KESTRA_BASE_URL",
        "-e",
        "KESTRA_API_TOKEN",
        "-e",
        "KESTRA_TENANT_ID",
        "-e",
        "KESTRA_USERNAME",
        "-e",
        "KESTRA_PASSWORD",
        "-e",
        "KESTRA_MCP_DISABLED_TOOLS",
        "-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_PASSWORD": "admin",
        "KESTRA_USERNAME": "admin",
        "KESTRA_API_TOKEN": "<your_kestra_api_token>",
        "KESTRA_TENANT_ID": "main",
        "KESTRA_MCP_LOG_LEVEL": "ERROR",
        "KESTRA_MCP_DISABLED_TOOLS": "ee"
      }
    }
  }
}

You run the Kestra Python MCP Server inside a Docker container to provide a modular, programmable interface for your Kestra ecosystem. This server lets you access and control MCP-enabled tools from your preferred IDE or editor, without managing Python environments locally. It supports OSS and Enterprise configurations, allowing you to enable or disable specific tools and to tune logging for debugging or quiet operation.

How to use

Use the MCP Server with your MCP client (Cur sor, Windsurf, VS Code, Claude Desktop, or other compatible IDEs). The server runs as a subprocess inside Docker, exposing tools like backfill, execution, files, flow, kv, namespace, replay, restart, and resume. You interact with the MCP through the client’s standard commands and UI, enabling workflows across your Kestra namespace.

How to install

Prerequisites: install Docker on your host machine. You will run the MCP Server as a Docker container to avoid local Python environment setup.

  1. Create a minimal configuration for OSS users (paste into your MCP client’s settings):
{
  "mcpServers": {
    "kestra": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--pull",
        "always",
        "-e",
        "KESTRA_BASE_URL",
        "-e",
        "KESTRA_TENANT_ID",
        "-e",
        "KESTRA_MCP_DISABLED_TOOLS",
        "-e",
        "KESTRA_MCP_LOG_LEVEL",
        "-e",
        "KESTRA_USERNAME",
        "-e",
        "KESTRA_PASSWORD",
        "ghcr.io/kestra-io/mcp-server-python:latest"
      ],
      "env": {
        "KESTRA_BASE_URL": "http://host.docker.internal:8080/api/v1",
        "KESTRA_TENANT_ID": "main",
        "KESTRA_MCP_DISABLED_TOOLS": "ee",
        "KESTRA_MCP_LOG_LEVEL": "ERROR",
        "KESTRA_USERNAME": "admin@kestra.io",
        "KESTRA_PASSWORD": "your_password"
      }
    }
  }
}

How to install

  1. Create a minimal configuration for EE users (paste into your MCP client’s settings):
{
  "mcpServers": {
    "kestra": {
      "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"
      }
    }
  }
}

How to install

  1. Detailed Docker configuration with environment variables (paste into your MCP client’s settings):
{
  "mcpServers": {
    "kestra": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--pull",
        "always",
        "-e", "KESTRA_BASE_URL",
        "-e", "KESTRA_API_TOKEN",
        "-e", "KESTRA_TENANT_ID",
        "-e", "KESTRA_USERNAME",
        "-e", "KESTRA_PASSWORD",
        "-e", "KESTRA_MCP_DISABLED_TOOLS",
        "-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_USERNAME": "admin",
        "KESTRA_PASSWORD": "admin",
        "KESTRA_MCP_DISABLED_TOOLS": "ee",
        "KESTRA_MCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

Available tools

backfill

Backfill missing data or run historical operations across flows; supports selective namespaces and flows.

ee

Enterprise Edition tools that provide advanced features and capabilities beyond the OSS bundle.

execution

Execute and monitor individual tasks or entire flows, including error handling and retries.

files

Access, upload, and manage files stored within the MCP environment.

flow

Manage, inspect, and manipulate flows, including creation, updates, and execution control.

kv

Key-value storage and retrieval within the MCP context.

namespace

Organize and isolate resources by namespace; manage namespace-level settings and tools.

replay

Replay past executions or restore state for debugging and testing.

restart

Restart MCP components or specific services to recover from failures.

resume

Resume paused or interrupted workflows and tasks.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational