
How to add Kestra Python MCP Server to Cursor
Control Kestra workflow orchestration — manage flows, executions, files, KV and more from your AI client. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 27★ · stdio · apikey
Cursor config for Kestra Python MCP Server
{
"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.
Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the Kestra Python MCP Server config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of Kestra Python MCP Server's tools to confirm it's connected.
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)
What Kestra Python MCP Server can do in Cursor
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.
Security
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 + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Kestra Python MCP Server config there under the "mcpServers" key and restart the client.
Is Kestra Python MCP Server safe to use with Cursor?
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.
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).