Files
windmill/backend/generate_mcp_endpoints_tools
centdix 784f988b07 chore(mcp): display API endpoint tools in MCP URL generation (#6811)
* chore(mcp): display API endpoint tools in MCP URL generation

- Add list of 24 API endpoint tools that are always available via MCP
- Display API endpoints as green badges below scripts/flows list
- Update tooltip to mention 'scripts, flows, and API endpoints'
- Show count of available API endpoints in the UI

API endpoints include operations for variables, resources, scripts, flows,
jobs, schedules, and workers.

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>

* better

* nit

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-10-14 09:22:58 +00:00
..

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:

  1. Parse backend/windmill-api/openapi.yaml
  2. Find all endpoints marked with x-mcp-tool: true
  3. Generate backend/windmill-api/src/mcp_tools.rs with 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