DevOps MCP Hub
An AI-powered MCP server unifying Jira, GitHub, and Confluence integrations, enabling sprint health analysis, smart issue creation, and release notes generation via natural language.
README
š DevOps MCP Hub
AI-Powered Unified DevOps Integration for Jira, GitHub, and Confluence
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to seamlessly interact with your DevOps tools. Built for the CCTECH Hackathon.
⨠Features
š§ Core Integrations
| Platform | Features |
|---|---|
| Jira | Issues, Projects, Sprints, Comments, Attachments, Worklogs |
| GitHub | Repos, PRs, Commits, Branches, Actions, Releases |
| Confluence | Spaces, Pages, Search, Comments, Publishing |
š¤ AI-Powered Features
- š„ Sprint Health Analyzer - Comprehensive sprint metrics with risk analysis and recommendations
- š§ Smart Issue Creator (NLP) - Create issues from natural language with AI-suggested properties
- š Team Workload Dashboard - Visualize team capacity and identify bottlenecks
- ā±ļø Time Tracking - Full worklog support with team summaries
- š Release Notes Generator - Auto-generate release notes from Jira + GitHub data
š¬ MCP Prompts
Pre-built conversational workflows:
- Sprint Review Analysis
- Natural Language Issue Creation
- Team Standup Generation
- Workload Analysis
- Release Notes Generation
š Quick Start
Prerequisites
- Node.js 18+
- npm or yarn
- Access to Jira (required) + GitHub/Confluence (optional)
Installation
# Clone the repository
git clone https://github.com/your-org/devops-mcp-hub.git
cd devops-mcp-hub
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your credentials
# Build
npm run build
Configuration
Edit .env file with your credentials:
# Jira (Required)
JIRA_BASE_URL=https://your-company.atlassian.net
JIRA_EMAIL=your.email@company.com
JIRA_API_TOKEN=your_api_token
# GitHub (Optional)
GITHUB_TOKEN=your_github_token
# Confluence (Optional)
CONFLUENCE_BASE_URL=https://your-company.atlassian.net
CONFLUENCE_EMAIL=your.email@company.com
CONFLUENCE_API_TOKEN=your_api_token
Add to Cursor
Add to your ~/.cursor/mcp.json:
{
"mcpServers": {
"devops-hub": {
"command": "node",
"args": ["C:/path/to/devops-mcp-hub/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://your-company.atlassian.net",
"JIRA_EMAIL": "your.email@company.com",
"JIRA_API_TOKEN": "your_api_token",
"GITHUB_TOKEN": "your_github_token",
"CONFLUENCE_BASE_URL": "https://your-company.atlassian.net",
"CONFLUENCE_EMAIL": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_api_token"
}
}
}
}
š³ Docker Deployment
Build and Run
# Build Docker image
docker build -t devops-mcp-hub .
# Run with environment file
docker run --env-file .env devops-mcp-hub
# Or with docker-compose
docker-compose up -d
Using Pre-built Image
# Pull from registry (when published)
docker pull your-registry/devops-mcp-hub:latest
# Run
docker run --env-file .env your-registry/devops-mcp-hub:latest
For Teams
Share the Docker image with your team:
# Save image to file
docker save devops-mcp-hub:latest | gzip > devops-mcp-hub.tar.gz
# Load on another machine
gunzip -c devops-mcp-hub.tar.gz | docker load
# Run with their own .env file
docker run --env-file .env devops-mcp-hub:latest
š Available Tools
Jira Tools
| Tool | Description |
|---|---|
get_issue |
Get issue details |
search_issues |
Search with JQL |
create_issue |
Create new issue |
update_issue |
Update issue |
delete_issue |
Delete issue |
transition_issue |
Change status |
add_comment |
Add comment |
get_comments |
Get comments |
assign_issue |
Assign to user |
get_projects |
List projects |
get_boards |
List boards |
get_sprints |
List sprints |
get_sprint_issues |
Sprint issues |
get_my_issues |
My assigned issues |
add_worklog |
Log time |
get_worklogs |
Get worklogs |
get_time_tracking |
Time tracking info |
AI Analytics Tools
| Tool | Description |
|---|---|
analyze_sprint_health |
Sprint health with metrics |
get_workload_dashboard |
Team workload analysis |
analyze_issue_text |
NLP issue analysis |
create_smart_issue |
AI-powered issue creation |
generate_release_notes |
Auto-generate release notes |
get_team_worklogs |
Team time summary |
GitHub Tools
| Tool | Description |
|---|---|
github_get_repos |
List repositories |
github_get_repo |
Repository details |
github_get_commits |
Get commits |
github_get_prs |
Get pull requests |
github_compare |
Compare branches |
github_get_file |
Get file content |
github_get_workflows |
GitHub Actions |
github_get_releases |
Get releases |
Confluence Tools
| Tool | Description |
|---|---|
confluence_get_spaces |
List spaces |
confluence_get_page |
Get page |
confluence_search |
Search content |
confluence_create_page |
Create page |
confluence_get_space_pages |
Pages in space |
publish_release_notes_to_confluence |
Publish release notes |
š” Usage Examples
Sprint Health Analysis
Analyze the health of sprint 123 on board 456
The AI will provide:
- Health score (0-100)
- Issue breakdown
- Risk identification
- Actionable recommendations
Smart Issue Creation
Create an issue: We need to fix the login page that crashes when users
enter special characters in the password field. This is urgent and
affecting production users.
AI automatically detects:
- Type: Bug
- Priority: Critical
- Labels: frontend, security
- Similar existing issues
Release Notes Generation
Generate release notes for version 2.0.0 of project MYPROJ
Generates comprehensive release notes with:
- Features, improvements, bug fixes
- Breaking changes warnings
- Contributor acknowledgments
- GitHub statistics (if configured)
Workload Dashboard
Show me the team workload for project MYPROJ
Provides:
- Per-member workload metrics
- Balance score
- Bottleneck identification
- Redistribution recommendations
šļø Architecture
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā DevOps MCP Hub ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā ā
ā āāāāāāāāāāāāāāā āāāāāāāāāāāāāāā āāāāāāāāāāāāāāā ā
ā ā Jira ā ā GitHub ā ā Confluence ā ā
ā ā Client ā ā Client ā ā Client ā ā
ā āāāāāāāā¬āāāāāāā āāāāāāāā¬āāāāāāā āāāāāāāā¬āāāāāāā ā
ā ā ā ā ā
ā āāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāā ā
ā ā ā
ā āāāāāāāāā¼āāāāāāāā ā
ā ā AI Analytics ā ā
ā ā Engine ā ā
ā āāāāāāāāā¬āāāāāāāā ā
ā ā ā
ā āāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāā ā
ā ā ā ā ā
ā āāāāāāāā¼āāāāāāā āāāāāāāā¼āāāāāāā āāāāāāāā¼āāāāāāā ā
ā ā Sprint ā ā Smart ā ā Release ā ā
ā ā Health ā ā Issue ā ā Notes ā ā
ā āāāāāāāāāāāāāāā āāāāāāāāāāāāāāā āāāāāāāāāāāāāāā ā
ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā MCP Protocol Layer ā
ā (Tools, Resources, Prompts) ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāā
ā AI Assistant ā
ā (Cursor, etc) ā
āāāāāāāāāāāāāāāāāāā
š Security
- No hardcoded secrets - All credentials via environment variables
- Non-root Docker - Runs as unprivileged user
- Read-only filesystem - Container filesystem is immutable
- Input validation - All inputs validated with Zod schemas
- HTTPS only - All API calls use secure connections
š ļø Development
# Run in development mode
npm run dev
# Build
npm run build
# Start production
npm start
Project Structure
devops-mcp-hub/
āāā src/
ā āāā index.ts # Main MCP server
ā āāā jira-client.ts # Jira API client
ā āāā github-client.ts # GitHub API client
ā āāā confluence-client.ts # Confluence API client
ā āāā ai-analytics.ts # AI-powered analytics
āāā dist/ # Compiled output
āāā Dockerfile # Docker configuration
āāā docker-compose.yml # Docker Compose
āāā package.json
āāā tsconfig.json
āāā README.md
š¤ Contributing
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
š License
MIT License - see LICENSE file
š CCTECH Hackathon
Built with ā¤ļø for the CCTECH Hackathon by the DevOps MCP Hub Team
Features Implemented:
- ā Jira MCP Server with full CRUD operations
- ā GitHub Integration
- ā Confluence Integration
- ā AI Sprint Health Analyzer
- ā Smart Issue Creator (NLP)
- ā Team Workload Dashboard
- ā Time Tracking (Worklogs)
- ā Release Notes Generator
- ā Docker Deployment
- ā Cross-platform support (Cloud + Server)
š Support
- Create an issue on GitHub
- Check existing documentation
- Review environment configuration
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.