Skip to main content
Glama
Oshaani-AI
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.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/Oshaani-AI/Jenkins-MCP'

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