GitLab MR & Confluence Linker
Analyzes GitLab merge requests and links them to Confluence documentation.
GitLab PR Analysis MCP Server
This project provides an MCP (Model Control Protocol) server that integrates GitLab merge request analysis with Confluence documentation. It allows you to fetch merge request details, analyze code changes, and store the results in Confluence pages.
Features
- Fetch merge request details from GitLab
- Analyze code changes in merge requests
- Generate detailed reports including:
- Basic merge request information
- Code change statistics
- File type analysis
- Detailed file changes
- Store analysis results in Confluence
- Comprehensive logging for debugging
Prerequisites
- Python 3.8 or higher
- GitLab account with API access
- Confluence account (optional, for storing analysis results)
- Access to the required GitLab project(s)
Installation
- Clone the repository:
git https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server.git
cd MRConfluenceLinker-mcp-server
- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Windows, use: .venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
or
uv add "mcp[cli]" python-gitlab python-dotenv atlassian-python-api requests
Configuration
- Copy the example environment file:
cp .env.example .env
- Edit the
.envfile with your credentials:
GITLAB_URL=https://gitlab.com
GITLAB_TOKEN=your_gitlab_token
GITLAB_PROJECT_ID=your_project_id
# Optional Confluence integration
CONFLUENCE_URL=your_confluence_url
CONFLUENCE_USERNAME=your_username
CONFLUENCE_TOKEN=your_confluence_token
CONFLUENCE_SPACE=your_space_key
Obtaining Credentials
- GitLab Token: Generate a personal access token in GitLab with
apiscope - Confluence Token: Generate an API token in your Atlassian account settings
Usage
- Start the MCP server:
python src/MRConfluenceLinker-mcp-server/server.py
or
Setup with Claude Desktop
# claude_desktop_config.json
# Can find location through:
# Claude -> Settings -> Developer -> Edit Config
{
"mcpServers": {
"MRConfluenceLinker-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/<Absolute-path-to-folder>/MRConfluenceLinker-mcp-server/src/MRConfluenceLinker-mcp-server",
"run",
"server.py"
]
}
}
}
2. The server will listen for commands through stdin/stdout. You can interact with it using prompts like:
Can you fetch details for merge request #1 from project "my-project"? Can you analyze code changes in merge request #1 from project "my-project"? Can you store a summary of merge request #1 from project "my-project" in Confluence?
## Available Tools
The server provides the following tools:
1. `fetch_mr_details`: Fetches details of a specific merge request or all merge requests
- Parameters:
- `project_id`: The GitLab project ID
- `mr_id` (optional): Specific merge request ID
2. `analyze_code_changes`: Analyzes code changes in a merge request
- Parameters:
- `project_id`: The GitLab project ID
- `mr_id`: The merge request ID to analyze
3. `store_in_confluence`: Stores analysis results in Confluence
- Parameters:
- `project_id`: The GitLab project ID
- `mr_id` (optional): Specific merge request ID
- `analysis` (optional): Analysis results to store
## Logging
The server generates detailed logs in `mcp_server.log` and outputs to stderr. This helps in debugging issues with:
- GitLab API access
- Confluence integration
- Code analysis
- Page creation and updates
## Error Handling
The server includes comprehensive error handling for:
- Missing environment variables
- API authentication issues
- Network connectivity problems
- Invalid project or merge request IDs
- Confluence permission issues
## Contributing
1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Support
For support, please [create an issue](https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server/issues) or contact the maintainers.
## Project Structure
MRConfluenceLinker-mcp-server/ ├── src/ # Source code directory │ └── MRConfluenceLinker-mcp-server/ # Main server package │ ├── resources/ # Resource modules │ │ ├── init.py │ │ ├── client.py # Client implementation / GitLab PR integration │ ├── server.py # Main server implementation │ └── mcp_server.log # Server logs ├── pycache/ # Python cache files ├── .git/ # Git repository ├── .gitignore # Git ignore rules ├── CONTRIBUTING.md # Contributing guidelines ├── LICENSE # Project license ├── README.md # Project documentation ├── pyproject.toml # Python project configuration ├── requirements.txt # Project dependencies └── uv.lock # Dependency lock file
### Key Components
- **Source Code**: Located in the `src/MRConfluenceLinker-mcp-server/` directory
- `server.py`: Main MCP server implementation
- `resources/client.py`: Client-side implementation contains GitLab PR integration
- **Configuration Files**:
- `requirements.txt`: Python package dependencies
- `pyproject.toml`: Project metadata and build configuration
- `uv.lock`: Locked dependency versions
- `.env.example`: Environment variables template
- **Documentation**:
- `README.md`: Project overview and setup instructions
- `CONTRIBUTING.md`: Contribution guidelines
- `LICENSE`: Project license
- **Development**:
- `__pycache__/`: Python cache files
- `mcp_server.log`: Server logs for debugging
Verwandte Server
Alpha Vantage MCP Server
SponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Julia Documentation MCP Server
An MCP server for accessing Julia documentation and source code.
iOS Simulator MCP Server
A Model Context Protocol (MCP) server for interacting with iOS simulators. This server allows you to interact with iOS simulators by getting information about them, controlling UI interactions, and inspecting UI elements.
Diffchunk
Navigate large diff files with intelligent chunking and navigation tools.
FeedOracle Macro Intelligence
Deterministic macro regime engine for AI trading agents — RISK_ON / NEUTRAL / RISK_OFF / STRESS with transparent scoring rules.
ucn
Universal Code Navigator - a lightweight MCP server that gives AI agents call-graph-level understanding of code. Instead of reading entire files, agents ask structural questions like: "who calls this function", "what breaks if I change it", "what's unused", and get precise, AST-verified answers. UCN parses JS/TS, Python, Go, Rust, Java, and HTML inline scripts with tree-sitter, then exposes 28 navigation commands as a CLI tool, MCP server, or agent skill.
ServiceNow
A production-ready Model Context Protocol (MCP) server for ServiceNow platform integration. Built with TypeScript for Node.js 20+, this server enables LLMs and AI assistants to interact with ServiceNow instances through a standardized interface.
SVG to PNG MCP Server
A server that converts SVG code to PNG images using the cairosvg library.
MCP Framework
A TypeScript framework for building Model Context Protocol (MCP) servers.
Hello World MCP Server
A simple Hello World MCP server built with FastMCP, serving as a basic example.
Tidymodels MCP Server
An MCP server for accessing tidymodels GitHub information and generating code.