Windmill MCP server
Windmill's official MCP server: run and manage scripts, flows, resources, variables, jobs, and schedules, and expose your own scripts as agent tools.
Windmill is an open-source developer platform for turning scripts (Python, TypeScript, Go, Bash, SQL, and more) into internal tools, APIs, scheduled jobs, and multi-step flows, backed by a fast job queue and a UI builder. Its official MCP server exposes the Windmill API over a remote Streamable HTTP endpoint so an agent can run scripts and flows, inspect job results, and manage the building blocks of a workspace — resources, variables, schedules, and apps — directly from a chat or editor.
The server provides a broad set of built-in tools generated from the Windmill OpenAPI spec, covering scripts and flows (list, get, create, run, and run-and-wait), resources and resource types (full CRUD), variables (full CRUD), jobs and the queue (get a job, fetch its logs, list jobs and the queue), schedules (list, get, create, update, delete), apps and workers (create and update apps, list workers), and an Enterprise-only documentation query tool. Crucially, your own workspace scripts and flows are also exposed as individual tools, so the agent can call your custom automations by name. The recommended setup is OAuth against the gateway URL https://app.windmill.dev/api/mcp/gateway (the OAuth flow lets you pick a workspace and choose exactly which tools to expose); a token-based URL of the form /api/mcp/w/<workspace>/mcp?token=<token> is also supported, and self-hosted Windmill instances expose the same endpoints on their own base URL.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Available tools
| Tool | Description |
|---|---|
| listScripts | List the scripts in the workspace. |
| createScript | Create a new script. |
| getScriptByPath | Get a script's metadata and content by its path. |
| deleteScriptByHash | Delete a specific version of a script by its hash. |
| deleteScriptByPath | Delete a script by its path. |
| runScriptByPath | Run a script by its path with the given arguments and return the resulting job. |
| runScriptPreviewAndWaitResult | Run a script preview synchronously and wait for the result. |
| listFlows | List the flows in the workspace. |
| getFlowByPath | Get a flow's definition by its path. |
| createFlow | Create a new flow. |
| updateFlow | Update an existing flow. |
| deleteFlowByPath | Delete a flow by its path. |
| runFlowByPath | Run a flow by its path with the given arguments. |
| listResource | List resources in the workspace. |
| getResource | Get a resource by its path. |
| createResource | Create a new resource. |
| updateResource | Update an existing resource. |
| deleteResource | Delete a resource by its path. |
| listResourceType | List the available resource types. |
| listVariable | List variables in the workspace. |
| getVariable | Get a variable by its path. |
| createVariable | Create a new variable. |
| updateVariable | Update an existing variable. |
| deleteVariable | Delete a variable by its path. |
| getJob | Get details of a job by its ID. |
| getJobLogs | Get the logs for a job. |
| listJobs | List completed and running jobs. |
| listQueue | List jobs currently in the queue. |
| listSchedules | List the schedules in the workspace. |
| getSchedule | Get a schedule by its path. |
| createSchedule | Create a new schedule. |
| updateSchedule | Update an existing schedule. |
| deleteSchedule | Delete a schedule by its path. |
| createApp | Create a new app. |
| updateApp | Update an existing app. |
| listWorkers | List the workers and their status. |
| queryDocumentation | Query the Windmill documentation (Enterprise Edition only). |
Required configuration
- WINDMILL_TOKENOptional
Workspace token used in the token-based MCP URL (/api/mcp/w/<workspace>/mcp?token=<token>) for clients that cannot use the OAuth flow. Not needed when using OAuth against the gateway.
What you can do with it
Run your own scripts and flows as agent tools
Expose selected workspace scripts and flows through the OAuth flow, then ask the agent to call them by name — runScriptByPath or runFlowByPath kicks off the job, and getJob plus getJobLogs let the assistant report back results and errors.
Manage workspace building blocks conversationally
Have the agent create a resource and variable, wire them into a new schedule with createSchedule, and check listWorkers to confirm capacity — all the plumbing of a Windmill automation without opening the dashboard.
FAQ
- Is it free?
- Yes. Windmill is open source (with a self-hostable community edition) and the MCP server is part of the platform at no extra cost. Windmill Cloud has paid tiers, and the queryDocumentation tool is Enterprise-only, but the core MCP tools are free.
- Does it support remote/OAuth?
- Yes. The recommended setup is OAuth against the gateway endpoint https://app.windmill.dev/api/mcp/gateway, which lets you select a workspace and choose which tools to expose. A token-based URL (/api/mcp/w/<workspace>/mcp?token=<token>) is also available, and self-hosted instances serve the same endpoints on their own domain.