Skip to main content

The Model Context Protocol (MCP) is an open-source implementation that bridges Jenkins with AI language models following Anthropic's MCP specification. This project enables secure, contextual AI interactions with Jenkins tools while maintaining data privacy and security.

Project description

MCP Jenkins

PyPI Version PyPI Downloads test codecov License

The Model Context Protocol (MCP) is an open-source implementation that bridges Jenkins with AI language models following Anthropic's MCP specification. This project enables secure, contextual AI interactions with Jenkins tools while maintaining data privacy and security.

Installation

Choose one of these installation methods:

# Using uv (recommended)
pip install uv
uvx mcp-jenkins

# Using pip
pip install mcp-jenkins
mcp-jenkins

# Docker
docker pull ghcr.io/lanbaoshen/mcp-jenkins:latest
docker run -p 9887:9887 --rm ghcr.io/lanbaoshen/mcp-jenkins:latest --transport streamable-http

Line Arguments

When using command line arguments, you can specify the Jenkins server details as follows:

# Simple streamable-http example
uvx mcp-jenkins --transport streamable-http
Argument Description Required
--jenkins-url The URL of the Jenkins server. (Http app can set it via headers x-jenkins-url) No
--jenkins-username The username for Jenkins authentication. (Http app can set it via headers x-jenkins-username) No
--jenkins-password The password or API token for Jenkins authentication. (Http app can set it via headers x-jenkins-password) No
--jenkins-timeout Timeout for Jenkins API requests in seconds. Default is 5 seconds. No
--jenkins-verify-ssl/--no-jenkins-verify-ssl Whether to verify SSL certificates when connecting to Jenkins. Default is to verify. No
--jenkins-session-singleton/--no-jenkins-session-singleton Whether to use a singleton Jenkins client for all requests in the same session. Default is True. No
--read-only Whether to enable read-only mode. Default is False No
--transport Transport method to use for communication. Options are stdio, sse or streamable-http. Default is stdio. No
--host Host address for streamable-http transport. Default is 0.0.0.0 No
--port Port number for streamable-http transport. Default is 9887. No

Configuration and Usage

Jetbrains Github Copilot

  1. Open Jetbrains Settings
  2. Navigate to Github Copilot > MCP > Configure
  3. Add the following configuration:
{
  "servers": {
    "my-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-jenkins",
        "--jenkins-url=xxx",
        "--jenkins-username=xxx",
        "--jenkins-password=xxx"
      ]
    }
  }
}

VSCode Copilot Chat

  1. Create .vscode folder with mcp.json file in you workspace for local setup or edit settings.json trough settings menu.
  2. Insert the following configuration:
  • SSE mode
{
    "servers": {
        "jenkins": {
            "url": "http://localhost:9887/sse",
            "type": "sse"
        }
    }
}
  • Streamable-Http mode
{
    "servers": {
        "mcp-jenkins-mcp": {
            "autoApprove": [],
            "disabled": false,
            "timeout": 60,
            "type": "streamableHttp",
            "url": "http://localhost:9887/mcp"
        }
    }
}

Run the Jenkins MCP server with the following command:

uvx mcp-jenkins \
  --jenkins-url xxx \
  --jenkins-username xxx  \
  --jenkins-password xxx \
  --transport sse

Available Tools

Tool Description
get_item Get a specific item by name.
get_item_config Get the configuration of a specific item.
get_item_parameters Get the parameters of a specific item.
get_all_items Get all items in Jenkins.
query_items Query items based on pattern.
build_item Build a item.
get_all_nodes Get all nodes in Jenkins.
get_node Get a specific node by name.
get_node_config Get the configuration of a specific node.
get_all_queue_items Get all queue items in Jenkins.
get_queue_item Get a specific queue item by ID.
cancel_queue_item Cancel a specific queue item by ID.
get_build Get a specific build by job name and build number.
get_build_scripts Get scripts associated with a specific build.
get_build_console_output Get the console output of a specific build.
get_build_parameters Get the parameters of a specific build.
get_build_test_report Get the test report of a specific build.
get_running_builds Get all currently running builds in Jenkins.
stop_build Stop a specific build by job name and build number.
get_view Get a specific view by name.
get_all_views Get the configuration of a specific view.

Contributing

CONTRIBUTING.md

License

Licensed under MIT - see LICENSE file. This is not an official Jenkins product.

Star History

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_jenkins-3.2.0.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_jenkins-3.2.0-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_jenkins-3.2.0.tar.gz.

File metadata

  • Download URL: mcp_jenkins-3.2.0.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mcp_jenkins-3.2.0.tar.gz
Algorithm Hash digest
SHA256 60d1268754a21ebac915907bdef2577a51fe9a4c4e53e6a833e7532934403c59
MD5 674833333d3c7091630ea0a9bccc95c4
BLAKE2b-256 e2ef2d7f8d3f29843401fcaaec27300f9193c596d37c676a769538754fe19b25

See more details on using hashes here.

File details

Details for the file mcp_jenkins-3.2.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_jenkins-3.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mcp_jenkins-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db6ee677b9a86dd34a8b1bee2ab5b50bf00b77347c9a9957315a92787104e6dc
MD5 825da7bb07ed6f42ac245d7f95412b5b
BLAKE2b-256 ef4d121de26a000c133db3a9e00f68721e19e641be8d1fb423e60237b264e184

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page