Jenkins MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JENKINS_URL | Yes | Jenkins server URL (e.g., http://localhost:8080) | |
| JENKINS_TIMEOUT | No | Request timeout in seconds | 30 |
| JENKINS_USERNAME | Yes | Jenkins username | admin |
| JENKINS_API_TOKEN | Yes | Jenkins API token | |
| JENKINS_SSL_VERIFY | No | Set to false for self-signed certificates | true |
| JENKINS_MCP_CACHE_DIR | No | Credential cache directory | ~/.jenkins-mcp-cache |
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_connectA | Connect to a Jenkins server and create a named session. If a session with the same name exists, it will be disconnected first. Credentials are automatically cached for future reconnection. Args: url: Jenkins server URL (e.g., 'http://localhost:8080') username: Jenkins username (default: admin) api_token: Jenkins API token (generate at User → Configure → API Token) ssl_verify: Verify SSL certificates (default: True, set False for self-signed certs) timeout: Request timeout in seconds (default: 30) session_name: Name for this session, e.g. 'prod', 'staging' (default: 'default') |
| jenkins_disconnectB | Disconnect a specific Jenkins session. Args: session_name: Name of the session to disconnect (default: 'default') |
| jenkins_statusB | Show connection status and Jenkins system overview. Displays active sessions, Jenkins version, executor info, and job counts. Args: session_name: Session to check (default: 'default') |
| jenkins_save_credentialsB | Save Jenkins credentials for a session name (persisted to disk for future use). Saved credentials are used for auto-connect and future sessions. Args: session_name: Name to save these credentials under url: Jenkins server URL username: Jenkins username api_token: Jenkins API token |
| jenkins_list_jobsA | List all Jenkins jobs, optionally within a specific folder. Shows job name, type, color/status, and URL for each job. Args: folder: Folder path to list jobs from (empty = root level) session_name: Jenkins session to use (default: 'default') |
| jenkins_get_jobB | Get detailed information about a specific Jenkins job. Shows configuration, health, last builds, parameters, and more. Args: job_name: Full job name (use 'folder/job-name' for jobs in folders) session_name: Jenkins session to use |
| jenkins_create_jobB | Create a new Jenkins job from an XML configuration. Args: job_name: Name for the new job config_xml: Job configuration in XML format (config.xml content) folder: Folder to create the job in (empty = root level) session_name: Jenkins session to use |
| jenkins_delete_jobA | Delete a Jenkins job permanently. ⚠️ This action cannot be undone. All build history will be lost. Args: job_name: Full job name (use 'folder/job-name' for jobs in folders) session_name: Jenkins session to use |
| jenkins_copy_jobB | Copy/clone an existing Jenkins job to a new name. The new job will have identical configuration to the source. Args: source_job: Name of the job to copy new_name: Name for the new job session_name: Jenkins session to use |
| jenkins_rename_jobC | Rename a Jenkins job. Args: job_name: Current job name new_name: New name for the job session_name: Jenkins session to use |
| jenkins_enable_jobC | Enable a disabled Jenkins job so it can be built again. Args: job_name: Full job name session_name: Jenkins session to use |
| jenkins_disable_jobC | Disable a Jenkins job (prevents new builds from being triggered). Args: job_name: Full job name session_name: Jenkins session to use |
| jenkins_get_job_configB | Get a job's XML configuration (config.xml). Useful for understanding job setup, modifying, or duplicating configurations. Args: job_name: Full job name session_name: Jenkins session to use |
| jenkins_update_job_configB | Update a job's XML configuration (config.xml). ⚠️ This replaces the entire job configuration. Args: job_name: Full job name config_xml: New XML configuration content session_name: Jenkins session to use |
| jenkins_buildB | Trigger a build for a Jenkins job. For parameterized builds, pass parameters as JSON string. Args: job_name: Full job name parameters: Build parameters as JSON string, e.g. '{"BRANCH": "main", "DEPLOY": "true"}' (empty for non-parameterized jobs) session_name: Jenkins session to use |
| jenkins_get_build_infoB | Get detailed information about a specific build. Shows result, duration, timestamp, changes, and artifacts. Args: job_name: Full job name build_number: Build number to inspect session_name: Jenkins session to use |
| jenkins_get_build_logC | Get console output (build log) for a specific build. Returns the full console text output of the build. Args: job_name: Full job name build_number: Build number (0 = last build) start_line: Start offset in bytes for progressive output (default: 0 = from beginning) session_name: Jenkins session to use |
| jenkins_stop_buildC | Abort/stop a running build. Args: job_name: Full job name build_number: Build number to stop (0 = last build) session_name: Jenkins session to use |
| jenkins_delete_buildB | Delete a specific build from the build history. ⚠️ This cannot be undone. Args: job_name: Full job name build_number: Build number to delete session_name: Jenkins session to use |
| jenkins_get_last_buildC | Get information about the last build of a job. Args: job_name: Full job name session_name: Jenkins session to use |
| jenkins_get_last_successful_buildC | Get information about the last successful build of a job. Args: job_name: Full job name session_name: Jenkins session to use |
| jenkins_get_last_failed_buildC | Get information about the last failed build of a job. Args: job_name: Full job name session_name: Jenkins session to use |
| jenkins_get_queueC | List all items currently in the Jenkins build queue. Shows queued jobs waiting to be built, their position, and why they're waiting. Args: session_name: Jenkins session to use |
| jenkins_get_queue_itemA | Get details of a specific item in the build queue. Args: queue_id: Queue item ID (from jenkins_get_queue) session_name: Jenkins session to use |
| jenkins_cancel_queue_itemC | Cancel/remove an item from the build queue. Args: queue_id: Queue item ID to cancel session_name: Jenkins session to use |
| jenkins_list_nodesB | List all Jenkins nodes/agents with their status. Shows node name, status (online/offline), executors, and labels. Args: session_name: Jenkins session to use |
| jenkins_get_node_infoC | Get detailed information about a specific Jenkins node/agent. Args: node_name: Node name (use '(built-in)' or '(master)' for the master node) session_name: Jenkins session to use |
| jenkins_enable_nodeC | Bring a Jenkins node/agent back online. Args: node_name: Node name to enable session_name: Jenkins session to use |
| jenkins_disable_nodeB | Take a Jenkins node/agent offline with a reason message. Args: node_name: Node name to disable reason: Reason for taking offline (displayed in Jenkins UI) session_name: Jenkins session to use |
| jenkins_get_node_logC | Get the log output from a Jenkins node/agent. Args: node_name: Node name session_name: Jenkins session to use |
| jenkins_get_executor_statusC | Show executor status across all nodes. Displays which executors are busy and what they're running. Args: session_name: Jenkins session to use |
| jenkins_list_viewsC | List all Jenkins views. Args: session_name: Jenkins session to use |
| jenkins_get_viewC | Get details about a view and list its jobs. Args: view_name: View name session_name: Jenkins session to use |
| jenkins_create_viewA | Create a new Jenkins view. Args: view_name: Name for the new view view_type: View type — 'list' (default) or 'my' (My View) session_name: Jenkins session to use |
| jenkins_delete_viewA | Delete a Jenkins view. ⚠️ This only removes the view — jobs in the view are NOT deleted. Args: view_name: View name to delete session_name: Jenkins session to use |
| jenkins_add_job_to_viewC | Add a job to an existing view. Args: view_name: View name job_name: Job name to add to the view session_name: Jenkins session to use |
| jenkins_list_credentialsB | List all credentials stored in Jenkins. Args: domain: Credential domain ('_' = global domain, default) store: Credential store ('system' = system store, default) session_name: Jenkins session to use |
| jenkins_get_credentialB | Get details of a specific Jenkins credential (secrets are masked). Args: credential_id: Credential ID domain: Credential domain ('_' = global) store: Credential store ('system' = system store) session_name: Jenkins session to use |
| jenkins_create_credentialA | Create a new credential in Jenkins. Args: credential_id: Unique ID for the credential credential_type: Type — 'userpass' (username/password), 'secret' (secret text), 'ssh' (SSH key) username: Username (for 'userpass' type) password: Password (for 'userpass' type) or private key (for 'ssh' type) secret: Secret text (for 'secret' type) description: Description of the credential domain: Credential domain ('_' = global) store: Credential store ('system' = system store) session_name: Jenkins session to use |
| jenkins_delete_credentialC | Delete a credential from Jenkins. Args: credential_id: Credential ID to delete domain: Credential domain ('_' = global) store: Credential store ('system' = system store) session_name: Jenkins session to use |
| jenkins_list_pluginsA | List all installed Jenkins plugins with version and status. Args: session_name: Jenkins session to use |
| jenkins_get_plugin_infoC | Get detailed information about a specific installed plugin. Args: plugin_name: Plugin short name (e.g., 'git', 'pipeline-model-definition') session_name: Jenkins session to use |
| jenkins_install_pluginB | Install a Jenkins plugin. The plugin will be downloaded and installed. Jenkins may need a restart to activate it. Args: plugin_name: Plugin short name (e.g., 'git', 'blueocean') version: Specific version to install (empty = latest) session_name: Jenkins session to use |
| jenkins_list_available_pluginsC | Search available plugins for installation from the Jenkins Update Center. Args: query: Search query to filter plugins (empty = list all available) session_name: Jenkins session to use |
| jenkins_list_folder_jobsB | List all jobs inside a Jenkins folder (recursive). Args: folder_path: Folder path (e.g., 'my-folder' or 'parent/child-folder') session_name: Jenkins session to use |
| jenkins_create_folderC | Create a new folder in Jenkins. Args: folder_name: Name for the new folder parent_folder: Parent folder path (empty = root level) description: Folder description session_name: Jenkins session to use |
| jenkins_get_pipeline_stagesB | Get pipeline stage details and status for a pipeline build. Shows each stage's name, status, and duration. Requires the Pipeline: REST API plugin. Args: job_name: Pipeline job name build_number: Build number (0 = last build) session_name: Jenkins session to use |
| jenkins_replay_pipelineA | Replay a pipeline build, optionally with a modified Groovy script. This re-runs a pipeline build, allowing you to edit the pipeline script without modifying the Jenkinsfile. Args: job_name: Pipeline job name build_number: Build number to replay script: Modified pipeline script (empty = use original script) session_name: Jenkins session to use |
| jenkins_system_infoC | Get comprehensive Jenkins system information. Shows version, JVM info, system properties, and environment overview. Args: session_name: Jenkins session to use |
| jenkins_restartA | Restart the Jenkins server. Args: safe: If True (default), waits for running builds to finish before restarting. If False, restarts immediately (may abort running builds). session_name: Jenkins session to use |
| jenkins_quiet_downA | Put Jenkins into quiet-down mode (no new builds will be started). Running builds will continue but no new builds will be queued. Useful before maintenance or restart. Args: session_name: Jenkins session to use |
| jenkins_cancel_quiet_downA | Cancel quiet-down mode and resume normal operations. Queued builds will begin processing again. Args: session_name: Jenkins session to use |
| jenkins_run_groovy_scriptA | Execute a Groovy script on the Jenkins Script Console. ⚠️ This is a powerful admin tool. Scripts run with full Jenkins access. Common scripts:
Args: script: Groovy script to execute session_name: Jenkins session to use |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pawangunjkar/jenkins-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server