π οΈ AI DevOps MCP Assistant
The AI DevOps MCP Assistant is a set of Model Context Protocol (MCP) servers that integrate GitHub, Jenkins, Kubernetes, and external tools into a unified assistant for DevOps automation.
This project demonstrates how multiple MCP servers can work together to provide end-to-end CI/CD workflows, observability, and infrastructure management using natural language.
π Implemented MCPs
- GitHub MCP
Purpose: Interact with repositories, issues, pull requests.
Features:
Create pull requests (head β base).
Push commits / trigger workflows.
Expose repository files (e.g. README.md) as MCP resources.
Extendable to fetch arbitrary repo files via GitHub API.
- Jenkins MCP
Purpose: Connect GitHub events (PRs, commits) with Jenkins jobs.
Features:
Trigger Jenkins jobs (trigger_jenkins_job).
Poll Jenkins queue β fetch build number.
Monitor Jenkins job until it completes (get_build_status).
Return build result (SUCCESS / FAILURE).
Connection:
GitHub PR β triggers Jenkins job via webhook/MCP.
Jenkins MCP reports job status back to assistant.
- Kubernetes MCP
Purpose: Manage workloads and observe CI/CD jobs running inside Kubernetes.
Features:
Jenkins master runs in Kubernetes (via Helm or Deployment).
Jenkins dynamically launches K8s agents (pods) for builds.
Pipeline stages run in Kubernetes containers.
Connection:
Jenkins MCP triggers jobs.
Kubernetes plugin provisions build agents dynamically.
Logs + pod lifecycle visible through kubectl and (future) MCP integration.
Connection:
Independent from CI/CD pipeline β demonstrates how MCP can be extended to other domains.
π End-to-End Flow
GitHub MCP: A developer raises a Pull Request β MCP triggers webhook / Jenkins job.
Jenkins MCP: The Jenkins MCP server:
Triggers the appropriate Jenkins job (Job1, pipelines).
Monitors until build completes.
Reports back result (SUCCESS / FAILURE).
Kubernetes Integration:
Jenkins schedules a dynamic K8s pod agent.
Pipeline stages run inside containers (build, test, deploy).
Kubernetes MCP (future extension) can query pod/job status.
Slack MCP: It notifies with appropriate message or as given by the user.
π§© Key Concepts
MCP Tools β actions like trigger_jenkins_job, get_price, create_pr.
MCP Resources β files or dynamic data exposed (e.g., README.md, activity.log).
MCP Prompt -> assists user as user doesn't require to remember prompt.
Cross-MCP Integration β GitHub events β Jenkins jobs β Kubernetes builds.
β Current Functionalities
PR creation and repo file exposure via GitHub MCP.
Jenkins build trigger + monitoring via Jenkins MCP.
Jenkins dynamic pod provisioning in Kubernetes cluster.
Resource exposure (logs, README.md) as MCP
Prompt support (user just enters the jobname and gets all the necessary details)