---
title: "Rundeck MCP server for AI agents - actionlake"
description: "Give Claude 240 Rundeck actions through one MCP server: projects, system, jobs, executions. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/rundeck
updated: 2026-10-23
---

Connectors · MSP & PSA

# Rundeck MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Rundeck and the rest of your systems. It gives your agent 240 Rundeck actions (128 reads, 83 writes and 29 that wait for a confirmation) and holds the Rundeck credential itself, so the agent never does. It paces Rundeck's limits and records every call.

[Connect Rundeck free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "rundeck.users.list",
  intent: "check which Rundeck account is connected"
}
# List users · read · 1 upstream call
```

- 240 actions in one signed file
- 128 read look, never change
- 83 write create and update
- 29 wait for a yes destructive, confirmed first

Set up

## Connect Rundeck in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Rundeck.
   API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_token` Rundeck API token
   - `api_version` Your Rundeck api version
   - `host` Where your Rundeck lives: your host
   ```
   account { op: "connections.requirements", service: "rundeck" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "rundeck.users.list" }
   # list users · read · 1 upstream call
   check { action: "rundeck.projects.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Rundeck at a glance

**Sign-in**

API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_token`

**Setup fields**

`api_version` `host`

**Limits we pace to**

300 calls a minute, per connection

**API covered**

Rundeck REST API (OpenAPI document for API v59; base path /api/{conn.api_version}, default 47), at your Rundeck instance's API base URL, which you enter when connecting

**Built from**

Rundeck's documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/rundeck/go-rundeck/master/rundeck-api.yml) [docs.rundeck.com](https://docs.rundeck.com/docs/api/)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

124 of 128 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line Rundeck up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Rundeck.

240 actions in 17 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **128** read look, never change
- **83** write create and update
- **29** destructive wait for a confirmation

1. ### Projects
   82
   42 read · 30 write · 10 destructive
   List projects · Create a project · Get a project · List jobs in a project
2. ### System
   29
   17 read · 10 write · 2 destructive
   Create a system ACL policy · List system calendars · List system feature flags · List installed plugins
3. ### Jobs
   27
   11 read · 12 write · 4 destructive
   Get job metadata · Delete a job · Run a job · Disable executions for a job
4. ### Executions
   16
   13 read · 0 write · 3 destructive
   Get an execution · Abort a running execution · List input files uploaded for an execution · Bulk delete executions
5. ### Runners
   16
   9 read · 5 write · 2 destructive
   List runners · Create a runner · Get a runner · Update a runner
6. ### Config
   10
   5 read · 4 write · 1 destructive
   List system configuration properties · List system configuration categories · List configuration property metadata · List storage plugin configuration
7. ### User classes
   9
   6 read · 2 write · 1 destructive
   List available user classes · Bulk assign or remove user classes · Get user class allocations · Check whether user classes are enabled
8. ### Storage keys
   8
   1 read · 6 write · 1 destructive
   Create a stored password · Create a stored private key · Create a stored public key · Get key storage metadata or list a directory

**9 more areas · 43 actions**

- Local users **7**
- Local roles **6**
- Users **6**
- Webhooks **6**
- Authorizations **5**
- Tokens **5**
- Metrics **3**
- Scheduler **3**
- Cluster **2**

Top actions

## The Rundeck API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 34 of Rundeck's 34 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `rundeck.users.list` List users | List users. | read | `identity.user.list` 474 connectors |
| `rundeck.users.me.get` Get the current user's profile | Get the current user's profile. | read | `identity.current_user.get` 307 connectors |
| `rundeck.local_roles.list` List local roles | List local roles. | read | `identity.role.list` 184 connectors |
| `rundeck.projects.list` List projects | List projects. | read | `work.project.list` 109 connectors |
| `rundeck.users.get` Get a user's profile | Get a user's profile. | read | `identity.user.get` 399 connectors |
| `rundeck.projects.create` Create a project | Create a project. | write | `work.project.create` 102 connectors |
| `rundeck.local_roles.create` Create a local role | Create a local role. | write | `identity.role.create` 105 connectors |
| `rundeck.webhooks.create` Create a webhook | Create a webhook. | write | `automation.webhook.create` 209 connectors |
| `rundeck.webhooks.list` List webhooks in a project | List webhooks in a project. | read | `automation.webhook.list` 202 connectors |
| `rundeck.projects.jobs.list` List jobs in a project | List jobs in a project. | read | `automation.workflow.list` 51 connectors |
| `rundeck.local_users.delete` Delete a local user | Delete a local user. | destructive | `identity.user.delete` 253 connectors |
| `rundeck.jobs.get` Get job metadata | Get job metadata. | read | `automation.workflow.get` 51 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Rundeck actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Give me a one-line status for every active Rundeck project.
   calls `rundeck.projects.list`
