Skip to main content
Glama
mdtahmidhossain

jenkins-http-mcp-server

Jenkins MCP Server

Externer Python-MCP-Server für Jenkins 2.563. Er verbindet sich über normale Jenkins-HTTP-APIs unter Verwendung der Berechtigungen, die für JENKINS_USER und JENKINS_API_TOKEN verfügbar sind.

Er erfordert keinen Jenkins-Administratorzugriff, installiert keine Jenkins-Plugins und ist nicht vom offiziellen Jenkins MCP Server Plugin abhängig.

Python-Einrichtung

Dieses Projekt wurde mit pyenv unter Verwendung der neuesten lokal verfügbaren stabilen Python 3.14.x-Version initialisiert:

  • Python: 3.14.4

  • pyenv virtualenv: venv3144

Zur Reproduktion:

pyenv local venv3144
python --version
which python
pyenv version

Installation

python -m pip install -e '.[dev]'

Umgebung

Erforderlich:

export JENKINS_URL="https://jenkins.example.com/"
export JENKINS_USER="your-user"
export JENKINS_API_TOKEN="your-api-token"

Optional:

export JENKINS_VERIFY_SSL=1
export JENKINS_TIMEOUT_SECONDS=30
export JENKINS_MCP_MAX_RESPONSE_BYTES=2000000
export JENKINS_MCP_MAX_LOG_BYTES=200000

Schreibzugriffe:

export JENKINS_MCP_ENABLE_WRITES=1
export JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE=1
export JENKINS_MCP_ENABLE_DELETE=1

Speichern Sie keine echten Jenkins-Geheimnisse in MCP-Client-Konfigurationsdateien.

STDIO-Server ausführen

python -m jenkins_mcp_server

Konsolenskript:

jenkins-mcp-server

Client-Einrichtung

  • Codex CLI: docs/codex-setup.md

  • Gemini CLI: docs/gemini-setup.md

Tools

Schreibgeschützt:

  • jenkins_whoami

  • jenkins_version

  • jenkins_health

  • jenkins_get_json

  • jenkins_list_jobs

  • jenkins_get_job

  • jenkins_get_job_config

  • jenkins_list_builds

  • jenkins_get_build

  • jenkins_get_build_log

  • jenkins_get_build_artifacts

  • jenkins_get_test_report

  • jenkins_list_queue

  • jenkins_get_queue_item

  • jenkins_list_views

  • jenkins_get_view

  • jenkins_list_nodes

  • jenkins_get_node

  • jenkins_list_plugins

Schreib-Tools, gesteuert durch JENKINS_MCP_ENABLE_WRITES=1:

  • jenkins_trigger_build

  • jenkins_trigger_build_with_parameters

  • jenkins_stop_build

  • jenkins_cancel_queue_item

  • jenkins_enable_job

  • jenkins_disable_job

Optionale Job-Konfigurations-Tools, gesteuert durch JENKINS_MCP_ENABLE_WRITES=1 und JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE=1:

  • jenkins_create_job

  • jenkins_copy_job

  • jenkins_update_job_config

Löschen erfordert zusätzlich JENKINS_MCP_ENABLE_DELETE=1:

  • jenkins_delete_job

Sicherheit

  • Standardmäßig schreibgeschützt.

  • Schreib-Tools erfordern explizite lokale Umgebungsvariablen und Berechtigungen auf Jenkins-Seite.

  • Jenkins-Protokolle und Job-Ausgaben werden als nicht vertrauenswürdiger Text behandelt.

  • API-Token und Autorisierungs-Header werden von Server-Hilfsprogrammen nicht ausgegeben.

  • 401-, 403-, 404-Fehler, Crumb-Fehler und Berechtigungsfehler geben strukturierte Fehlermeldungen zurück.

Einschränkungen

  • Keine Skriptkonsole.

  • Kein Neustart, sicherer Neustart oder "Quiet Down".

  • Keine Plugin-Installation/-Aktualisierung.

  • Kein Lesen/Schreiben von Anmeldeinformationen.

  • Keine Erstellung/Löschung von Nodes.

  • Keine globalen Konfigurationsänderungen.

  • Keine Benutzerverwaltung.

  • jenkins_get_test_report hängt von einem Test-Report-Plugin wie JUnit ab, das testReport bereitstellt; es schlägt bei Fehlen deutlich fehl.

  • Verschachtelte Ordnerpfade werden als wiederholte job/<segment>-Pfadkomponenten URL-kodiert. Controller ohne den benötigten Ordner-/Job-Typ geben Jenkins 404-Fehler zurück.

Tests

Normale Tests sind gemockt und erfordern keinen aktiven Jenkins-Controller:

python -m pytest
python -m compileall src
ruff check

Optionale Integrationstests werden nur ausgeführt, wenn alle Variablen gesetzt sind:

export JENKINS_INTEGRATION_TESTS=1
export JENKINS_URL="https://jenkins.example.com/"
export JENKINS_USER="your-user"
export JENKINS_API_TOKEN="your-api-token"
python -m pytest tests/test_integration.py

Nachweisdokumente

  • docs/source-truth.md

  • docs/source-skills-check.md

  • docs/existing-research.md

  • docs/architecture-decision.md

  • docs/tool-evidence.md

  • docs/security.md

Install Server
A
license - permissive license
B
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/mdtahmidhossain/jenkins-http-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server