{
  "markdown": "Gitlab Mcp server\n\n支持服务：\n\n1. gitlab\n6. code-review-rules (代码审查规则)\n\n# 场景\n\n1. gitlab 代码 review，获取信息\n4. 智能代码审查规则 - 根据项目类型提供代码审查建议\n\n\n# GitLab\n\nGitLab 集成使用 `@gitbeaker/rest` 库支持获取 Merge Request 信息。\n\n## 环境变量\n```bash\nexport GITLAB_TOKEN=\"your_personal_access_token\"\nexport GITLAB_URL=\"https://gitlab.com\"  # 可选，默认为 gitlab.com（注意：不需要 /api/v4 后缀）\n```\n\n## 可用工具\n- `get_merge_request`: 获取特定 MR 的详细信息\n- `list_merge_requests`: 列出项目的 MR 列表\n- `gitlab_code_review`: 对 MR 进行综合代码审查\n- `gitlab_branch_code_review`: 对指定分支进行全面代码审查\n- `gitlab_commit_review`: 对指定提交进行代码审查\n- `get_file_content`: 获取仓库中特定文件的内容\n- `list_branches`: 列出项目的所有分支\n- `write_gitlab_mr_note`: 在 MR 中写入审查备注（支持灵活的通知模式）\n\n## 依赖\n- `@gitbeaker/rest`: GitLab API 客户端库\n\n详细使用说明请参考 [GitLab 文档](docs/gitlab.md)\n\n# Lark 机器人集成\n\n支持通过 Lark（飞书）机器人发送通知，可以在写入 GitLab MR 评论时自动发送 Lark 通知。\n\n## 环境变量\n```bash\nexport LARK_WEBHOOK_URL=\"https://open.feishu.cn/open-apis/bot/v2/hook/xxx\"  # Lark 机器人 Webhook URL\nexport LARK_SECRET_KEY=\"your_secret_key\"  # 可选：签名密钥（如果机器人启用了签名验证）\nexport LARK_ENABLE_NOTIFICATION=\"true\"  # 可选：是否启用通知，默认为 true\nexport GITLAB_NOTE_MODE=\"gitlab_only\"  # 可选：通知模式 - gitlab_only(仅GitLab)、lark_only(仅Lark)、both(两者都发)，默认为 gitlab_only\n```\n\n## 功能特性\n- 灵活的通知模式：可以选择只写 GitLab、只发 Lark 或两者都做\n- 支持富文本卡片消息，包含项目名称、MR 标题、评论内容等信息\n- 支持自定义 Lark 消息（文本或卡片格式）\n- 失败不影响主流程，确保 GitLab 操作的可靠性\n\n## 通知模式说明\n- **gitlab_only**: 仅写入 GitLab MR 评论，不发送 Lark 通知（默认）\n- **lark_only**: 仅发送 Lark 通知，不写入 GitLab MR 评论\n- **both**: 同时写入 GitLab MR 评论并发送 Lark 通知\n\n## 使用示例\n```javascript\n// 使用环境变量配置的默认模式\nawait write_gitlab_mr_note({\n  projectId: \"group/project\",\n  mergeRequestIid: 123,\n  note: \"代码审查完成，LGTM！\"\n});\n\n// 明确指定只写入 GitLab\nawait write_gitlab_mr_note({\n  projectId: \"group/project\",\n  mergeRequestIid: 123,\n  note: \"内部备注\",\n  notificationMode: \"gitlab_only\"\n});\n\n// 只发送 Lark 通知，不写入 GitLab\nawait write_gitlab_mr_note({\n  projectId: \"group/project\",\n  mergeRequestIid: 123,\n  note: \"团队通知：代码已审查\",\n  notificationMode: \"lark_only\"\n});\n\n// 强制两者都执行（覆盖环境变量）\nawait write_gitlab_mr_note({\n  projectId: \"group/project\",\n  mergeRequestIid: 123,\n  note: \"重要通知\",\n  notificationMode: \"both\"\n});\n\n```\n\n# Code Review Rules (代码审查规则)\n\n智能代码审查规则系统，根据不同项目类型和文件扩展名提供相应的代码审查建议。\n\n## 可用工具\n- `get_code_review_rules`: 获取适用于特定项目和文件的代码审查规则\n- `list_all_code_review_rules`: 列出所有可用的代码审查规则  \n- `get_project_types`: 获取支持的项目类型信息\n\n## 支持的项目类型\n- TypeScript / JavaScript\n- React\n- Node.js\n- Go\n- Python  \n- Rust\n- Backend (通用后端规则)\n- Database (数据库相关)\n\n## 规则类别\n- 🔒 Security (安全)\n- ⚡ Performance (性能)\n- 🔧 Maintainability (可维护性)\n- 🎨 Style (代码风格)\n- ✨ Best Practice (最佳实践)\n\n## 项目特定规则\n支持为特定项目配置专属的代码审查规则：\n- 可以通过外部 JSON 配置文件定义项目特定规则\n- 支持启用/禁用默认规则\n- 支持排除特定的默认规则\n- 可以添加额外的项目类型\n\n详细使用说明请参考：\n- [Code Review 文档](docs/codereview.md)\n- [项目特定规则配置指南](docs/project-specific-rules.md)",
  "bytes": 2729,
  "sha": "ff81908dff4eeddfe87924c21dc56b5af3face1f22d10d52c902654b5b9e7a97",
  "repo_slug": "dubuqingfeng/gitlab-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dubuqingfeng_gitlab_mcp_server_889980aa/readme"
}