unified-devops-mcp
v1.0.0
Published
Unified DevOps MCP Server for JIRA, GitLab, and SonarQube integration
Downloads
16
Maintainers
Readme
Unified DevOps MCP Server
A Model Context Protocol (MCP) server that integrates JIRA, GitLab, and SonarQube for seamless DevOps workflows.
Features
JIRA Integration
- Get assigned issues
- Get issue details
- Create issues (Task, Story, Bug)
- Add worklogs and comments
- Assign issues to users
- Search users
- Update issue fields
- Transition issues between statuses
- Confluence page search
GitLab Integration
- Get current branch with JIRA ID extraction
- Commit changes with JIRA format
- Push changes to remote
- Create merge requests with auto-generated descriptions
- Review merge requests with code analysis
- List merge requests
SonarQube Integration
- Discover accessible projects
- Get project quality metrics
- Get project issues by severity/type
Installation
npm install -g unified-devops-mcpConfiguration
Create a .env file with the following variables:
# JIRA Configuration
JIRA_URL=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your-jira-api-token
# Confluence (Optional)
CONFLUENCE_SPACE_KEY=YOUR_SPACE
# GitLab Configuration
GITLAB_URL=https://gitlab.com
GITLAB_TOKEN=glpat-xxxxxxxxxxxxx
GITLAB_PROJECT_ID=12345678
# SonarQube Configuration
SONARQUBE_URL=https://sonarqube.company.com
SONARQUBE_TOKEN=squ_xxxxxxxxxxxxxUsage with Claude Desktop
Add to your Claude Desktop configuration:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"unified-devops": {
"command": "unified-devops-mcp",
"env": {
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-token",
"GITLAB_URL": "https://gitlab.com",
"GITLAB_TOKEN": "your-token",
"GITLAB_PROJECT_ID": "12345678",
"SONARQUBE_URL": "https://sonarqube.company.com",
"SONARQUBE_TOKEN": "your-token"
}
}
}
}Available Tools
JIRA Tools
jira_get_my_issues- Get issues assigned to current userjira_get_issue_details- Get complete issue detailsjira_create_issue- Create new JIRA issuejira_add_worklog- Add worklog to issuejira_add_comment- Add comment to issuejira_assign_issue- Assign issue to userjira_search_users- Search users by name/emailjira_update_issue- Update issue fieldsjira_get_transitions- Get available transitionsjira_transition_issue- Transition issue statusconfluence_search_pages- Search Confluence pages
GitLab Tools
gitlab_get_current_branch- Get current branch and JIRA IDgitlab_commit_changes- Commit with JIRA formatgitlab_push_changes- Push to remotegitlab_create_merge_request- Create MR with descriptiongitlab_review_merge_request- Review MR and attach summarygitlab_list_merge_requests- List merge requests
SonarQube Tools
sonar_discover_projects- Discover accessible projectssonar_get_project_metrics- Get quality metricssonar_get_project_issues- Get project issues
Development Workflows
Story Development Cycle
- Extract JIRA ID from story
- Create feature branch:
feature/DLG-XXXXfromdevelop - Develop with mandatory test cases
- Commit with format:
DLG-XXXX # message - Push changes
- Create MR to
developwith code review
Commit Message Standard
Format: JIRA-ID # message
Example: DLG-7365 # Add tag cloud component
MR Title Standard
Format: JIRA-ID # title
Example: DLG-7365 # Add Tag Cloud Component to Home Page
Best Practices
- MANDATORY: Write test cases for ALL code changes
- For website projects: Create tests in
packages/__test__/ - For page.tsx routes: Ensure loading.tsx and layout.tsx are handled
- Always check if modifications impact other components
- Raise MRs to
developbranch with code review summary
License
MIT
Support
For issues and feature requests, please visit our GitHub repository.
