关于 rundeck-mcp-server
rundeck-mcp-server 将 MCP 兼容助手和客户端连接到 Rundeck,用于作业及基础设施管理。工具涵盖项目和作业、执行监控、节点、密钥、Webhook、访问策略与系统状态。
主要功能
- 01项目和作业的增删改查与配置
- 02运行、重试和调度作业
- 03监控执行并查看日志
- 04浏览节点并管理密钥存储
- 05管理 Webhook、ACL 策略和系统状态
适用场景
- 01运行或重试部署作业
- 02检查正在运行的执行并查看日志
- 03通过过滤表达式查找节点
- 04检查 Rundeck 健康状态和访问策略
MCP 相关
将 Rundeck 操作作为 MCP 工具提供给兼容客户端。通过配置的 Rundeck 地址和 API 令牌连接实例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
npx -y rundeck-mcp-server需要配置的环境变量
RUNDECK_URLRundeck server URL (e.g., http://localhost:4440)RUNDECK_API_TOKEN密钥API token for authenticationRUNDECK_API_VERSIONRundeck API version (default: 41)RUNDECK_TIMEOUTRequest timeout in milliseconds (default: 30000)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
50收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
rundeck-mcp-server
这是功能最全面的 Rundeck MCP(Model Context Protocol) 服务。可通过 Claude、Cursor 或任何兼容 MCP 的客户端管理作业、执行记录、项目、节点等。
涵盖 7 个领域的 50 个工具——支持完整的增删改查操作、执行监控和系统管理。
功能
- 项目 — 列出、创建和删除项目,并进行配置
- 作业 — 列出、创建、运行、重试、导入/导出作业,以及启用/禁用执行和调度
- 执行记录 — 监控正在运行的作业、获取日志、中止执行,并查询历史记录
- 节点 — 使用筛选表达式浏览节点清单
- 系统 — 服务器信息、运行状况检查、指标、执行模式控制
- 密钥存储 — 管理机密、密码和 SSH 密钥
- Webhooks — 创建和管理 webhook 触发器
- ACL 策略 — 对系统访问控制策略执行完整的增删改查操作
快速开始
前提条件
- Node.js 18+
- 可访问 API 的 Rundeck 实例
- Rundeck API 令牌(如何生成)
与 Claude Code 配合使用
添加到 MCP 设置中:
{
"mcpServers": {
"rundeck": {
"command": "npx",
"args": ["-y", "rundeck-mcp-server"],
"env": {
"RUNDECK_URL": "http://your-rundeck-server:4440",
"RUNDECK_API_TOKEN": "your-api-token"
}
}
}
}
与 Claude Desktop 配合使用
添加到 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"
}
}
}
}
与 Cursor 配合使用
添加到 Cursor MCP 设置(.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"
}
}
}
}
配置
| 环境变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
RUNDECK_URL | 是 | — | Rundeck 服务器 URL(例如,http://localhost:4440) |
RUNDECK_API_TOKEN | 是 | — | 用于身份验证的 API 令牌 |
RUNDECK_API_VERSION | 否 | 41 | Rundeck API 版本 |
RUNDECK_TIMEOUT | 否 | 30000 | 请求超时时间,单位为毫秒 |
可用工具
项目(6 个工具)
| 工具 | 说明 |
|---|---|
rundeck_list_projects | 列出所有项目 |
rundeck_get_project | 获取项目详情和配置 |
rundeck_create_project | 创建新项目 |
rundeck_delete_project | 永久删除项目 |
rundeck_get_project_config | 获取项目配置属性 |
rundeck_set_project_config | 更新项目配置 |
作业(14 个工具)
| 工具 | 说明 |
|---|---|
rundeck_list_jobs | 按组、名称和标签筛选并列出作业 |
rundeck_get_job | 获取完整的作业定义(步骤、选项、计划) |
rundeck_get_job_metadata | 获取作业元数据(作者、日期) |
rundeck_run_job | 使用选项和节点筛选器执行作业 |
rundeck_retry_job | 重试失败的执行 |
rundeck_import_jobs | 从 JSON/YAML/XML 导入作业 |
rundeck_export_jobs | 导出作业定义 |
rundeck_delete_job | 删除作业 |
rundeck_bulk_delete_jobs | 一次删除多个作业 |
rundeck_enable_job_execution | 启用作业执行 |
rundeck_disable_job_execution | 禁用作业执行 |
rundeck_enable_job_schedule | 启用作业调度 |
rundeck_disable_job_schedule | 禁用作业调度 |
rundeck_get_job_forecast | 获取即将到来的计划执行时间 |
执行(8 个工具)
| 工具 | 描述 |
|---|---|
rundeck_list_executions | 按状态和时间筛选条件查询执行记录 |
rundeck_list_running_executions | 列出当前正在运行的执行记录 |
rundeck_get_execution | 获取执行详情(状态、持续时间、节点) |
rundeck_get_execution_output | 获取执行日志输出 |
rundeck_abort_execution | 中止正在运行的执行 |
rundeck_get_job_executions | 列出作业的执行历史 |
rundeck_delete_job_executions | 删除作业的所有执行记录 |
rundeck_bulk_delete_executions | 按 ID 删除多个执行记录 |
节点(2 个工具)
| 工具 | 描述 |
|---|---|
rundeck_list_nodes | 使用筛选表达式列出节点 |
rundeck_get_node | 获取节点详情 |
系统(12 个工具)
| 工具 | 描述 |
|---|---|
rundeck_system_info | 服务版本、运行时间和系统统计信息 |
rundeck_get_execution_mode | 检查主动/被动执行模式 |
rundeck_set_execution_mode | 在整个系统范围内启用或禁用执行 |
rundeck_get_metrics | 服务性能指标 |
rundeck_healthcheck | 系统健康检查 |
rundeck_list_users | 列出所有用户 |
rundeck_get_log_storage | 日志存储状态 |
rundeck_list_acl_policies | 列出 ACL 策略文件 |
rundeck_get_acl_policy | 获取 ACL 策略内容 |
rundeck_create_acl_policy | 创建 ACL 策略 |
rundeck_update_acl_policy | 更新 ACL 策略 |
rundeck_delete_acl_policy | 删除 ACL 策略 |
密钥存储(4 个工具)
| 工具 | 描述 |
|---|---|
rundeck_list_keys | 浏览密钥存储树 |
rundeck_get_key_metadata | 获取密钥元数据(不包含密钥值) |
rundeck_create_key | 存储密码、公钥或私钥 |
rundeck_delete_key | 删除已存储的密钥 |
Webhook(4 个工具)
| 工具 | 描述 |
|---|---|
rundeck_list_webhooks | 列出项目中的 Webhook |
rundeck_get_webhook | 获取 Webhook 详情 |
rundeck_create_webhook | 创建 Webhook 触发器 |
rundeck_delete_webhook | 删除 Webhook |
使用示例
完成配置后,你可以使用自然语言与 Rundeck 交互:
- “列出 Rundeck 中的所有项目”
- “显示生产项目中正在运行的执行记录”
- “在预发布项目中运行 deploy-app 作业,版本为 version=2.1.0”
- “获取执行记录 1234 的日志”
- “中止执行记录 5678”
- “显示过去 24 小时内所有失败的执行记录”
- “列出生产项目中标记为 'web' 的节点”
- “检查 Rundeck 服务的运行状况”
- “禁用 cleanup 作业的计划”
开发
# 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
贡献
欢迎贡献!请随时提交 Pull Request。
- Fork 此代码库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 发起 Pull Request
许可证
本项目根据 Apache License 2.0 授权,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。