GitLab PR Analysis MCP Server
镜子 (jìng zi)
MCP-Mirror
README
GitLab PR 分析 MCP 服务器
本项目提供一个 MCP (模型控制协议) 服务器,它将 GitLab 合并请求分析与 Confluence 文档集成。它允许您获取合并请求的详细信息,分析代码更改,并将结果存储在 Confluence 页面中。
功能
- 从 GitLab 获取合并请求详细信息
- 分析合并请求中的代码更改
- 生成详细报告,包括:
- 基本合并请求信息
- 代码更改统计
- 文件类型分析
- 详细的文件更改
- 将分析结果存储在 Confluence 中
- 全面的日志记录,用于调试
前提条件
- 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 # 在 Windows 上,使用: .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
# 可选的 Confluence 集成
CONFLUENCE_URL=your_confluence_url
CONFLUENCE_USERNAME=your_username
CONFLUENCE_TOKEN=your_confluence_token
CONFLUENCE_SPACE=your_space_key
获取凭据
- GitLab Token: 在 GitLab 中生成一个具有
api
范围的个人访问令牌 - Confluence Token: 在您的 Atlassian 帐户设置中生成一个 API 令牌
用法
- 启动 MCP 服务器:
python src/MRConfluenceLinker-mcp-server/server.py
或者
使用 Claude Desktop 设置
# claude_desktop_config.json
# 可以通过以下方式找到位置:
# Claude -> 设置 -> 开发者 -> 编辑配置
{
"mcpServers": {
"MRConfluenceLinker-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/<绝对路径到文件夹>/MRConfluenceLinker-mcp-server/src/MRConfluenceLinker-mcp-server",
"run",
"server.py"
]
}
}
}
2. 服务器将监听来自 stdin/stdout 的命令。您可以使用如下提示与之交互:
你能从项目“my-project”中获取合并请求 #1 的详细信息吗? 你能分析项目“my-project”中合并请求 #1 的代码更改吗? 你能将项目“my-project”中合并请求 #1 的摘要存储在 Confluence 中吗?
## 可用工具
服务器提供以下工具:
1. `fetch_mr_details`: 获取特定合并请求或所有合并请求的详细信息
- 参数:
- `project_id`: GitLab 项目 ID
- `mr_id` (可选): 特定合并请求 ID
2. `analyze_code_changes`: 分析合并请求中的代码更改
- 参数:
- `project_id`: GitLab 项目 ID
- `mr_id`: 要分析的合并请求 ID
3. `store_in_confluence`: 将分析结果存储在 Confluence 中
- 参数:
- `project_id`: GitLab 项目 ID
- `mr_id` (可选): 特定合并请求 ID
- `analysis` (可选): 要存储的分析结果
## 日志记录
服务器在 `mcp_server.log` 中生成详细日志并输出到 stderr。这有助于调试以下问题:
- GitLab API 访问
- Confluence 集成
- 代码分析
- 页面创建和更新
## 错误处理
服务器包括全面的错误处理,用于:
- 缺少环境变量
- API 身份验证问题
- 网络连接问题
- 无效的项目或合并请求 ID
- Confluence 权限问题
## 贡献
1. Fork 存储库
2. 创建一个功能分支
3. 提交您的更改
4. 推送到分支
5. 创建一个 Pull Request
## 许可证
本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。
## 支持
如需支持,请[创建一个 issue](https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server/issues) 或联系维护人员。
## 项目结构
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 # 依赖锁定文件
### 关键组件
- **源代码**: 位于 `src/MRConfluenceLinker-mcp-server/` 目录中
- `server.py`: 主 MCP 服务器实现
- `resources/client.py`: 客户端实现,包含 GitLab PR 集成
- **配置文件**:
- `requirements.txt`: Python 包依赖
- `pyproject.toml`: 项目元数据和构建配置
- `uv.lock`: 锁定的依赖版本
- `.env.example`: 环境变量模板
- **文档**:
- `README.md`: 项目概述和设置说明
- `CONTRIBUTING.md`: 贡献指南
- `LICENSE`: 项目许可证
- **开发**:
- `__pycache__/`: Python 缓存文件
- `mcp_server.log`: 用于调试的服务器日志
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。