* add endpoint to test script * add same for flow * better tool spec + remove flow preview from tools * fix * fix wrong required fields * feat(mcp): add warning for missing required fields in schema properties - Add stderr warning when x-mcp-required-fields contains fields not found in body schema properties - Prevents silent misconfigurations in MCP tool generation - Helps debug schema validation issues Co-authored-by: centdix <centdix@users.noreply.github.com> --------- Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: centdix <centdix@users.noreply.github.com>
MCP Tools Generator
The generate_mcp_tools.py script parses the OpenAPI specification and generates Rust code for MCP (Model Context Protocol) tools.
Setup
cd backend/generate_mcp_endpoints_tools
pip install -r requirements.txt
Usage
python3 generate_mcp_tools.py
The script will:
- Parse
backend/windmill-api/openapi.yaml - Find all endpoints marked with
x-mcp-tool: true - Generate
backend/windmill-api/src/mcp_tools.rswith a const array of tools
Adding MCP Tools
To mark an endpoint as an MCP tool, add x-mcp-tool: true to the operation in the OpenAPI spec. You can also add x-mcp-instructions to complete the description of the tool with instructions on how to correctly use the endpoint:
/w/{workspace}/scripts/list:
get:
x-mcp-tool: true
x-mcp-instructions: you should call that with this or that arg
summary: list scripts in workspace
operationId: listScripts
# ... rest of endpoint definition