Skip to content

Provides complete windmill.dev api access through tools by leveraging windmill openapi specification

License

Notifications You must be signed in to change notification settings

rothnic/windmill-mcp

Repository files navigation

Windmill MCP Server

CI Tests Update MCP Server

Provides complete Windmill API access through MCP (Model Context Protocol) tools by leveraging Windmill's OpenAPI specification.

πŸ“˜ New to this project? Check out the Quick Start Guide for a step-by-step introduction.

Features

  • 500+ API Tools: Complete Windmill API coverage through MCP
  • Auto-Generated: Stays in sync with latest Windmill releases
  • Custom Overrides: Modifications persist across regenerations
  • Version Management: Automatic version matching with your Windmill instance
  • Comprehensive Testing: Unit and E2E tests against live Windmill

Quick Start

Installation

# Clone and build
git clone https://github.com/rothnic/windmill-mcp.git
cd windmill-mcp
npm install
npm run generate

See Installation Guide for detailed setup instructions.

Configuration

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "windmill": {
      "command": "node",
      "args": ["/absolute/path/to/windmill-mcp/src/runtime/index.js"],
      "env": {
        "WINDMILL_BASE_URL": "https://your-instance.windmill.dev",
        "WINDMILL_API_TOKEN": "your-api-token"
      }
    }
  }
}

OpenCode (.opencode/opencode.jsonc in your project):

{
  "mcp": {
    "windmill": {
      "type": "local",
      "command": ["node", "/absolute/path/to/windmill-mcp/src/runtime/index.js"],
      "environment": {
        "WINDMILL_BASE_URL": "https://your-instance.windmill.dev",
        "WINDMILL_API_TOKEN": "your-api-token"
      },
      "enabled": true
    }
  }
}

See Configuration Reference for all options.

Documentation

User Guides

Developer Documentation

Reference

Project Planning

Project Structure

windmill-mcp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ generator/      # OpenAPI spec fetching and generation orchestration
β”‚   β”œβ”€β”€ overrides/      # Custom modifications that persist across generations
β”‚   └── runtime/        # Runtime loader with version management
β”œβ”€β”€ build/              # Generated MCP server code (gitignored)
β”œβ”€β”€ tests/              # Test suite (unit and E2E)
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ guides/         # User-facing guides
β”‚   β”œβ”€β”€ development/    # Developer documentation
β”‚   β”œβ”€β”€ reference/      # Technical references
β”‚   └── planning/       # Project planning documents
└── scripts/            # Utility scripts

Development

Quick Development Setup

# Install dependencies
npm install

# Start local Windmill instance
npm run docker:dev

# Generate MCP server
npm run generate

# Run tests
npm test

See Development Setup for comprehensive instructions.

Common Commands

# Generation
npm run generate          # Complete generation workflow
npm run fetch-spec        # Fetch OpenAPI spec only

# Development
npm run dev              # Run the MCP server directly
npm run test:watch       # Run tests in watch mode

# Testing
npm test                 # Run all tests
npm run test:e2e        # E2E tests (requires Windmill)
npm run test:e2e:full   # Full E2E with automatic setup

# Docker
npm run docker:dev      # Start Windmill for development
npm run docker:logs     # View Windmill logs
npm run docker:clean    # Clean all data

# Quality
npm run lint            # Lint code
npm run validate        # Run all validations

Automated Releases

New Windmill versions are automatically published via GitHub Actions:

  • Weekly Schedule: Mondays at midnight UTC
  • Manual Trigger: Run workflow in GitHub Actions
  • Auto-Testing: E2E tests before release
  • Version Tagging: windmill-v{version}-mcp-{package}

See Usage Guide for details.

Contributing

We welcome contributions! Please see:

License

MIT - see LICENSE

Resources

Status

Current Version: 0.1.0 (Pre-release)

  • βœ… Complete API coverage (500+ tools)
  • βœ… Automated version management
  • βœ… Comprehensive testing
  • βœ… CI/CD pipeline
  • ⏳ NPM package publication (coming soon)

See Project Status for detailed status.

About

Provides complete windmill.dev api access through tools by leveraging windmill openapi specification

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •