使用说明
Jenkins MCP server with bearer token authentication support
Features
- 38 tools — covers ~95% of the Jenkins API: jobs, builds, nodes, views, queue, plugins, and system operations
- Bearer token auth — supports both classic API token and modern bearer token authentication
- Multiple instances — connect to several Jenkins servers simultaneously using comma-separated env vars
- Pipeline awareness — retrieve stage-by-stage pipeline status, console logs, test results, and build artefacts
- Node management — list agents, toggle nodes online/offline, and inspect system info without leaving your AI client
- Zero-install usage — run directly via
npx --yes @kud/mcp-jenkins@latestwith no local setup required
Install
npm install -g @kud/mcp-jenkins
Or use without installing via npx (see Usage below).
Usage
Add the server to your MCP client config. The recommended approach uses environment variables:
{
"mcpServers": {
"jenkins": {
"command": "npx",
"args": ["--yes", "@kud/mcp-jenkins@latest"],
"env": {
"MCP_JENKINS_URL": "https://pipeline.yourcompany.com",
"MCP_JENKINS_USER": "your_username",
"MCP_JENKINS_API_TOKEN": "your_api_token"
}
}
}
}
For bearer token authentication, replace the env block with:
"env": {
"MCP_JENKINS_URL": "https://pipeline.yourcompany.com",
"MCP_JENKINS_BEARER_TOKEN": "your_bearer_token"
}
Slow instances
Every request this server makes is bounded by one deadline, 30 seconds by default. A large or busy Jenkins can spend even longer answering a single call. When that happens, the error you see (Jenkins request timed out) comes from this server giving up, not from Jenkins refusing anything.
Raise it with MCP_JENKINS_TIMEOUT_MS:
"env": {
"MCP_JENKINS_URL": "https://pipeline.yourcompany.com",
"MCP_JENKINS_BEARER_TOKEN": "your_bearer_token",
"MCP_JENKINS_TIMEOUT_MS": "60000"
}
Or on the command line:
mcp-jenkins --url https://pipeline.yourcompany.com --bearer-token abc123 --timeout-ms 60000
One value applies to every configured instance. To find out what your instance actually needs, time the call the server makes:
time curl -u user:token 'https://pipeline.yourcompany.com/job/my-job/api/json'
Environment variables
| Variable | Description | Default |
|---|---|---|
MCP_JENKINS_URL |
Jenkins server URL. Comma-separated to connect to several instances. | Required |
MCP_JENKINS_USER |
Username for Basic auth, positional alongside the URL values. | None |
MCP_JENKINS_API_TOKEN |
API token for Basic auth, positional alongside the URL values. | None |
MCP_JENKINS_BEARER_TOKEN |
Bearer token for token-based auth, instead of Basic auth. | None |
MCP_JENKINS_ANONYMOUS |
true for a Jenkins instance that needs no authentication. |
false |
MCP_JENKINS_TIMEOUT_MS |
Per-request deadline in milliseconds, applied to every instance. | 30000 |
MCP_JENKINS_INSTANCES |
Comma-separated instance names, pairing each name with a URL position. | Hostname per URL |
MCP_JENKINS_ALLOW_TOOLS |
Comma-separated tool names: expose only these tools. | All tools |
MCP_JENKINS_BLOCK_TOOLS |
Comma-separated tool names: hide these tools (ignored when the allowlist is set). | All tools |
Tools
| Category | Tools |
|---|---|
| Job operations | jenkins_list_jobs, jenkins_search_jobs, jenkins_get_job_status, jenkins_get_job_parameters, jenkins_enable_job, jenkins_disable_job, jenkins_delete_job, jenkins_get_job_config, jenkins_create_job, jenkins_update_job_config, jenkins_rename_job, jenkins_copy_job |
| Build operations | jenkins_get_build_status, jenkins_get_recent_builds, jenkins_trigger_build, jenkins_stop_build, jenkins_delete_build, jenkins_replay_build, jenkins_get_console_log, jenkins_get_build_changes, jenkins_get_pipeline_stages |
| Testing & artefacts | jenkins_get_test_results, jenkins_list_artifacts, jenkins_get_artifact |
| Queue management | jenkins_get_queue, jenkins_cancel_queue |
| System & nodes | jenkins_list_nodes, jenkins_get_node, jenkins_toggle_node_offline, jenkins_get_system_info, jenkins_get_version, jenkins_get_plugins, jenkins_quiet_down, jenkins_cancel_quiet_down |
| Views | jenkins_list_views, jenkins_get_view |
| Instances & admin | jenkins_list_instances, jenkins_safe_restart |
Development
git clone https://github.com/kud/mcp-jenkins.git
cd mcp-jenkins
npm install
npm run dev
To test interactively with the MCP Inspector:
npm run inspect:dev
📚 Full documentation → mcp-jenkins/docs