GitLab Duo Agent平台新增支持模型上下文协议
GitLab的MCP支持增强了AI驱动的开发工作流,将Duo Agent平台作为MCP客户端连接外部工具,同时作为MCP服务器为外部AI助手提供GitLab数据访问。
什么是MCP?
MCP由Anthropic于2024年首次推出,是一个连接AI与数据和工具的开源标准。它作为安全双向通道运行:MCP客户端(AI应用、自主代理或开发工具)请求数据或操作,MCP服务器从其连接的数据源提供受信任的授权响应。
MCP服务器充当各种系统的安全桥梁:它们可以连接数据库、API、文件系统、云服务或任何外部工具以检索和提供数据。这使得AI工具和代理能够超越初始训练数据,访问实时信息并执行操作(如重新安排会议或检查日历可用性),同时保持严格的安全、隐私和审计控制。
为什么AI使用MCP而不是API?
虽然AI可以直接调用系统API,但每个API都有自己的身份验证、数据格式和行为,需要AI为每个系统使用自定义连接器并在API演进时持续维护,使得直接集成复杂且容易出错。MCP通过提供标准化安全接口来解决这一问题,该接口处理身份验证、权限和数据转换,使AI工具能够可靠连接到任何系统,同时简化集成并确保一致的安全行为。
GitLab的MCP支持
GitLab通过两种互补工作流提供全面的MCP支持:
MCP客户端工作流:Duo Agent平台作为MCP客户端,允许功能访问各种外部工具和服务。
MCP服务器工作流:GitLab还提供MCP服务器功能,使Claude Desktop、Cursor和其他MCP兼容工具能够安全连接到您的GitLab实例。
MCP客户端工作流交互演示
想象一个常见的周一早晨场景:公司的结账服务出现超时错误。客户无法完成购买,您需要快速调查。通常,您需要打开Jira查看事件工单,滚动Slack获取更新,并检查Grafana仪表板查看错误峰值。借助GitLab的MCP支持,您可以直接在IDE的聊天中使用自然语言完成所有这些操作。MCP在所有系统中关联数据,立即提供完整情况,无需离开开发工作流。
设置GitLab MCP客户端
在通过GitLab Duo Agentic Chat或软件开发流查询数据之前,需要在开发环境中配置MCP。步骤包括:
- 启用功能预览 - 在群组设置的左侧边栏中导航到GitLab Duo,然后在功能预览部分勾选"启用实验性和测试版GitLab Duo功能"
- 为群组启用MCP - 在GitLab群组设置中启用MCP支持,允许Duo功能连接到外部系统
- 设置MCP服务器 - 在mcp.json文件中以JSON格式定义MCP服务器
|
|
- 安装和配置IDE - 确保安装VSCodium或Visual Studio Code以及GitLab Workflow扩展(6.28.2或更高版本支持基本MCP功能,6.35.6或更高版本支持完整功能)
示例项目
我们分享作为演示基础的项目,允许您在自有环境中重现相同流程并动手探索GitLab的MCP功能。该项目在模拟企业设置中演示MCP功能,使用来自Jira、Slack和Grafana的模拟数据建模事件响应场景。
|
|
安全说明:aws-console使用社区开发的MCP服务器包进行AWS集成,该包未经独立验证,仅用于演示和学习目的。
GitLab MCP服务器功能
GitLab MCP服务器让Cursor或Claude Desktop等AI工具能够安全连接到您的GitLab实例,并通过自然语言处理开发数据。身份验证通过OAuth 2.0动态客户端注册处理,因此AI工具可以自动注册并在适当授权下访问GitLab数据。
当前服务器支持:
- 问题 - 获取详细信息或创建新问题
- 合并请求 - 查看详细信息、提交和文件更改
- 流水线 - 列出合并请求的作业和流水线
- 服务器信息 - 检查MCP服务器版本
如何在AI工具中配置MCP服务器
先决条件:
- 确保安装Node.js和npm
- 通过在终端运行
npx --version
验证npx全局可访问
配置步骤:
- 启用功能标志 - 在GitLab实例中激活
mcp_server
和oauth_dynamic_client_registration
- 将GitLab MCP服务器配置添加到AI工具
|
|
- 注册和身份验证 - 首次连接时,AI工具将自动注册为OAuth应用,请求mcp范围的授权,在浏览器中完成OAuth流程
使用MCP服务器
一旦AI工具连接到MCP服务器,您就可以使用自然语言直接从开发环境安全获取和处理GitLab数据。例如:
- “获取项目123中问题42的详细信息”
- “创建标题为’修复登录错误’的新问题,描述密码特殊字符相关问题”
- “显示gitlab-org/gitlab项目中合并请求15的所有提交”
总结
GitLab Duo Agent平台引入MCP支持,以前所未有的方式实现AI驱动的开发工作流。通过MCP支持,GitLab同时充当客户端和服务器:
- MCP客户端:GitLab Duo Agent平台可以安全访问外部系统的数据和工具,将丰富上下文直接带入IDE
- MCP服务器:外部AI工具如Cursor或Claude Desktop可以连接到GitLab实例,访问项目数据并执行操作,同时保持严格的安全和隐私
这种双向支持减少了上下文切换,加速了开发人员工作流,并确保AI能够在整个工具包中提供有意义的协助。