GitLab Duo Agent平台新增模型上下文协议支持
GitLab Duo Agent平台现已支持模型上下文协议(MCP),通过将Duo Agent平台作为MCP客户端连接外部工具,同时作为MCP服务器为外部AI助手提供服务,显著增强了AI驱动的开发工作流程。
什么是MCP?
MCP由Anthropic于2024年首次推出,是一个连接AI与数据和工具的开源标准。它作为安全双向通道运行:MCP客户端(AI应用程序、自主代理或开发工具)请求数据或操作,MCP服务器从其连接的数据源提供受信任的授权响应。
MCP服务器充当各种系统的安全桥梁:它们可以连接到数据库、API、文件系统、云服务或任何外部工具以检索和提供数据。这使得AI工具和代理能够超越初始训练数据,访问实时信息并执行操作(如重新安排会议或检查日历可用性),同时保持严格的安全、隐私和审计控制。
为什么AI使用MCP而不是API?
如果AI已经可以直接调用系统API,为什么还要使用MCP?挑战在于每个API都有自己的身份验证、数据格式和行为,这需要AI为每个系统使用自定义连接器,并在API演进时持续维护它们,使得直接集成复杂且容易出错。MCP通过提供标准化安全接口来解决这个问题,该接口处理身份验证、权限和数据转换。这使得AI工具能够可靠地连接到任何系统,同时简化集成并确保一致的安全行为。
GitLab的MCP支持
GitLab通过MCP支持扩展了Duo Agentic Chat,打破了先前将AI与开发者日常使用工具隔离开的障碍。这使得开发者能够直接从他们最喜欢的IDE中以自然语言访问整个工具包,使GitLab Duo Agent平台能够提供全面协助,而不会打断开发者流程或强制进行破坏性的上下文切换。
GitLab通过两个互补的工作流程提供全面的MCP支持:
- MCP客户端工作流:Duo Agent平台作为MCP客户端,允许功能访问各种外部工具和服务
- MCP服务器工作流:GitLab还提供MCP服务器功能,使AI工具和应用程序(如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服务器
创建文件位置:
- Windows:
C:\Users\<username>\AppData\Roaming\GitLab\duo\mcp.json - 所有其他操作系统:
~/.gitlab/duo/mcp.json
对于工作区特定配置,请参阅工作区配置设置。
|
|
- 安装和配置IDE - 确保安装VSCodium或Visual Studio Code以及GitLab Workflow扩展(基本MCP支持需要6.28.2或更高版本,完整支持需要6.35.6或更高版本)
有关完整的分步说明、配置示例和故障排除提示,请参阅GitLab MCP客户端文档。
示例项目
为了补充演示,我们分享了作为其基础的项目。该项目允许您在自己的环境中重现相同流程,并亲手探索GitLab的MCP功能。
它模拟企业设置中的MCP功能,使用来自Jira、Slack和Grafana的模拟数据来建模事件响应场景。包含的mcp.json配置显示了如何连接到本地MCP服务器(enterprise-data-v2)或可选地使用AWS服务扩展设置以进行云集成。
|
|
安全说明:aws-console使用社区开发的MCP服务器包(@imazhar101/mcp-aws-server)进行AWS集成,该包尚未经过独立验证。这仅用于演示和学习目的。对于生产使用,请彻底评估包或使用官方替代方案。
此外,使用AWS CLI配置文件或IAM角色配置AWS凭据,而不是在配置文件中硬编码它们。AWS SDK将自动从您的环境中发现凭据,这是企业治理和安全合规的推荐方法。
要开始使用,请克隆项目,使用npm install安装依赖项,然后使用npm start启动本地MCP服务器。使用上述配置创建~/.gitlab/duo/mcp.json文件,更新文件路径以匹配您的本地设置,并重新启动VS Code以加载MCP配置。可选地,添加您的AWS凭据以体验实时云集成。
在此克隆项目:GitLab Duo MCP演示。
演示项目示例提示
配置示例项目后,您可以直接从IDE中的GitLab Duo Agentic Chat开始探索数据和工具。以下是一些可以尝试的提示:
- “通过MCP您可以访问哪些工具?”
- “向我显示最近关于数据库问题的Slack讨论”
GitLab MCP服务器功能
到目前为止,我们已经了解了GitLab Duo Agent平台如何作为MCP客户端连接到外部MCP服务器。现在,让我们探索GitLab MCP服务器功能。
GitLab MCP服务器允许像Cursor或Claude Desktop这样的AI工具安全连接到您的GitLab实例,并通过自然语言处理开发数据。身份验证通过OAuth 2.0动态客户端注册处理,因此AI工具可以自动注册并通过适当授权访问您的GitLab数据。
目前,服务器支持:
- 问题 - 获取详细信息或创建新问题
- 合并请求 - 查看详细信息、提交和文件更改
- 流水线 - 列出合并请求的作业和流水线
- 服务器信息 - 检查MCP服务器版本
有关可用工具和功能的完整列表,请参阅MCP服务器文档。
交互式演示:GitLab MCP服务器实战
通过我们的交互式演示亲身体验GitLab MCP服务器。
它指导您完成使用MCP服务器设置Cursor,并使用Cursor Chat安全连接到您的GitLab实例。您将看到如何执行操作,如查看问题、创建新问题和检查合并请求,所有这些都直接通过自然语言完成,而无需离开开发环境。
如何在AI工具中配置MCP服务器
先决条件:
- 确保安装Node.js和npm
- 通过在终端中运行
npx --version验证npx是否全局可访问
配置步骤:
-
启用功能标志 - 在GitLab实例中激活
mcp_server和oauth_dynamic_client_registration -
将GitLab MCP服务器配置添加到AI工具 - 将MCP服务器条目添加到工具的配置文件中(Cursor为mcp.json,Claude Desktop为claude_desktop_config.json):
|
|
- 注册和身份验证 - 首次连接时,AI工具将:
- 自动注册为OAuth应用程序
- 请求mcp范围的授权
- 在浏览器中授权
连接时,MCP客户端将自动打开默认浏览器以完成OAuth流程。在GitLab中审查并批准请求以授予访问权限并接收安全API访问的访问令牌。
使用MCP服务器
一旦AI工具连接到MCP服务器,您就可以使用自然语言直接从开发环境安全地获取和处理GitLab数据(问题、合并请求和流水线)。例如:
- “获取项目123中问题42的详细信息”
- “创建标题为’修复登录错误’的新问题,描述中包含密码特殊字符”
- “显示gitlab-org/gitlab项目中合并请求15的所有提交”
- “合并请求25中更改了哪些文件?”
- “显示流水线12345中的所有作业”
此功能是实验性的,由功能标志控制,尚未准备好用于生产。
有关完整的分步说明、配置示例和故障排除提示,请参阅GitLab MCP服务器文档。
总结
GitLab Duo Agent平台引入对MCP的支持,实现了前所未有的AI驱动开发工作流程。通过MCP支持,GitLab既充当客户端又充当服务器:
- MCP客户端:GitLab Duo Agent平台可以安全访问外部系统的数据和工具,将丰富的上下文直接带入IDE
- MCP服务器:外部AI工具(如Cursor或Claude Desktop)可以连接到您的GitLab实例,访问项目数据并执行操作,同时保持严格的安全性和隐私性
这种双向支持减少了上下文切换,加速了开发者工作流程,并确保AI能够在整个工具包中提供有意义的协助。