GitLab Duo Agent平台新增模型上下文协议支持,革新AI开发工作流

GitLab Duo Agent平台新增对模型上下文协议(MCP)的支持,实现AI与内部工具的安全连接。通过MCP客户端和服务器的双向工作流,开发者可在IDE中直接访问Jira、Slack等系统数据,显著提升开发效率并减少上下文切换。

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。步骤包括:

  1. 启用功能预览 - 在群组设置中,导航到左侧边栏中的GitLab Duo,然后在功能预览部分勾选"启用实验性和测试版GitLab Duo功能"
  2. 为群组启用MCP - 在GitLab群组设置中启用MCP支持,允许Duo功能连接到外部系统
  3. 设置MCP服务器 - 在mcp.json文件中以JSON格式定义MCP服务器

创建文件位置:

  • Windows:C:\Users\<username>\AppData\Roaming\GitLab\duo\mcp.json
  • 所有其他操作系统:~/.gitlab/duo/mcp.json

对于工作区特定配置,请参阅工作区配置设置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{
  "mcpServers": {
    "server-name": {
      "type": "stdio",
      "command": "path/to/server",
      "args": ["--arg1", "value1"],
      "env": {
        "ENV_VAR": "value"
      }
    },
    "http-server": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    },
    "sse-server": {
      "type": "sse",
      "url": "http://localhost:3000/mcp/sse"
    }
  }
}
  1. 安装和配置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服务扩展设置以进行云集成。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  "mcpServers": {
    "enterprise-data-v2": {
      "type": "stdio", 
      "command": "node",
      "args": ["src/server.js"],
      "cwd": "/path/to/your/project"
    },
    "aws-knowledge": {
      "type": "stdio",
      "command": "npx",
      "args": ["mcp-remote", "https://knowledge-mcp.global.api.aws"]
    },
    "aws-console": {
      "type": "stdio",
      "command": "npx", 
      "args": ["@imazhar101/mcp-aws-server"],
      "env": {
        "AWS_REGION": "YOUR_REGION",
        "AWS_PROFILE": "default"
      }
    }
  }
}

安全说明: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是否全局可访问

配置步骤:

  1. 启用功能标志 - 在GitLab实例中激活mcp_serveroauth_dynamic_client_registration

  2. 将GitLab MCP服务器配置添加到AI工具 - 将MCP服务器条目添加到工具的配置文件中(Cursor为mcp.json,Claude Desktop为claude_desktop_config.json):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "mcpServers": {
    "GitLab": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://<your-gitlab-instance>/api/v4/mcp",
        "--static-oauth-client-metadata",
        "{\"scope\": \"mcp\"}"
      ]
    }
  }
}
  1. 注册和身份验证 - 首次连接时,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能够在整个工具包中提供有意义的协助。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计