Skip to main content
Glama
Jenkins MCP
by Oshaani-AI

Jenkins MCP Server

TypeScript MCP server that connects AI agents to Jenkins. Supports stdio and Streamable HTTP transports, plus a local web UI to test credential authentication/authorization and copy agent configuration snippets.

Developed by oshaani.com · © oshaani.com. All rights reserved.

Features

  • MCP tools for jobs, builds, logs, queue, nodes, identity, and auth checks

  • stdio mode for Cursor, Claude Desktop, VS Code

  • HTTP mode with Streamable MCP endpoint at /mcp

  • Web UI to test Jenkins username/API token auth and permission probes

  • Ready-made config snippets for AI agents

  • Unit tests with Vitest

Related MCP server: Jenkins MCP Server

Quick start

npm install
npm run build
cp .env.example .env   # then edit credentials
docker compose up -d
# Wait until healthy, then copy the generated API token into .env:
docker exec jenkins-mcp-test cat /var/jenkins_home/mcp-api-token.txt

Default test login:

Field

Value

URL

http://127.0.0.1:8080

Username

admin

Password

admin123

Sample job

hello-mcp

Put the token from mcp-api-token.txt into .env as JENKINS_API_TOKEN, then:

npm run start:http

Open http://127.0.0.1:3100 and run Test authentication.

Stop Jenkins later with docker compose down (add -v to wipe data).

HTTP + UI

npm run start:http

Open http://127.0.0.1:3100 to:

  1. Test authentication and authorization against your Jenkins

  2. Copy MCP config for Cursor / Claude Desktop / VS Code

Stdio (AI agents)

npm run start:stdio

Environment

Variable

Description

JENKINS_URL

Jenkins base URL

JENKINS_USERNAME

Jenkins username

JENKINS_API_TOKEN

Jenkins API token

PORT / MCP_HTTP_PORT

HTTP port (default 3100)

MCP_HTTP_HOST

Bind host (default 127.0.0.1)

JENKINS_READ_ONLY

true disables jenkins_trigger_build

Cursor MCP config (stdio)

{
  "mcpServers": {
    "jenkins": {
      "command": "node",
      "args": ["/absolute/path/to/Jenkins MCP/dist/index.js", "stdio"],
      "env": {
        "JENKINS_URL": "https://jenkins.example.com",
        "JENKINS_USERNAME": "your-user",
        "JENKINS_API_TOKEN": "your-api-token"
      }
    }
  }
}

Cursor MCP config (HTTP + headers)

Pass Jenkins credentials from the agent on every request:

{
  "mcpServers": {
    "jenkins": {
      "url": "http://127.0.0.1:3100/mcp",
      "headers": {
        "X-Jenkins-Url": "http://127.0.0.1:8080",
        "X-Jenkins-Username": "admin",
        "X-Jenkins-Api-Token": "your-api-token"
      }
    }
  }
}

Header values override server .env for that MCP session. You can also use Authorization: Basic base64(username:apiToken) plus X-Jenkins-Url.

Cursor MCP config (HTTP + server env)

{
  "mcpServers": {
    "jenkins": {
      "url": "http://127.0.0.1:3100/mcp"
    }
  }
}

MCP tools

Tool

Description

jenkins_whoami

Authenticated user identity

jenkins_test_auth

Auth + authorization permission probes

jenkins_list_jobs

List visible jobs

jenkins_get_job

Job details

jenkins_get_build

Build details

jenkins_get_build_log

Progressive console log

jenkins_get_queue

Build queue

jenkins_get_nodes

Agents/nodes

jenkins_trigger_build

Trigger build (disabled in read-only mode)

Development

npm test
npm run typecheck
npm run dev

License

MIT

Copyright © oshaani.com. Developed by oshaani.com. All rights reserved.

Available Tools

9 tools
jenkins_get_buildB

Get details for a specific build or the last build of a job

Inputs: job_name (required), build_number.

jenkins_get_build_logB

Get console log text for a Jenkins build

Inputs: job_name (required), start, build_number.

jenkins_get_jobB

Get details for a Jenkins job by name or folder path

Inputs: job_name (required).

jenkins_get_nodesA

List Jenkins agents/nodes and their online status

Inputs: no named parameters.

jenkins_get_queueA

List items currently in the Jenkins build queue

Inputs: no named parameters.

jenkins_list_jobsB

List Jenkins jobs visible to the configured credentials

Inputs: no named parameters.

jenkins_test_authA

Test Jenkins credential authentication and authorization (permissions)

Inputs: no named parameters.

jenkins_trigger_buildC

Trigger a Jenkins job build, optionally with parameters

Inputs: job_name (required), parameters.

jenkins_whoamiA

Return the authenticated Jenkins user identity

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct aspect of Jenkins: builds, logs, jobs, nodes, queue, auth, and user identity. No two tools overlap in purpose.

    Naming Consistency5/5

    All tools follow a consistent 'jenkins_verb_noun' snake_case pattern, making it predictable and easy to understand.

    Tool Count5/5

    9 tools is well-scoped for a Jenkins MCP server, covering essential operations like listing, getting details, triggering builds, and checking status without overwhelming users.

    Completeness4/5

    Covers common read and trigger operations but lacks job creation, deletion, or parameter introspection. Minor gaps for full lifecycle management.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI assistants to interact with Jenkins CI/CD servers, providing tools to check build statuses, trigger builds, and retrieve build logs.
      3
      15
      MIT
    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      A Model Context Protocol (MCP) server that enables AI tools like chatbots to interact with and control Jenkins, allowing users to trigger jobs, check build statuses, and perform other Jenkins operations through natural language.
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A server that enables interaction with Jenkins CI/CD pipelines from any compatible MCP client (like Claude Desktop), allowing users to manage jobs, builds, coverage reports, and other Jenkins functionality through natural language.
      11
      15 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for interacting with a Jenkins CI/CD server. Allows you to trigger jobs, check build statuses, and manage your Jenkins instance through MCP.
      56 npm
      14
      Apache 2.0