返回市场
MCP-詹金斯

MCP-詹金斯

作者:lanbaoshen55 星标更新:2025-11-03

项目介绍

MCP Jenkins

PyPI 版本 PyPI 下载量 测试 许可证

模型上下文协议(MCP)是一个开源实现,它根据Anthropic的MCP规范将Jenkins与AI语言模型连接起来。此项目允许在使用Jenkins工具时进行安全、有上下文的AI交互,并保持数据隐私和安全性。

Cursor 演示

cursor 演示

安装指南

安装

选择以下安装方法之一:

# 使用uv(推荐)
pip install uv
uvx mcp-jenkins

# 使用pip
pip install mcp-jenkins

# 使用Smithery
npx -y @smithery/cli@latest install @lanbaoshen/mcp-jenkins --client claude

配置和使用

Cursor

  1. 打开Cursor设置
  2. 导航到MCP
  3. 点击+ 添加新的全局MCP服务器

这将创建或编辑您的MCP服务器配置文件~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-jenkins": {
      "command": "uvx",
      "args": [
        "mcp-jenkins",
        "--jenkins-url=xxx",
        "--jenkins-username=xxx",
        "--jenkins-password=xxx"
      ]
    }
  }
}

注意:您也可以将Jenkins令牌设置为密码!

VSCode Copilot Chat

  1. 在工作区中创建包含mcp.json文件的.vscode文件夹以进行本地设置,或者通过设置菜单编辑settings.json
  2. 插入以下配置:
  • SSE模式
{
    "servers": {
        "jenkins": {
            "url": "http://localhost:3000/sse",
            "type": "sse"
        }
    }
}
  • Streamable-Http模式
{
    "servers": {
        "mcp-jenkins-mcp": {
            "autoApprove": [],
            "disabled": false,
            "timeout": 60,
            "type": "streamableHttp",
            "url": "http://localhost:3000/mcp"
        }
    }
}
  1. 使用以下命令运行Jenkins MCP服务器:
uvx mcp-jenkins \
  --jenkins-url http://localhost:3000 \
  --jenkins-username your_username  \
  --jenkins-password your_password_or_token \
  --transport sse --port 3000

命令行参数

# 标准IO模式
uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx --read-only

# SSE模式
uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx --transport sse --port 9887

# Streamable-Http模式
uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx --transport streamable-http --port 9887

AutoGen

<details> <summary>安装和执行</summary>

安装autogen:

pip install "autogen-ext[azure,ollama,openai,mcp]" autogen-chat

运行Python脚本:

import asyncio

from autogen_ext.tools.mcp import StdioMcpToolAdapter, StdioServerParams
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_core import CancellationToken


async def main() -> None:
    # 创建远程MCP服务的服务器参数
    server_params = StdioServerParams(
        command='uvx',
        args=[
            'mcp-jenkins',
            '--jenkins-username',
            'xxx',
            '--jenkins-password',
            'xxx',
            '--jenkins-url',
            'xxx'
        ],
    )

    # 从服务器获取翻译工具
    adapter = await StdioMcpToolAdapter.from_server_params(server_params, 'get_all_jobs')

    # 创建可以使用翻译工具的代理
    agent = AssistantAgent(
        name='jenkins_assistant',
        model_client=[Replace_with_your_model_client],
        tools=[adapter],
    )

    # 让代理翻译一些文本
    await Console(
        agent.run_stream(task='Get all jobs', cancellation_token=CancellationToken())
    )


if __name__ == "__main__":
    asyncio.run(main())
</details>

可用工具

工具描述
get_all_jobs获取所有作业
get_job_config获取作业配置
search_jobs按特定字段搜索作业
get_running_builds获取正在构建的作业
stop_build停止正在运行的构建
get_build_info获取构建信息
get_build_sourcecode获取Jenkins中特定构建的流水线源代码
get_job_info获取作业信息
build_job使用参数构建作业
get_build_logs获取构建日志
get_test_results获取特定构建的测试结果
get_all_nodes获取节点
get_node_config获取节点配置
get_all_queue_items获取所有队列项
get_queue_item获取队列项信息
cancel_queue_item取消队列项
get_multibranch_jobs从Jenkins获取所有多分支流水线作业,可选地按模式过滤
get_multibranch_branches获取特定多分支流水线作业的所有分支
scan_multibranch_pipeline触发多分支流水线扫描以发现新分支

开发与调试

# 使用MCP Inspector
# 对于已安装的包
npx @modelcontextprotocol/inspector uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx

# 对于本地开发版本
npx @modelcontextprotocol/inspector uv --directory /path/to/your/mcp-jenkins run mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx

提交前钩子

# 安装依赖
uv sync --all-extras --dev
pre-commit install

# 手动执行
pre-commit run --all-files

单元测试

# 安装依赖
uv sync --all-extras --dev

# 执行单元测试
uv run pytest --cov=mcp_jenkins

许可证

MIT许可 - 详见LICENSE文件。这不是官方的Jenkins产品。

MCP-Jenkins在MCP注册表中的位置

Star历史

Star历史图表