@znmin/jenkins-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JENKINS_URL | Yes | Jenkins 根地址,支持 /jenkins 等上下文路径。 | |
| JENKINS_TIMEOUT | No | 单次请求等待响应头的超时秒数,必须为正数。 | 30 |
| JENKINS_PASSWORD | No | 登录密码,也可填 API Token。与 JENKINS_API_TOKEN 二选一;若同时设置,JENKINS_API_TOKEN 优先。 | |
| JENKINS_USERNAME | Yes | Jenkins 用户名。 | |
| JENKINS_API_TOKEN | No | API Token。与 JENKINS_PASSWORD 二选一;若同时设置,优先于密码。 | |
| JENKINS_READ_ONLY | No | 设为 true 时不注册所有写工具,包括 Replay。 | false |
| JENKINS_VERIFY_SSL | No | 设为 false 时仅本 Jenkins 客户端跳过 HTTPS 证书校验。 | true |
| JENKINS_SESSION_SINGLETON | No | 是否复用连接、crumb 和会话 Cookie。 | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_replay_scriptsA | Read the main and loaded scripts from an existing editable Pipeline Replay form. Does not run a build. |
| replay_buildA | Run an existing Pipeline build again using a replacement mainScript and optional loadedScripts. This schedules a real build and can deploy. Read get_replay_scripts first. Never automatically retry after a submitted/uncertain POST. |
| get_all_itemsB | Get all items from Jenkins. |
| get_itemB | Get specific item from Jenkins. |
| get_item_configC | Get specific item config from Jenkins. |
| set_item_configC | Set specific item config in Jenkins. |
| query_itemsD | Query items from Jenkins. |
| build_itemC | Build an item in Jenkins. |
| get_all_nodesB | Get all nodes from Jenkins. |
| get_nodeB | Get a specific node from Jenkins. |
| get_node_configC | Get node config from Jenkins. |
| set_node_configC | Set specific node config in Jenkins. |
| get_all_queue_itemsA | Get all items in Jenkins queue. |
| get_queue_itemA | Get a specific item in Jenkins queue by id. |
| cancel_queue_itemA | Cancel a specific item in Jenkins queue by id. |
| get_running_buildsA | Get all running builds from Jenkins. |
| get_buildC | Get specific build info from Jenkins. |
| get_build_scriptsC | Get scripts used in a specific build. |
| get_build_console_tailC | Get the tail of a specific build console output. |
| get_build_console_chunkB | Read incremental console output from a specific byte offset. |
| search_build_consoleC | Search build console output incrementally and return matching excerpts. |
| get_build_failure_excerptB | Get focused failure excerpts and failing tests via incremental log scanning. |
| get_build_test_reportC | Get test report of a specific build. |
| stop_buildC | Stop a specific build. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Most tools are clearly separated by resource and action (items, nodes, queue, builds, console output). The main overlap is between get_all_items and query_items, whose boundary is not obvious from the names; get_item/get_item_config are related but distinguishably scoped. The build-console tools overlap somewhat but have distinct offset/search/excerpt purposes.
Tool names consistently use snake_case with a predictable verb_noun pattern such as get_item, set_item_config, build_item, cancel_queue_item, and get_build_console_tail. Resource-specific plurals are used sensibly (get_all_nodes, get_all_queue_items). The one deviation, query_items, still fits the overall naming style.
At 24 tools the surface is on the heavy side, but Jenkins is broad enough to justify separate item, node, queue, build, and console-log operations. The multiple console-reading tools are specialized rather than redundant. It is slightly over-scoped but still reasonable for the domain.
The server covers core Jenkins workflows: inspecting items, changing configs, triggering builds, monitoring queue and running builds, reading logs/tests, and stopping builds. Gaps remain around job creation/deletion, credential handling, and some administrative lifecycle operations, but most day-to-day build and inspection workflows are covered.