2. Write write
   Create a project in Rundeck. Show me exactly what you will send before you save it.
   calls `rundeck.projects.create`

Governance for Rundeck

## Destructive actions wait for a yes.

29 Rundeck actions are destructive. These are all of them:

- Delete a local user `rundeck.local_users.delete`
- Delete a project `rundeck.projects.delete`
- Delete a local role `rundeck.local_roles.delete`
- Delete a job `rundeck.jobs.delete`
- Delete a webhook `rundeck.webhooks.delete`
- Abort a running execution `rundeck.executions.abort`
- Run an ad hoc script `rundeck.projects.adhoc.run_script`
- Run an ad hoc command `rundeck.projects.adhoc.run_command`
- Run an ad hoc script from a URL `rundeck.projects.adhoc.run_script_url`
- Delete a runner `rundeck.runners.delete`
- Delete an API token `rundeck.tokens.delete`
- Bulk delete jobs `rundeck.jobs.bulk_delete`
- Delete an execution `rundeck.executions.delete`
- Delete a stored key `rundeck.storage_keys.delete`
- Remove expired API tokens for a user `rundeck.tokens.remove_expired`
- Bulk delete executions `rundeck.executions.bulk_delete`
- Bulk delete jobs by id list `rundeck.jobs.bulk_delete_by_query`
- Delete a system ACL policy `rundeck.system.acls.delete`
- Delete a project ACL policy `rundeck.projects.acls.delete`
- Delete a project readme or motd file `rundeck.projects.files.delete`
- Delete a project runner `rundeck.projects.runners.delete`
- Delete a system calendar `rundeck.system.calendars.delete`
- Delete a project calendar `rundeck.projects.calendars.delete`
- Delete all executions of a job `rundeck.jobs.executions.delete_all`
- Delete a project configuration key `rundeck.projects.config_keys.delete`
- Delete a project runner replica `rundeck.projects.runners.replicas.delete`
- Delete a system configuration property `rundeck.config.delete`
- Delete a runner replica `rundeck.runners.replicas.delete`
- Remove a user's user class `rundeck.user_classes.users.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do rundeck.local_users.delete confirm_policy: **human**

Delete a local user?

**intent:** the user asked me to delete a local user

