内容
# gitlab-extended-mcp
MCP 服务器,添加了标准 `@zereight/mcp-gitlab` 服务器中缺少的 GitLab 成员管理工具。提供了四种工具,用于在整个 GitLab 组层次结构中添加、删除、更新和收集成员。
## 工具列表
| 工具 | 描述 |
|---|---|
| `add_gitlab_member` | 将用户添加到组或项目(单个或递归遍历层次结构) |
| `remove_gitlab_member` | 从整个组层次结构中删除用户(BFS,直接成员资格) |
| `update_member_role` | 降低/提高用户在组层次结构中的访问级别 |
| `collect_group_members` | 从组层次结构中收集所有成员,源跟踪去重 |
所有工具都支持 `dry_run: true` 以在应用更改之前预览。
## 要求
```
python >= 3.11
mcp[cli]
requests
```
安装依赖项:
```bash
pip install "mcp[cli]" requests
```
## 配置
设置两个环境变量:
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
| `GITLAB_PERSONAL_ACCESS_TOKEN` | 是 | — | GitLab 个人访问令牌,范围为 `api` |
| `GITLAB_URL` | 否 | `https://gitlab.com` | 自托管 GitLab URL |
### Claude 代码(MCP 配置)
添加到您的 `.mcp.json`:
```json
{
"mcpServers": {
"gitlab-extended": {
"command": "python",
"args": ["/path/to/gitlab-extended-mcp/server.py"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "glpat-YOUR_TOKEN_HERE",
"GITLAB_URL": "https://gitlab.com"
}
}
}
}
```
## 使用示例
```
# 将用户添加为某个组及其所有子组/项目的开发者
add_gitlab_member(username="alice", target_path="myorg/backend", access_level="developer", recursive=True)
# 在应用前预览删除
remove_gitlab_member(username="bob", group_path="myorg", dry_run=True)
# 将某个组层次结构中的所有维护者降级为开发者
update_member_role(username="carol", group_path="myorg", from_level=40, to_level=30)
# 列出某个组层次结构中的所有成员
collect_group_members(group_path="myorg", include_projects=True)
```
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)