Rundeck MCP服务器
Rundeck的本地MCP(模型上下文协议)服务器,它提供了与Rundeck实例交互的工具,允许您列出作业,使用选项运行作业,并直接从启用MCP的客户端检索执行状态和日志。
先决条件
- asdf vm 安装。
- 紫外线 全球安装。
- Rundeck API代币.
要获得Rundeck API代币,请按照以下步骤操作:
1. 登录您的Rundeck实例 然后点击右上角的用户名。 1. 引导到 用户档案 然后 用户API令牌. 1. 点击 生成新令牌,提供名称,然后选择适当的角色。 1. 复制生成的令牌并安全存储。您将需要此令牌来配置MCP服务器。
> 注: API令牌继承创建它们的用户的权限。确保您的用户对要管理的作业具有适当的访问权限。
与MCP客户端一起使用
光标集成
您可以直接在Cursor的 settings.json 文件,按照以下步骤操作:
- 打开光标设置(光标设置>工具>添加MCP,或
Cmd+,在Mac上,或Ctrl+,在Windows/Linux上)。
- 添加以下配置:
{
"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代码集成
您可以直接在Visual Studio Code的 settings.json 文件,允许VS Code管理服务器生命周期。
- 打开VS代码设置(文件>首选项>设置,或
Cmd+,在Mac上,或Ctrl+,在Windows/Linux上)。
- 搜索“mcp”,并确保在功能>聊天下选中“mcp:Enabled”。
- 点击“Mcp>Discovery:Servers”下的“在settings.json中编辑”。
- 添加以下配置:
{
"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
}
}
}
}
}在VS代码聊天(代理)中尝试
- 确保在VS代码设置中启用了MCP(功能>聊天>“MCP:enabled”)。
- 如上所述配置服务器。
- 在VS Code中打开聊天视图(
View>Chat). - 确保
Agent选择模式。在聊天视图中,您可以通过单击工具图标启用或禁用特定工具。 - 输入命令,例如
List all jobs in project myproject或Run the deploy job with version 1.2.3通过MCP服务器与Rundeck实例交互。 - 您可以使用命令面板启动、停止和管理MCP服务器(
Cmd+Shift+P/Ctrl+Shift+P)并搜索MCP: List Servers。在发送命令之前,请确保服务器正在运行。如果遇到任何问题,您也可以尝试重新启动服务器。
Claude桌面集成
您可以通过将此MCP服务器添加到Claude的配置文件中,将其配置为与Claude Desktop一起工作。
- 找到您的Claude Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 创建或编辑配置文件 并添加以下配置:
{
"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"
}
}
}
}- 替换占位符值:
- 替换 your-rundeck-api-token-here 使用您的实际Rundeck API代币 - 替换 http://localhost:4440 使用您的Rundeck服务器URL
- 重新启动克劳德桌面 完全为了使更改生效。
- 测试集成 通过与Claude开始对话并询问“列出项目myproject中的所有作业”或“显示最近的执行情况”来验证MCP服务器是否正常工作。
> 安全说明: 与VS Code的安全输入提示不同,Claude Desktop要求您将API令牌直接存储在配置文件中。确保此文件具有适当的权限(只能由您的用户帐户读取),并考虑以纯文本存储凭据的安全影响。
在本地设置
- 克隆存储库
- 安装
asdf插件
asdf plugin add python
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf plugin add uv- 安装工具版本 使用
asdf:
asdf install- 创建虚拟环境并安装依赖项 使用
uv(现在asdf已设置正确的Python和uv版本):
uv sync- 确保
uv全球可用。
MCP服务器可以从不同的地方运行,因此您需要 uv 在全球范围内可用。为此,请遵循 官方文件.
> 提示: 您可能需要重新启动终端和/或VS Code才能使更改生效。
- 在本地运行它
要运行克隆的Rundeck MCP服务器,您需要更新配置以使用 uv 而不是 uvx.
"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
}
}可用工具和资源
本节介绍Rundeck MCP服务器提供的工具。它们根据它们是只能读取数据还是可以修改Rundeck实例中的数据进行分类。
重要提示: 默认情况下,MCP服务器只公开只读工具。要启用可以修改Rundeck实例的工具(写模式工具),您必须使用以下命令显式启动服务器 --enable-write-tools 旗帜。这有助于防止意外执行作业。| 工具 | 区域 | 描述 | 只读 |
|---|---|---|---|
| list_jobs | 作业 | 列出项目中具有可选筛选的作业 | ✅ |
| get_job | 作业 | 检索作业详细信息,包括选项和默认值 | ✅ |
| listexecutions | executions | 列出按状态或时间筛选的执行 | ✅ |
| get_execution | 执行 | 检索执行状态和详细信息 | ✅ |
| get_execution_output | 执行 | 检索执行日志输出 | ✅ |
| run_job | 作业 | 执行带有选项的作业 | ❌ |
作业选项
当使用运行作业时 run_job 工具,服务器在执行之前验证选项:
- 必需选项 必须提供(除非它们有默认值)
- 强制选择 必须使用允许列表中的值
- 选项摘要 验证失败时显示
示例作业选项显示:
Job Options:
- version [REQUIRED]
The version to deploy
Allowed values (must be): '1.0', '1.1', '2.0'
- environment [optional] (default: 'staging')
Target environment
Allowed values (suggested): 'dev', 'staging', 'prod'
- dry_run [optional] (default: 'false')
Run without making changes配置
| 环境变量 | 描述 | 默认值 |
|---|---|---|
RUNDECK_API_TOKEN | 用于身份验证的API令牌 | (必需) |
RUNDECK_URL | Rundeck服务器URL | http://localhost:4440 |
RUNDECK_API_VERSION | API版本号 | 44 |
支持
此MCP服务器是一个开源项目。如果需要帮助,请在存储库中打开问题。
贡献
如果您有兴趣为这个项目做出贡献,请参阅 PRD.md 用于架构决策和实现模式。
