Skip to main content
Glama

GitLab PR Analysis MCP Server

by CodeByWaqas

GitLab PR分析MCPサーバー

このプロジェクトは、GitLabのマージリクエスト分析とConfluenceのドキュメントを統合するMCP(モデル制御プロトコル)サーバーを提供します。これにより、マージリクエストの詳細を取得し、コード変更を分析し、結果をConfluenceページに保存できます。

特徴

  • GitLabからマージリクエストの詳細を取得する
  • マージリクエストのコード変更を分析する
  • 以下を含む詳細なレポートを生成します:
    • 基本的なマージリクエスト情報
    • コード変更統計
    • ファイルタイプ分析
    • 詳細なファイルの変更
  • 分析結果をConfluenceに保存する
  • デバッグのための包括的なログ記録

前提条件

  • Python 3.8以上
  • APIアクセス可能なGitLabアカウント
  • Confluence アカウント(オプション、分析結果の保存用)
  • 必要な GitLab プロジェクトへのアクセス

インストール

  1. リポジトリをクローンします。
git https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server.git cd MRConfluenceLinker-mcp-server
  1. 仮想環境を作成してアクティブ化します。
python -m venv .venv source .venv/bin/activate # On Windows, use: .venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt

または

uv add "mcp[cli]" python-gitlab python-dotenv atlassian-python-api requests

構成

  1. サンプル環境ファイルをコピーします。
cp .env.example .env
  1. 資格情報を使用して.envファイルを編集します。
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

資格情報の取得

  • GitLab トークン: GitLab でapiスコープを使用して個人アクセス トークンを生成する
  • Confluenceトークン: Atlassianアカウント設定でAPIトークンを生成します

使用法

  1. MCP サーバーを起動します。
python src/MRConfluenceLinker-mcp-server/server.py

または

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:

プロジェクト「my-project」からマージリクエスト #1 の詳細を取得できますか?プロジェクト「my-project」のマージリクエスト #1 のコード変更を分析できますか?プロジェクト「my-project」のマージリクエスト #1 の概要を 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/ # ソースコードディレクトリ │ └── MRConfluenceLinker-mcp-server/ # メインサーバーパッケージ │ ├── resources/ # リソースモジュール │ │ ├── init .py │ │ ├── client.py # クライアント実装 / GitLab PR 統合 │ ├── server.py # メインサーバー実装 │ └── mcp_server.log # サーバーログ ├── pycache / # Python キャッシュファイル ├── .git/ # Git リポジトリ ├── .gitignore # Git 無視ルール ├── CONTRIBUTING.md # 貢献ガイドライン ├── LICENSE # プロジェクトライセンス ├── README.md # プロジェクトドキュメント ├── pyproject.toml # Python プロジェクト構成 ├── requirements.txt # プロジェクトの依存関係└── uv.lock # 依存関係ロックファイル

### 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
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

GitLab のマージ リクエスト分析を Confluence ドキュメントと統合し、ユーザーがマージ リクエストの詳細を取得し、コードの変更を分析し、分析結果を Confluence ページに保存できるようにします。

  1. 特徴
    1. 前提条件
      1. インストール
        1. 構成
          1. 資格情報の取得
        2. 使用法
          1. Claude Desktopでのセットアップ

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          A custom server implementation that allows AI assistants to interact with GitLab repositories, providing capabilities for searching, fetching files, creating/updating content, and managing issues and merge requests.
          Last updated -
          JavaScript
        • -
          security
          F
          license
          -
          quality
          An MCP server that enables communication with GitLab repositories, allowing interaction with GitLab's API to manage projects, issues, and repositories through natural language.
          Last updated -
          20
          1
          JavaScript
          MIT License
        • -
          security
          A
          license
          -
          quality
          Gitee API integration, repository, issue, and pull request management, and more.
          Last updated -
          28
          Go
          MIT License
          • Linux
          • Apple
        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that enables interaction with GitLab accounts to manage repositories, merge requests, code reviews, and CI/CD pipelines through natural language.
          Last updated -
          41
          2
          TypeScript
          MIT License
          • Apple

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/CodeByWaqas/MRConfluenceLinker-mcp-server'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server