jenkins-http-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JENKINS_URL | Yes | The URL of the Jenkins server (e.g., https://jenkins.example.com/) | |
| JENKINS_USER | Yes | The Jenkins username for authentication | |
| JENKINS_API_TOKEN | Yes | The Jenkins API token for authentication | |
| JENKINS_VERIFY_SSL | No | Whether to verify SSL certificates (1 for yes, 0 for no) | 1 |
| JENKINS_TIMEOUT_SECONDS | No | Timeout in seconds for HTTP requests to Jenkins | 30 |
| JENKINS_MCP_ENABLE_DELETE | No | Set to 1 to enable delete job tool, requires JENKINS_MCP_ENABLE_WRITES=1 and JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE=1 | 0 |
| JENKINS_MCP_ENABLE_WRITES | No | Set to 1 to enable write tools (trigger build, etc.) | 0 |
| JENKINS_MCP_MAX_LOG_BYTES | No | Maximum log output size in bytes for build log tool | 200000 |
| JENKINS_MCP_MAX_RESPONSE_BYTES | No | Maximum response size in bytes for MCP tools | 2000000 |
| JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE | No | Set to 1 to enable job config write tools (create, copy, update), requires JENKINS_MCP_ENABLE_WRITES=1 | 0 |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jenkins_whoamiA | Return the authenticated Jenkins identity from /whoAmI/api/json. |
| jenkins_versionA | Return Jenkins version from the X-Jenkins response header. |
| jenkins_healthA | Return a small health snapshot from top-level Jenkins JSON and version headers. |
| jenkins_get_jsonB | GET a relative Jenkins JSON API path. Rejects external URLs and traversal. |
| jenkins_list_jobsB | List jobs visible to the Jenkins user. |
| jenkins_get_jobA | Get one job by Jenkins job path. Nested paths use slash-separated names or a list. |
| jenkins_get_job_configA | Read serialized job config.xml; secrets may be redacted without Configure permission. |
| jenkins_list_buildsA | List recent builds for a job. |
| jenkins_get_buildA | Get a build by number or Jenkins permalink such as lastBuild. |
| jenkins_get_build_logA | Get consoleText for a build, truncated by JENKINS_MCP_MAX_LOG_BYTES. |
| jenkins_get_build_log_chunkA | Read one progressive log response and return Jenkins' next safe cursor. |
| jenkins_search_build_logA | Stream and search bounded consoleText for an exact, case-sensitive literal. |
| jenkins_get_build_artifactsB | List artifacts exported on a build JSON API response. |
| jenkins_start_artifact_downloadB | Start a gated async download of one archived build artifact to local disk. |
| jenkins_get_artifact_download_statusC | Get artifact download bytes, speed, paths, and final status. |
| jenkins_cancel_artifact_downloadA | Request cancellation of a running artifact download. |
| jenkins_get_test_reportA | Get /testReport/api/json when a test-report plugin such as JUnit provides it. |
| jenkins_list_queueB | List visible Jenkins queue items. |
| jenkins_get_queue_itemA | Get one Jenkins queue item by ID. |
| jenkins_list_viewsB | List Jenkins views visible to the user. |
| jenkins_get_viewA | Get one Jenkins view by name. |
| jenkins_list_nodesA | List Jenkins computers/nodes visible to the user. |
| jenkins_get_nodeA | Get one Jenkins computer/node by name. Use (built-in) for the built-in node. |
| jenkins_list_pluginsB | List installed Jenkins plugins visible through pluginManager/api/json. |
| jenkins_get_workspace_treeA | List a bounded live workspace tree. Paths are not bound to a build number. |
| jenkins_trigger_buildA | Trigger a non-parameterized job build. Requires JENKINS_MCP_ENABLE_WRITES=1. |
| jenkins_trigger_build_with_parametersA | Trigger a parameterized job build. Requires JENKINS_MCP_ENABLE_WRITES=1. |
| jenkins_stop_buildB | Stop a running build. Requires JENKINS_MCP_ENABLE_WRITES=1. |
| jenkins_cancel_queue_itemA | Cancel a Jenkins queue item. Requires JENKINS_MCP_ENABLE_WRITES=1. |
| jenkins_disable_jobB | Disable a job. Requires JENKINS_MCP_ENABLE_WRITES=1. |
| jenkins_enable_jobA | Enable a job. Requires JENKINS_MCP_ENABLE_WRITES=1. |
| jenkins_create_jobA | Create a top-level job from config.xml. Requires write and job-config flags. |
| jenkins_copy_jobB | Copy a top-level job. Requires write and job-config flags. |
| jenkins_update_job_configA | Replace job config.xml; Jenkins reserializes it. Requires job-config write gates. |
| jenkins_delete_jobA | Delete a job. Requires write, job-config, and delete flags. |
| jenkins_start_workspace_bundle_downloadC | Start or join a guarded workspace capture plus exact build console log. |
| jenkins_start_workspace_path_downloadC | Start or join a guarded workspace file/folder capture plus exact console log. |
| jenkins_get_workspace_bundle_statusB | Get download/extract/log progress, bytes, speed, paths, and final status. |
| jenkins_cancel_workspace_bundle_downloadB | Request cancellation of a running workspace bundle operation. |
| jenkins_cleanup_workspace_bundle_operationsA | Delete bounded, terminal local workspace operations older than the requested age. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| safety |
TDQS
Scored across 40 tools
Most tools map cleanly to a distinct resource and action, such as list_jobs, get_build, trigger_build, delete_job. A few boundary cases—generic get_json versus named getters, the three build-log retrieval tools, and the workspace/artifact download variants—could cause mnisselection but are resolvable from descriptions.
All tools share the jenkins_ prefix and use snake_case, with a mostly consistent verb_noun pattern: list_jobs, get_job, trigger_build, delete_job, cancel_queue_item. Minor deviations such as jenkins_version, jenkins_health, and jenkins_whoami being noun-only or nonstandard keep it from a perfect 5.
40 tools is well above the 25+ threshold for a bloated tool surface. While Jenkins is a large domain, many of these could be consolidated—particularly the multiple download/status/cancel/cleanup bundles—making the set feel heavier than necessary for an MCP server.
The set covers core Jenkins workflows well: job create/read/update/delete/enable/disable, build trigger/stop/log/artifacts/test reports, queue management, and workspace/artifact retrieval. Minor gaps exist—node and view management are read-only, and there is no credential or plugin administration—but the generic get_json tool helps fill some edge cases.