Jenkins MCP服务器

Jenkins MCP服务器是一个基于MCP Python SDK的服务器,用于将Jenkins控制器的REST API暴露给MCP兼容的客户端,如Claude Desktop。

  • by LokiMCPUniverse
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 LokiMCPUniverse/jenkins-mcp-server

使用说明

Jenkins MCP服务器

一个模型上下文协议(MCP)服务器,它公开了Jenkins控制器的REST API到兼容MCP的客户端,如Claude Desktop。建立在 MCP Python SDK (1.27+, 协议2025-11-25)使用 FastMCP 随着 httpx 对于异步HTTP和 pydantic-settings 用于配置。

特性

  • 使用Jenkins用户名+API令牌的HTTP基本身份验证
  • POST请求的自动CSRF面包屑获取和缓存
  • 适用于嵌套文件夹作业路径(team/app/main)
  • 用于作业、构建、控制台日志、队列、节点和插件的工具

安装

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

配置

所有配置都是从前缀为的环境变量中读取的 JENKINS_.

变量 默认值 描述
JENKINS_BASE_URL http://localhost:8080 Jenkins控制器的基本URL
JENKINS_USERNAME (空) 用于HTTP基本身份验证的Jenkins用户
JENKINS_API_TOKEN (空) Jenkins API令牌(在用户设置中创建)
JENKINS_VERIFY_SSL true 验证TLS证书
JENKINS_TIMEOUT 30 HTTP超时(秒)

A. .env 工作目录中的文件也会自动拾取。

跑步

jenkins-mcp

Claude桌面配置

向添加条目 claude_desktop_config.json:

{
  "mcpServers": {
    "jenkins": {
      "command": "jenkins-mcp",
      "env": {
        "JENKINS_BASE_URL": "https://jenkins.example.com",
        "JENKINS_USERNAME": "your-username",
        "JENKINS_API_TOKEN": "your-api-token"
      }
    }
  }
}

工具

工具 说明
list_jobs 列出作业(可选范围为文件夹)
get_job 返回完整的作业元数据
trigger_build 触发构建,可选地使用参数
get_build 返回特定版本的元数据
get_build_log 获取构建的控制台文本
stop_build 停止正在运行的构建
list_builds 列出最新版本(limit 默认为20)
list_queue 列出排队的构建项
cancel_queue_item 按id取消队列项目
list_nodes 列出Jenkins节点/代理
get_plugin_list 列出已安装的Jenkins插件

发展

使用以下工具运行测试:

pytest -x --tb=short

棉绒:

ruff check src tests