run suspended · waiting for a named person · key _rundeck-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "rundeck-agent",
  allowed_actions: ["rundeck.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "rundeck.local_users.delete", approver: "lead@example.com" },
    { match: "rundeck.projects.delete", approver: "lead@example.com" },
    { match: "rundeck.local_roles.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Rundeck only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Rundeck costs on actionlake.

Every Rundeck action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Rundeck refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 240 Rundeck actions
- 240 actions page each page of a long list is one call
- 124 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Rundeck action.

240 actions by area: the id your agent calls, what it does, and its effect.

**Projects 82**

- `rundeck.projects.acls.create` Create a project ACL policy write
- `rundeck.projects.acls.delete` Delete a project ACL policy destructive
- `rundeck.projects.acls.get` Get a project ACL policy read
- `rundeck.projects.acls.update` Update a project ACL policy write
- `rundeck.projects.adhoc.run_command` Run an ad hoc command destructive
- `rundeck.projects.adhoc.run_script` Run an ad hoc script destructive
- `rundeck.projects.adhoc.run_script_url` Run an ad hoc script from a URL destructive
- `rundeck.projects.calendars.delete` Delete a project calendar destructive
- `rundeck.projects.calendars.list` List project calendars read
- `rundeck.projects.calendars.save` Create or update a project calendar write
- `rundeck.projects.config.get` Get a project's configuration read
- `rundeck.projects.config.update` Replace a project's configuration write
- `rundeck.projects.config_keys.delete` Delete a project configuration key destructive
- `rundeck.projects.config_keys.get` Get a project configuration key read
- `rundeck.projects.config_keys.update` Set a project configuration key write
- `rundeck.projects.create` Create a project write
- `rundeck.projects.delete` Delete a project destructive
- `rundeck.projects.execution_mode.disable_later` Schedule disabling executions or schedules for a project write
- `rundeck.projects.execution_mode.enable_later` Schedule enabling executions or schedules for a project write
- `rundeck.projects.executions.list` Query executions in a project read
- `rundeck.projects.executions.metrics.get` Get execution metrics for a project read
- `rundeck.projects.executions.running.list` List running executions in a project read
- `rundeck.projects.export_async.start` Start an asynchronous project export write
- `rundeck.projects.export_async.start_post` Start an asynchronous project export (POST) write
- `rundeck.projects.export_async.status.get` Get the status of an asynchronous project export read
- `rundeck.projects.files.delete` Delete a project readme or motd file destructive
- `rundeck.projects.files.get` Get a project readme or motd file read
- `rundeck.projects.files.update` Create or replace a project readme or motd file write
- `rundeck.projects.get` Get a project read
- `rundeck.projects.health_checks.enhancer.get` Check whether a project has a node health status enhancer read
- `rundeck.projects.health_checks.refresh` Refresh node health checks write
- `rundeck.projects.health_checks.refresh_all` Refresh health checks for all nodes write
- `rundeck.projects.health_checks.status.get` Get a node's health status read
- `rundeck.projects.health_checks.status.list` List health status of all nodes read
- `rundeck.projects.history.list` List activity history for a project read
- `rundeck.projects.job_tags.query` Query job tags in a project read
- `rundeck.projects.jobs.browse` Browse jobs at a group path read
- `rundeck.projects.jobs.browse_query` Browse jobs at a group path with a query read
- `rundeck.projects.jobs.export` Export job definitions from a project read
- `rundeck.projects.jobs.import` Import job definitions into a project write
- `rundeck.projects.jobs.list` List jobs in a project read
- `rundeck.projects.jobs.list_all` List all jobs in a project read
- `rundeck.projects.jobs.validate_option` Validate a job option definition read
- `rundeck.projects.list` List projects read
- `rundeck.projects.node_sources.get` Get a node source read
- `rundeck.projects.node_sources.list` List node sources in a project read
- `rundeck.projects.node_sources.nodes.get` List nodes from a node source read
- `rundeck.projects.node_sources.nodes.update` Write nodes to a writeable node source write
- `rundeck.projects.node_tags.list` List node tags in a project read
- `rundeck.projects.nodes.get` Get a node read
- `rundeck.projects.nodes.list` List nodes in a project read
- `rundeck.projects.plugins.save` Save project plugin configuration write
- `rundeck.projects.runners.config.get` Get project runner configuration read
- `rundeck.projects.runners.config.update` Update project runner configuration write
- `rundeck.projects.runners.create` Create a project runner write
- `rundeck.projects.runners.delete` Delete a project runner destructive
- `rundeck.projects.runners.get` Get a project runner read
- `rundeck.projects.runners.list` List project runners read
- `rundeck.projects.runners.node_dispatch.update` Update project runner node dispatch settings write
- `rundeck.projects.runners.ping` Ping a project runner write
- `rundeck.projects.runners.ping_status.get` Check a project runner ping result read
- `rundeck.projects.runners.regenerate_credentials` Regenerate a project runner's credentials write
- `rundeck.projects.runners.remove_project_association` Remove a runner's association with a project write
- `rundeck.projects.runners.replicas.create` Create a project runner replica write
- `rundeck.projects.runners.replicas.delete` Delete a project runner replica destructive
- `rundeck.projects.runners.replicas.list` List project runner replicas read
- `rundeck.projects.runners.ui.get` Get project runner UI settings read
- `rundeck.projects.runners.update` Update a project runner write
- `rundeck.projects.scm.actions.input.get` Get input fields for a project SCM action read
- `rundeck.projects.scm.actions.perform` Perform a project SCM action write
- `rundeck.projects.scm.config.get` Get project SCM configuration read
- `rundeck.projects.scm.plugins.disable` Disable a project SCM plugin write
- `rundeck.projects.scm.plugins.enable` Enable a project SCM plugin write
- `rundeck.projects.scm.plugins.input.get` Get setup input fields for a project SCM plugin read
- `rundeck.projects.scm.plugins.list` List project SCM plugins read
- `rundeck.projects.scm.plugins.setup` Set up a project SCM plugin write
- `rundeck.projects.scm.status.get` Get project SCM status read
- `rundeck.projects.scm.toggle` Enable or disable SCM for a project write
- `rundeck.projects.tours.get` Get a project tour read
- `rundeck.projects.tours.list` List project tours read
- `rundeck.projects.tours.save` Save a project tour write
- `rundeck.projects.ui_meta.get` Get project UI metadata read

**System 29**

- `rundeck.system.acls.create` Create a system ACL policy write
- `rundeck.system.acls.delete` Delete a system ACL policy destructive
- `rundeck.system.acls.get` Get a system ACL policy read
- `rundeck.system.acls.update` Update a system ACL policy write
- `rundeck.system.api_info.get` Get API information read
- `rundeck.system.calendars.delete` Delete a system calendar destructive
- `rundeck.system.calendars.list` List system calendars read
- `rundeck.system.calendars.save` Create or update a system calendar write
- `rundeck.system.execution_mode.disable` Set the server to passive execution mode write
- `rundeck.system.execution_mode.disable_later` Schedule passive execution mode for the server write
- `rundeck.system.execution_mode.enable` Set the server to active execution mode write
- `rundeck.system.execution_mode.enable_later` Schedule active execution mode for the server write
- `rundeck.system.execution_mode.get` Get the server execution mode read
- `rundeck.system.features.get` Get a system feature flag read
- `rundeck.system.features.list` List system feature flags read
- `rundeck.system.home_summary.get` Get the home summary of executions and projects read
- `rundeck.system.info.get` Get system information read
- `rundeck.system.license.get` Get the Runbook Automation license status read
- `rundeck.system.license.update` Store a Runbook Automation license key write
- `rundeck.system.log_storage.get` Get log storage status read
- `rundeck.system.log_storage.incomplete.list` List executions with incomplete log storage read
- `rundeck.system.log_storage.incomplete.resume` Resume incomplete log storage processing write
- `rundeck.system.plugins.list` List installed plugins read
- `rundeck.system.report_datasets.get` Get a system report dataset read
- `rundeck.system.report_datasets.list` List system report datasets read
- `rundeck.system.tour_endpoints.list` List tour endpoints read
- `rundeck.system.tours.get` Get a system tour read
- `rundeck.system.tours.list` List system tours read
- `rundeck.system.tours.save` Save a system tour write

**Jobs 27**

- `rundeck.jobs.bulk_delete` Bulk delete jobs destructive
- `rundeck.jobs.bulk_delete_by_query` Bulk delete jobs by id list destructive
- `rundeck.jobs.bulk_executions.disable` Bulk disable executions for jobs write
- `rundeck.jobs.bulk_executions.enable` Bulk enable executions for jobs write
- `rundeck.jobs.bulk_schedule.disable` Bulk disable schedules for jobs write
- `rundeck.jobs.bulk_schedule.enable` Bulk enable schedules for jobs write
- `rundeck.jobs.definition.get` Get a job definition read
- `rundeck.jobs.delete` Delete a job destructive
- `rundeck.jobs.executions.create` Run a job (executions endpoint) write
- `rundeck.jobs.executions.delete_all` Delete all executions of a job destructive
- `rundeck.jobs.executions.disable` Disable executions for a job write
- `rundeck.jobs.executions.enable` Enable executions for a job write
- `rundeck.jobs.executions.list` List executions of a job read
- `rundeck.jobs.forecast.get` Get a job's schedule forecast read
- `rundeck.jobs.get` Get job metadata read
- `rundeck.jobs.retry` Retry a job from a previous execution write
- `rundeck.jobs.run` Run a job write
- `rundeck.jobs.schedule.disable` Disable the schedule of a job write
- `rundeck.jobs.schedule.enable` Enable the schedule of a job write
- `rundeck.jobs.scm.actions.input.get` Get input fields for a job SCM action read
- `rundeck.jobs.scm.actions.perform` Perform an SCM action on a job write
- `rundeck.jobs.scm.diff.get` Get the SCM diff for a job read
- `rundeck.jobs.scm.status.get` Get the SCM status of a job read
- `rundeck.jobs.tags.list` List a job's tags read
- `rundeck.jobs.ui_meta.get` Get job UI metadata read
- `rundeck.jobs.uploaded_files.get` Get information about an uploaded job option file read
- `rundeck.jobs.workflow.get` Get a job's workflow read

**Executions 16**

- `rundeck.executions.abort` Abort a running execution destructive
- `rundeck.executions.bulk_delete` Bulk delete executions destructive
- `rundeck.executions.delete` Delete an execution destructive
- `rundeck.executions.get` Get an execution read
- `rundeck.executions.input_files.list` List input files uploaded for an execution read
- `rundeck.executions.metrics.get` Get execution metrics across projects read
- `rundeck.executions.output.get` Get execution log output read
- `rundeck.executions.output.node.get` Get execution log output for a node read
- `rundeck.executions.output.node_step.get` Get execution log output for a node and step read
- `rundeck.executions.output.step.get` Get execution log output for a step read
- `rundeck.executions.output_state.get` Get execution log output with state changes read
- `rundeck.executions.result_data.availability.get` Check whether execution result data is available read
- `rundeck.executions.result_data.get` Get execution result data read
- `rundeck.executions.roi_metrics.availability.get` Check whether ROI metrics are available for an execution read
- `rundeck.executions.roi_metrics.get` Get ROI metrics data for an execution read
- `rundeck.executions.state.get` Get execution state read

**Runners 16**

- `rundeck.runners.create` Create a runner write
- `rundeck.runners.delete` Delete a runner destructive
- `rundeck.runners.get` Get a runner read
- `rundeck.runners.keys.get` Get key storage paths a runner can access read
- `rundeck.runners.list` List runners read
- `rundeck.runners.ping` Ping a runner write
- `rundeck.runners.ping_status.get` Check a runner ping result read
- `rundeck.runners.project_tags.list` List runner tags associated with a project read
- `rundeck.runners.regenerate_credentials` Regenerate a runner's credentials write
- `rundeck.runners.replicas.create` Create a runner replica write
- `rundeck.runners.replicas.delete` Delete a runner replica destructive
- `rundeck.runners.replicas.list` List runner replicas read
- `rundeck.runners.tags.list` List a runner's tags read
- `rundeck.runners.tags.search` Search runner tags read
- `rundeck.runners.ui.get` Get runner UI settings read
- `rundeck.runners.update` Update a runner write

**Config 10**

- `rundeck.config.categories.list` List system configuration categories read
- `rundeck.config.delete` Delete a system configuration property destructive
- `rundeck.config.get` Get a system configuration property read
- `rundeck.config.list` List system configuration properties read
- `rundeck.config.meta.list` List configuration property metadata read
- `rundeck.config.refresh` Refresh system configuration write
- `rundeck.config.restart` Restart the server to apply configuration write
- `rundeck.config.save` Save system configuration properties write
- `rundeck.config.storage_plugins.list` List storage plugin configuration read
- `rundeck.config.storage_plugins.save` Save storage plugin configuration write

**User classes 9**

- `rundeck.user_classes.allocations.get` Get user class allocations read
- `rundeck.user_classes.available.list` List available user classes read
- `rundeck.user_classes.bulk_update` Bulk assign or remove user classes write
- `rundeck.user_classes.enabled.get` Check whether user classes are enabled read
- `rundeck.user_classes.me.get` Get the current user's user class read
- `rundeck.user_classes.state.get` Get the user class allocation state read
- `rundeck.user_classes.users.delete` Remove a user's user class destructive
- `rundeck.user_classes.users.get` Get a user's user class read
- `rundeck.user_classes.users.update` Set a user's user class write

**Storage keys 8**

- `rundeck.storage_keys.create_password` Create a stored password write
- `rundeck.storage_keys.create_private_key` Create a stored private key write
- `rundeck.storage_keys.create_public_key` Create a stored public key write
- `rundeck.storage_keys.delete` Delete a stored key destructive
- `rundeck.storage_keys.get` Get key storage metadata or list a directory read
- `rundeck.storage_keys.update_password` Update a stored password write
- `rundeck.storage_keys.update_private_key` Update a stored private key write
- `rundeck.storage_keys.update_public_key` Update a stored public key write

**Local users 7**

- `rundeck.local_users.create` Create a local user write
- `rundeck.local_users.delete` Delete a local user destructive
- `rundeck.local_users.get` Get a local user read
- `rundeck.local_users.list` List local users read
- `rundeck.local_users.password_reset.create` Send a password reset for a local user write
- `rundeck.local_users.roles.list` List a local user's roles read
- `rundeck.local_users.update` Update a local user write

**Local roles 6**

- `rundeck.local_roles.create` Create a local role write
- `rundeck.local_roles.delete` Delete a local role destructive
- `rundeck.local_roles.get` Get a local role read
- `rundeck.local_roles.list` List local roles read
- `rundeck.local_roles.members.update` Update members of a local role write
- `rundeck.local_roles.update` Update a local role write

**Users 6**

- `rundeck.users.get` Get a user's profile read
- `rundeck.users.list` List users read
- `rundeck.users.me.get` Get the current user's profile read
- `rundeck.users.me.roles.list` List the current user's roles read
- `rundeck.users.me.update` Update the current user's profile write
- `rundeck.users.update` Update a user's profile write

**Webhooks 6**

- `rundeck.webhooks.create` Create a webhook write
- `rundeck.webhooks.debug_events.list` List debug events for a webhook read
- `rundeck.webhooks.delete` Delete a webhook destructive
- `rundeck.webhooks.get` Get a webhook read
- `rundeck.webhooks.list` List webhooks in a project read
- `rundeck.webhooks.update` Update a webhook write

**Authorizations 5**

- `rundeck.authorizations.application_kind.get` Check authorizations for an application resource kind read
- `rundeck.authorizations.application_resource.get` Check authorizations for an application resource read
- `rundeck.authorizations.project_job.get` Check authorizations for a job read
- `rundeck.authorizations.project_kind.get` Check authorizations for a project resource kind read
- `rundeck.authorizations.project_resource.get` Check authorizations for a project resource read

**Tokens 5**

- `rundeck.tokens.create` Create an API token for a user write
- `rundeck.tokens.delete` Delete an API token destructive
- `rundeck.tokens.get` Get an API token read
- `rundeck.tokens.list` List API tokens for a user read
- `rundeck.tokens.remove_expired` Remove expired API tokens for a user destructive

**Metrics 3**

- `rundeck.metrics.data.get` Get metrics data read
- `rundeck.metrics.healthcheck.get` Get health check results read
- `rundeck.metrics.list` List available metrics endpoints read

**Scheduler 3**

- `rundeck.scheduler.jobs.list` List jobs scheduled on the current server read
- `rundeck.scheduler.server_jobs.list` List jobs scheduled on a cluster server read
- `rundeck.scheduler.takeover` Take over job schedules from cluster servers write

**Cluster 2**

- `rundeck.cluster.execution_mode.disable` Set a cluster member to passive execution mode write
- `rundeck.cluster.execution_mode.enable` Set a cluster member to active execution mode write

Questions

## The Rundeck MCP server, answered.

**Is there a Rundeck MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 240 Rundeck actions across projects, system, jobs and executions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Rundeck.

**What do I need to connect Rundeck?**

Rundeck API token. Plus your api version and your host. The free call account { op: "connections.requirements", service: "rundeck" } lists exactly what to paste.

**Can an AI agent delete or change things in Rundeck?**

Only if its key allows it, and only with an explicit confirmation. 29 Rundeck actions are destructive, including delete a local user, delete a project and delete a local role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Rundeck API limit?**

actionlake paces every call to the limits in the Rundeck service file: 300 calls a minute per connection. Repeated reads are answered from cache (124 Rundeck actions can be), which never reaches Rundeck.

**What does a Rundeck action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (240 Rundeck actions page). Cache hits, searches, dry runs and calls Rundeck refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Rundeck API does it cover?**

The Rundeck REST API (OpenAPI document for API v59; base path /api/{conn.api_version}, default 47) at your Rundeck instance's API base URL, which you enter when connecting. It is built from Rundeck's documentation as read on 23 October 2026. 240 actions in 17 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Rundeck data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Rundeck credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Rundeck

Shares the most action names with

- [Egnyte 12](https://actionlake.com/connectors/egnyte)
- [Jamf Pro 11](https://actionlake.com/connectors/jamf-pro)
- [Action1 10](https://actionlake.com/connectors/action1)
- [TP-Link Omada Open API 10](https://actionlake.com/connectors/tp-link-omada-open-api)
- [Commvault Cloud 10](https://actionlake.com/connectors/commvault-cloud)
- [Azure Logic Apps 9](https://actionlake.com/connectors/azure-logic-apps)

Joins with, on shared entities

- [Unleash 4](https://actionlake.com/connectors/unleash)
- [Harvest 4](https://actionlake.com/connectors/harvest)
- [Rubrik Security Cloud 3](https://actionlake.com/connectors/rubrik-security-cloud)
- [Cloudflare 3](https://actionlake.com/connectors/cloudflare)
- [Docebo 3](https://actionlake.com/connectors/docebo)
- [Lightdash 3](https://actionlake.com/connectors/lightdash)

Browse

- [All MSP & PSA connectors](https://actionlake.com/connectors/category/msp-and-psa)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Rundeck; the name is the vendor's own. Counts are from the Rundeck service file, version 1.0.0.

## Give your agent Rundeck today.

[Connect Rundeck free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/rundeck
More: https://actionlake.com/llms.txt
