fetch_mr_detailsLABSCO SUMMARY
The merge request write-up nobody gets round to.
Documenting an MR in Confluence is the step that gets skipped because it happens after the review is over. This fetches the merge request, analyses the diff and writes the page in a single run.
What it is
A bridge between GitLab merge requests and Confluence. It pulls the merge request, analyses what changed, and writes the resulting report to a Confluence page.
What you get
- Merge request details fetched from GitLab by project and merge request id
- The code changes analysed: change statistics, file-type breakdown and per-file detail
- A report combining the basic merge request information with that analysis
- The report stored in the Confluence space you configured
- Logging throughout, for the runs that do not do what you expected
Requirements
uv, which supplies the Python 3.12+ the project file requires, plus your GitLab URL, a GitLab personal access token with api scope, and the project it should read. Confluence is optional and only needed to store results: its URL, an account and token, and the space to write into.
Setup effort
Build from source — git clone https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server.git
USE CASES
Documenting a merge request without rewriting it by hand
Fetch, analyse and file to Confluence in one pass, while the change is still current.
Getting a read on how big a change really is
Change statistics and a file-type breakdown, before you commit review time to it.
Catching up on an MR you did not follow
The merge request details and the per-file changes together, rather than a diff you scroll through.
Keeping a release record outside GitLab
Each analysed merge request written into the Confluence space, so the history survives the repository.
3 tools
Listed in project docs. Your client may show a different list.
analyze_code_changesstore_in_confluenceBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. store_in_confluence is the only write; with only GITLAB_TOKEN set you can fetch and analyse merge requests but not store the analysis.
Requires
- uv on PATH
- Python 3.12+
- GITLAB_TOKEN in your environment
Optional
CONFLUENCE_TOKEN in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server.git
cd MRConfluenceLinker-mcp-serverInstall uv (https://docs.astral.sh/uv/) if you do not have it — the Claude Desktop entry starts the server with uv run, which reads pyproject.toml (Python 3.12+) and installs the dependencies on first launch
cp src/MRConfluenceLinker-mcp-server/.env.example src/MRConfluenceLinker-mcp-server/.envEdit src/MRConfluenceLinker-mcp-server/.env — GITLAB_URL, GITLAB_TOKEN (a GitLab personal access token with api scope) and GITLAB_PROJECT_ID; the CONFLUENCE_ lines are only needed to store analyses in Confluence
Add the mcpServers entry to claude_desktop_config.json (Claude -> Settings -> Developer -> Edit Config)
MCP Clients
Claude Desktop
{
"mcpServers": {
"MRConfluenceLinker-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/<YOUR_ABSOLUTE_PATH_TO_FOLDER>/MRConfluenceLinker-mcp-server/src/MRConfluenceLinker-mcp-server",
"run",
"server.py"
]
}
}
}The configuration on this page does not set GITLAB_TOKEN and CONFLUENCE_TOKEN; the project's instructions put them in a .env file. Check which folder the server reads that file from before you rely on it.