Provides tools to interact with a Rundeck instance, including listing and retrieving job details, running jobs with options, and managing executions (listing, retrieving status, and viewing log output).
Rundeck MCP Server
Rundeck's local MCP (Model Context Protocol) server which provides tools to interact with your Rundeck instance, allowing you to list jobs, run jobs with options, and retrieve execution status and logs directly from your MCP-enabled client.
Prerequisites
asdf-vm installed.
uv installed globally.
A Rundeck API Token. To obtain a Rundeck API Token, follow these steps:
Log in to your Rundeck instance and click on your username in the top-right corner.
Navigate to User Profile and then User API Tokens.
Click Generate New Token, provide a name, and select the appropriate roles.
Copy the generated token and store it securely. You will need this token to configure the MCP server.
Note: API tokens inherit the permissions of the user who created them. Ensure your user has appropriate access to the jobs you want to manage.
Using with MCP Clients
Cursor Integration
You can configure this MCP server directly within Cursor's settings.json file, by following these steps:
Open Cursor settings (Cursor Settings > Tools > Add MCP, or
Cmd+,on Mac, orCtrl+,on Windows/Linux).Add the following configuration:
{ "mcpServers": { "rundeck-mcp": { "type": "stdio", "command": "uvx", "args": [ "rundeck-mcp", "--enable-write-tools" // This flag enables write operations on the MCP Server enabling you to run jobs ], "env": { "RUNDECK_API_TOKEN": "${input:rundeck-api-token}", "RUNDECK_URL": "http://localhost:4440" } } } }
VS Code Integration
You can configure this MCP server directly within Visual Studio Code's settings.json file, allowing VS Code to manage the server lifecycle.
Open VS Code settings (File > Preferences > Settings, or
Cmd+,on Mac, orCtrl+,on Windows/Linux).Search for "mcp" and ensure "Mcp: Enabled" is checked under Features > Chat.
Click "Edit in settings.json" under "Mcp > Discovery: Servers".
Add the following configuration:
{ "mcp": { "inputs": [ { "type": "promptString", "id": "rundeck-api-token", "description": "Rundeck API Token", "password": true } ], "servers": { "rundeck-mcp": { "type": "stdio", "command": "uvx", "args": [ "rundeck-mcp", "--enable-write-tools" // This flag enables write operations on the MCP Server enabling you to run jobs ], "env": { "RUNDECK_API_TOKEN": "${input:rundeck-api-token}", "RUNDECK_URL": "http://localhost:4440" // Update this to your Rundeck server URL } } } } }
Trying it in VS Code Chat (Agent)
Ensure MCP is enabled in VS Code settings (Features > Chat > "Mcp: Enabled").
Configure the server as described above.
Open the Chat view in VS Code (
View>Chat).Make sure
Agentmode is selected. In the Chat view, you can enable or disable specific tools by clicking the tools icon.Enter a command such as
List all jobs in project myprojectorRun the deploy job with version 1.2.3to interact with your Rundeck instance through the MCP server.You can start, stop, and manage your MCP servers using the command palette (
Cmd+Shift+P/Ctrl+Shift+P) and searching forMCP: List Servers. Ensure the server is running before sending commands. You can also try to restart the server if you encounter any issues.
Claude Desktop Integration
You can configure this MCP server to work with Claude Desktop by adding it to Claude's configuration file.
Locate your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Create or edit the configuration file and add the following configuration:
{ "mcpServers": { "rundeck-mcp": { "command": "uvx", "args": [ "rundeck-mcp", "--enable-write-tools" ], "env": { "RUNDECK_API_TOKEN": "your-rundeck-api-token-here", "RUNDECK_URL": "http://localhost:4440" } } } }Replace the placeholder values:
Replace
your-rundeck-api-token-herewith your actual Rundeck API TokenReplace
http://localhost:4440with your Rundeck server URL
Restart Claude Desktop completely for the changes to take effect.
Test the integration by starting a conversation with Claude and asking something like "List all jobs in project myproject" or "Show me recent executions" to verify the MCP server is working.
Security Note: Unlike VS Code's secure input prompts, Claude Desktop requires you to store your API token directly in the configuration file. Ensure this file has appropriate permissions (readable only by your user account) and consider the security implications of storing credentials in plain text.
Set up locally
Clone the repository
Install
asdf plugin add python asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git asdf plugin add uvInstall tool versions using
asdf:asdf installCreate a virtual environment and install dependencies using
uv(now thatasdfhas set the correct Python anduvversions):uv syncEnsure
The MCP server can be run from different places so you need
uvto be available globally. To do so, follow the official documentation.Tip: You may need to restart your terminal and/or VS Code for the changes to take effect.
Run it locally
To run your cloned Rundeck MCP Server you need to update your configuration to use
uvinstead ofuvx."rundeck-mcp": { "type": "stdio", "command": "uv", "args": [ "run", "--directory", "/path/to/your/mcp-server-directory", // Replace with the full path to the directory where you cloned the MCP server, e.g. "/Users/yourname/code/rundeck-mcp", "python", "-m", "rundeck_mcp", "--enable-write-tools" // This flag enables write operations on the MCP Server enabling you to run jobs ], "env": { "RUNDECK_API_TOKEN": "${input:rundeck-api-token}", "RUNDECK_URL": "http://localhost:4440" // Update this to your Rundeck server URL } }
Available Tools and Resources
This section describes the tools provided by the Rundeck MCP server. They are categorized based on whether they only read data or can modify data in your Rundeck instance.
Important: By default, the MCP server only exposes read-only tools. To enable tools that can modify your Rundeck instance (write-mode tools), you must explicitly start the server with the
--enable-write-toolsflag. This helps prevent accidental job executions.
Tool | Area | Description | Read-only |
list_jobs | Jobs | Lists jobs in a project with optional filtering | ✅ |
get_job | Jobs | Retrieves job details including options and defaults | ✅ |
list_executions | Executions | Lists executions with filtering by status or time | ✅ |
get_execution | Executions | Retrieves execution status and details | ✅ |
get_execution_output | Executions | Retrieves execution log output | ✅ |
run_job | Jobs | Executes a job with options | ❌ |
Job Options
When running jobs with the run_job tool, the server validates options before execution:
Required options must be provided (unless they have default values)
Enforced options must use values from the allowed list
Option summaries are displayed when validation fails
Example job options display:
Configuration
Environment Variable | Description | Default |
| API token for authentication | (required) |
| Rundeck server URL |
|
| API version number |
|
Support
This MCP server is an open-source project. If assistance is required, please open an issue in the repository.
Contributing
If you are interested in contributing to this project, please refer to the PRD.md for architecture decisions and implementation patterns.