home / mcp / kestra mcp server
Python MCP Server for Kestra — you can use it as a tool in Kestra's AI Agents
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.
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.
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": "[email protected]",
"KESTRA_PASSWORD": "your_password"
}
}
}
}2) 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"
}
}
}
}3) 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"
}
}
}
}Backfill missing data or run historical operations across flows; supports selective namespaces and flows.
Enterprise Edition tools that provide advanced features and capabilities beyond the OSS bundle.
Execute and monitor individual tasks or entire flows, including error handling and retries.
Access, upload, and manage files stored within the MCP environment.
Manage, inspect, and manipulate flows, including creation, updates, and execution control.
Key-value storage and retrieval within the MCP context.
Organize and isolate resources by namespace; manage namespace-level settings and tools.
Replay past executions or restore state for debugging and testing.
Restart MCP components or specific services to recover from failures.
Resume paused or interrupted workflows and tasks.