GitLab PR分析MCPサーバー
このプロジェクトは、GitLabのマージリクエスト分析とConfluenceのドキュメントを統合するMCP(モデル制御プロトコル)サーバーを提供します。これにより、マージリクエストの詳細を取得し、コード変更を分析し、結果をConfluenceページに保存できます。
特徴
GitLabからマージリクエストの詳細を取得する
マージリクエストのコード変更を分析する
以下を含む詳細なレポートを生成します:
基本的なマージリクエスト情報
コード変更統計
ファイルタイプ分析
詳細なファイルの変更
分析結果をConfluenceに保存する
デバッグのための包括的なログ記録
Related MCP server: GitLab Code Review MCP
前提条件
Python 3.8以上
APIアクセス可能なGitLabアカウント
Confluence アカウント(オプション、分析結果の保存用)
必要な GitLab プロジェクトへのアクセス
インストール
リポジトリをクローンします。
git https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server.git
cd MRConfluenceLinker-mcp-server仮想環境を作成してアクティブ化します。
python -m venv .venv
source .venv/bin/activate # On Windows, use: .venv\Scripts\activate依存関係をインストールします:
pip install -r requirements.txtまたは
uv add "mcp[cli]" python-gitlab python-dotenv atlassian-python-api requests構成
サンプル環境ファイルをコピーします。
cp .env.example .env資格情報を使用して
.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トークンを生成します
使用法
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 debuggingThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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
