This is a comprehensive Rundeck integration that exposes 50 tools across projects, jobs, executions, nodes, system management, key storage, webhooks, and ACL policies. You can list and trigger jobs, monitor running executions and pull their logs, abort stuck runs, manage node inventory with filter expressions, control system-wide execution mode, and handle secrets in key storage. It connects via the Rundeck REST API using a token you generate from your instance. Reach for this when you want to manage Rundeck operations from Claude or Cursor instead of switching to the web UI, especially useful for checking execution status, triggering deployment jobs with parameters, or troubleshooting failed runs by pulling logs directly into your conversation.
The most comprehensive MCP (Model Context Protocol) server for Rundeck. Manage jobs, executions, projects, nodes, and more from Claude, Cursor, or any MCP-compatible client.
50 tools across 7 domains — full CRUD operations, execution monitoring, and system management.
Add to your MCP settings:
{
"mcpServers": {
"rundeck": {
"command": "npx",
"args": ["-y", "rundeck-mcp-server"],
"env": {
"RUNDECK_URL": "http://your-rundeck-server:4440",
"RUNDECK_API_TOKEN": "your-api-token"
}
}
}
}
Add to claude_desktop_config.json:
{
"mcpServers": {
"rundeck": {
"command": "npx",
"args": ["-y", "rundeck-mcp-server"],
"env": {
"RUNDECK_URL": "http://your-rundeck-server:4440",
"RUNDECK_API_TOKEN": "your-api-token"
}
}
}
}
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"rundeck": {
"command": "npx",
"args": ["-y", "rundeck-mcp-server"],
"env": {
"RUNDECK_URL": "http://your-rundeck-server:4440",
"RUNDECK_API_TOKEN": "your-api-token"
}
}
}
}
| Environment Variable | Required | Default | Description |
|---|---|---|---|
RUNDECK_URL | Yes | — | Rundeck server URL (e.g., http://localhost:4440) |
RUNDECK_API_TOKEN | Yes | — | API token for authentication |
RUNDECK_API_VERSION | No | 41 | Rundeck API version |
RUNDECK_TIMEOUT | No | 30000 | Request timeout in milliseconds |
| Tool | Description |
|---|---|
rundeck_list_projects | List all projects |
rundeck_get_project | Get project details and configuration |
rundeck_create_project | Create a new project |
rundeck_delete_project | Delete a project permanently |
rundeck_get_project_config | Get project configuration properties |
rundeck_set_project_config | Update project configuration |
| Tool | Description |
|---|---|
rundeck_list_jobs | List jobs with filtering by group, name, tags |
rundeck_get_job | Get full job definition (steps, options, schedule) |
rundeck_get_job_metadata | Get job metadata (author, dates) |
rundeck_run_job | Execute a job with options and node filters |
rundeck_retry_job | Retry a failed execution |
rundeck_import_jobs | Import jobs from JSON/YAML/XML |
rundeck_export_jobs | Export job definitions |
rundeck_delete_job | Delete a job |
rundeck_bulk_delete_jobs | Delete multiple jobs at once |
rundeck_enable_job_execution | Enable job execution |
rundeck_disable_job_execution | Disable job execution |
rundeck_enable_job_schedule | Enable job scheduling |
rundeck_disable_job_schedule | Disable job scheduling |
rundeck_get_job_forecast | Get upcoming scheduled execution times |
| Tool | Description |
|---|---|
rundeck_list_executions | Query executions with status and time filters |
rundeck_list_running_executions | List currently running executions |
rundeck_get_execution | Get execution details (status, duration, nodes) |
rundeck_get_execution_output | Get execution log output |
rundeck_abort_execution | Abort a running execution |
rundeck_get_job_executions | List execution history for a job |
rundeck_delete_job_executions | Delete all executions for a job |
rundeck_bulk_delete_executions | Delete multiple executions by ID |
| Tool | Description |
|---|---|
rundeck_list_nodes | List nodes with filter expressions |
rundeck_get_node | Get node details |
| Tool | Description |
|---|---|
rundeck_system_info | Server version, uptime, and system stats |
rundeck_get_execution_mode | Check active/passive execution mode |
rundeck_set_execution_mode | Enable or disable executions system-wide |
rundeck_get_metrics | Server performance metrics |
rundeck_healthcheck | System health check |
rundeck_list_users | List all users |
rundeck_get_log_storage | Log storage status |
rundeck_list_acl_policies | List ACL policy files |
rundeck_get_acl_policy | Get ACL policy content |
rundeck_create_acl_policy | Create ACL policy |
rundeck_update_acl_policy | Update ACL policy |
rundeck_delete_acl_policy | Delete ACL policy |
| Tool | Description |
|---|---|
rundeck_list_keys | Browse key storage tree |
rundeck_get_key_metadata | Get key metadata (not the secret value) |
rundeck_create_key | Store a password, public key, or private key |
rundeck_delete_key | Delete a stored key |
| Tool | Description |
|---|---|
rundeck_list_webhooks | List webhooks in a project |
rundeck_get_webhook | Get webhook details |
rundeck_create_webhook | Create a webhook trigger |
rundeck_delete_webhook | Delete a webhook |
Once configured, you can interact with Rundeck using natural language:
# Clone the repository
git clone https://github.com/mariomorenodev/rundeck-mcp-server.git
cd rundeck-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run in development mode
RUNDECK_URL=http://localhost:4440 RUNDECK_API_TOKEN=your-token npm run dev
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
RUNDECK_URL*Rundeck server URL (e.g., http://localhost:4440)
RUNDECK_API_TOKEN*secretAPI token for authentication
RUNDECK_API_VERSIONRundeck API version (default: 41)
RUNDECK_TIMEOUTRequest timeout in milliseconds (default: 30000)