GitLab Duo Agent平台新增支持模型上下文协议
GitLab的MCP支持增强了AI驱动的开发工作流程,将Duo Agent平台连接为MCP客户端,并作为MCP服务器为外部AI助手提供服务。
人工智能(AI)可以通过生成代码、调试和自动化常规任务来加速开发。但仅凭自身能力,AI受限于训练数据或公共资源,而开发者通常需要访问内部系统,如项目跟踪器、仪表板、数据库、Figma中的设计文件或Google Drive中的文档。
首次在GitLab Duo Agent平台中引入的模型上下文协议(MCP)为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。步骤包括:
-
为您的群组启用MCP - 在GitLab群组设置中启用MCP支持,以允许Duo功能连接到外部系统。
-
设置MCP服务器 - 在mcp.json文件中以JSON格式定义MCP服务器。在此位置创建文件:
Windows:
C:\Users\<username>\AppData\Roaming\GitLab\duo\mcp.json
所有其他操作系统:~/.gitlab/duo/mcp.json
|
|
- 安装和配置IDE - 确保安装Visual Studio Code以及GitLab Workflow扩展(6.28.2或更高版本支持基本MCP功能,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集成,该包尚未经过独立验证。这仅用于演示和学习目的。对于生产用途,请彻底评估包或使用官方替代方案。
要开始使用,请克隆项目,使用npm install
安装依赖项,然后使用npm start
启动本地MCP服务器。使用上述配置创建~/.gitlab/duo/mcp.json
文件,更新文件路径以匹配您的本地设置,并重新启动VS Code以加载MCP配置。可选地,添加您的AWS凭据以体验实时云集成。
在此处克隆项目:[GitLab Duo MCP演示](GitLab Duo MCP Demo)。
演示项目的示例提示
配置示例项目后,您可以直接从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服务器
-
启用功能标志
在您的GitLab实例中激活mcp_server
和oauth_dynamic_client_generation
。 -
将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能够在您的整个工具包中提供有意义的协助。
立即尝试
尝试GitLab Duo Agent平台的测试版并探索MCP功能。