a

andreimatveyeu

@andreimatveyeu/mcp_jenkins
0 Stars 321 次浏览 andreimatveyeu 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

mcp_jenkins

一个 Jenkins MCP 服务器。模型上下文协议 (MCP) 允许 AI 工具(如聊天机器人)与您的 Jenkins 设置进行通信和控制,例如检索信息和修改设置。

注意: 这是一个最小实验版本的 MCP Jenkins 服务器,目前处于早期开发阶段。

描述

该项目提供了一个用于与 Jenkins 交互的模型上下文协议 (MCP) 服务器。它允许用户通过 MCP 接口触发 Jenkins 任务、获取构建状态以及执行其他与 Jenkins 相关的操作。

组件

  • server.py: 核心 MCP Jenkins 服务器应用程序。
  • functions_schema.md: 定义了 MCP Jenkins 服务器暴露的功能模式。
  • client.py: 一个示例客户端,演示如何与 MCP Jenkins 服务器交互(仅作参考)。
  • functional tests: 包含 MCP Jenkins 服务器的功能测试。

安装

要安装该包,请运行:

bash
pip install .

使用

常见工作流程

运行服务器

要运行 MCP 服务器:

bash
./docker/run.server

运行示例客户端

要运行示例客户端:

bash
./docker/run.client

例如,要使用特定模型列出名为 "backups" 的作业的所有构建,可以运行:

bash
./docker/run.client --model gemini-2.0-flash-001 "list builds backups"

注意:如果通过 pip install . 安装了包,则 mcp_jenkins_client 控制台脚本也是可用的。

这可能会产生如下输出:

查询: list builds backups
结果:
backups 的最近构建:

  • 构建 #1086: 失败 (http://myjenkins:8080/job/backups/1086/)

使用 Docker 构建和测试

开发和测试的一个常见工作流程是首先构建 Docker 镜像,然后执行测试:

  1. 构建 Docker 镜像:
    此步骤准备了测试所需的环境。
    bash
    ./docker/build

  2. 运行测试:
    构建完成后,执行测试。
    bash
    ./docker/run.tests

此序列确保在一致的 Docker 环境中针对最新构建执行测试。

部署测试环境

要部署本地 Jenkins 测试实例(无身份验证,仅用于功能测试):

bash
./docker/deploy.test.environment

连接到现有的 Jenkins 实例

要将 MCP Jenkins 服务器与现有 Jenkins 实例一起使用,您需要配置以下环境变量:

  • JENKINS_URL: 您的 Jenkins 实例的完整 URL(例如,http://your-jenkins-host:8080)。这是必需的
  • JENKINS_USER: (可选)如果需要身份验证,则为您的 Jenkins 用户名。
  • JENKINS_API_TOKEN: (可选)您的 Jenkins API 令牌。如果使用身份验证,则必须与 JENKINS_USER 一同提供。您可以在 Jenkins 用户的配置页面 (<Jenkins URL>/me/configure) 生成 API 令牌。
  • MCP_API_KEY: 用于保护此 MCP 服务器的秘密 API 密钥。请求 MCP 服务器时需要在 X-API-Key 标头中包含此密钥。除非 DEBUG_MODE 设置为 true,否则这是必需的
  • DEBUG_MODE: 设置为 true 以调试模式运行 MCP 服务器,这会绕过 MCP_API_KEY 要求并提供更详细的日志记录。不要在生产环境中使用。

示例配置(Bash):

bash
export JENKINS_URL="http://your-jenkins-host:8080"
export JENKINS_USER="your_jenkins_username"
export JENKINS_API_TOKEN="your_jenkins_api_token"
export MCP_API_KEY="your_mcp_secret_key"

export DEBUG_MODE="true" # 在不需要 MCP_API_KEY 的开发/测试中取消注释

设置了这些环境变量后,您可以使用 Docker 脚本运行 MCP 服务器:

bash
./docker/run.serverMCP 服务器将尝试连接到您指定的 Jenkins 实例。

OpenWebUI 集成

文件 open-webui/open_webui_interface.py 提供了一个如何将此 MCP Jenkins 服务器与 OpenWebUI 实例集成的例子。

使用方法:

  1. 在您的 OpenWebUI 界面中,导航到添加或配置工具的部分。
  2. 创建一个新的工具。
  3. 复制整个 open-webui/open_webui_interface.py 文件的内容,并将其粘贴到 OpenWebUI 中的工具配置里。
  4. 重要:您需要调整粘贴代码中的连接参数,特别是:
    • MCP_JENKINS_SERVER_URL: 在您的 OpenWebUI 环境中设置此环境变量为正在运行的 MCP Jenkins 服务器的 URL(例如,http://localhost:5000)。如果未设置该变量,脚本默认为 http://localhost:5000
    • MCP_API_KEY: 如果您的 MCP Jenkins 服务器被配置为需要 API 密钥,请确保在您的 OpenWebUI 环境中设置了此环境变量。如果没有找到该变量,脚本会打印一条警告信息,但仍会尝试发出请求。

配置完成后,定义在 open_webui_interface.py 中的工具(如 list_jobs, trigger_build, get_build_status)应该可以在您的 OpenWebUI 聊天界面中使用了。

许可证

本项目采用 MIT 许可证。

相关 MCP 服务