JM

jenkinsci/mcp-server-plugin

Developer tools공식

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

119 stars 72 forks 품질 80 트렌드 36MIT

jenkinsci/mcp-server-plugin은 [[T0]에서 가져온 MCP 서버 후보입니다.

개요

jenkinsci/mcp-server-plugin은 [[T0]에서 가져온 MCP 서버 후보입니다.

개요(AI 번역)

Jenkins용 MCP(Model Context Protocol) 서버 플러그인은 모델 컨텍스트 프로토콜의 서버 측 구성 요소를 구현합니다. 이 플러그인은 Jenkins가 MCP 서버로서 역할을 하며, LLM 기반 애플리케이션이나 IDE와 같은 MCP 클라이언트에 컨텍스트, 도구 및 기능을 제공합니다.

특징

  • MCP 서버 구현: 모델 컨텍스트 프로토콜의 서버 측을 구현합니다.
  • Jenkins 통합: Jenkins 기능을 MCP 도구와 자원으로 노출합니다.
  • 확장 가능한 아키텍처: McpServerExtension 인터페이스를 통해 MCP 기능을 쉽게 확장할 수 있습니다.

주요 구성 요소

  1. 엔드포인트: MCP 통신의 주요 진입점으로, MCP 전송 연결 및 메시지 라우팅을 처리합니다.
  2. DefaultMcpServer: McpServerExtension를 구현하여 Jenkins 작업 및 빌드와 상호작용하는 기본 도구를 제공합니다.
  3. McpToolWrapper: Java 메서드를 MCP 도구로 랩하여 매개변수 파싱과 결과 서식을 처리합니다.
  4. McpServerExtension: MCP 서버 기능 확장을 위한 인터페이스.

MCP SDK 버전

이 MCP 서버는 MCP Java SDK 버전 0.17.2를 기반으로 하며, MCP 사양 버전 2025-06-18을 구현합니다.

시작하기

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

README

원문 README의 일부입니다. 원문 보기.

MCP Server Plugin for Jenkins

The MCP (Model Context Protocol) Server Plugin for Jenkins implements the server-side component of the Model Context Protocol. This plugin enables Jenkins to act as an MCP server, providing context, tools, and capabilities to MCP clients, such as LLM-powered applications or IDEs.

Features

  • MCP Server Implementation: Implements the server-side of the Model Context Protocol.
  • Jenkins Integration: Exposes Jenkins functionalities as MCP tools and resources.
  • Extensible Architecture: Allows easy extension of MCP capabilities through the McpServerExtension interface.

Key Components

  1. Endpoint: The main entry point for MCP communication, handling MCP transport connections and message routing.
  2. DefaultMcpServer: Implements McpServerExtension, providing default tools for interacting with Jenkins jobs and builds.
  3. McpToolWrapper: Wraps Java methods as MCP tools, handling parameter parsing and result formatting.
  4. McpServerExtension: Interface for extending MCP server capabilities.

MCP SDK Version

This MCP Server is based on the MCP Java SDK version 0.17.2, which implements the MCP specification version 2025-06-18.

Getting Started

Configuration

The MCP Server plugin automatically sets up necessary endpoints and tools upon installation, requiring no additional configuration.

System properties

The following system properties can be used to configure the MCP Server plugin:

  • hard limit on max number of log lines to return with io.jenkins.plugins.mcp.server.extensions.BuildLogsExtension.limit.max=10000 (default 10000)
  • disable stateless endpoint with io.jenkins.plugins.mcp.server.Endpoint.disableMcpStateless=true (default false)
  • disable SSE endpoint with io.jenkins.plugins.mcp.server.Endpoint.disableMcpSse=true (default false)
  • disable streamable HTTP endpoint with io.jenkins.plugins.mcp.server.Endpoint.disableMcpStreamable=true (default false)
  • allow anonymous MCP clients to skip the CSRF crumb with io.jenkins.plugins.mcp.server.Endpoint.allowUnauthenticatedMcp=true (default false)
  • reclaim idle Streamable HTTP sessions with io.jenkins.plugins.mcp.server.Endpoint.sessionSweepInterval=1800 (seconds, default 1800, 0 disables)

[!WARNING] io.jenkins.plugins.mcp.server.Endpoint.allowUnauthenticatedMcp=true weakens CSRF protection. MCP POSTs that send an Authorization header are exempt from the crumb, because a page on another site cannot add that header. Anonymous and session-cookie clients are not exempt unless this property is set. With it on, those POSTs rely on the Origin check, which allows a missing Origin and does nothing when the Jenkins root URL is unset. Leave the property false on any controller that browsers or anonymous users can reach. mvn hpi:run sets it so a local development controller accepts an MCP client without a crumb.

Origin header validation

GitHub에서 전체 README 보기

설치

npx mcp-remote http://jenkins-host/mcp-server/mcp --header Authorization: Bearer ${AUTH_TOKEN}
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "jenkins": { "autoApprove": [ ], "disabled": false, "timeout": 60, "type": "streamableHttp", "url": "https://jenkins-host/mcp-server/mcp", "headers": { "Authorization": "Basic <user:token base64>" } } } }