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

GitLab Duo Agent平台集成模型上下文协议(MCP),实现AI与内部工具的安全双向连接,支持在IDE中通过自然语言访问Jira、Slack等系统数据,显著提升开发效率并减少上下文切换。

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

  1. 启用功能预览 - 在群组设置的左侧边栏中导航到GitLab Duo,然后在功能预览部分勾选"启用实验性和测试版GitLab Duo功能"
  2. 为群组启用MCP - 在GitLab群组设置中启用MCP支持,允许Duo功能连接到外部系统
  3. 设置MCP服务器 - 在mcp.json文件中以JSON格式定义MCP服务器
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "mcpServers": {
    "server-name": {
      "type": "stdio",
      "command": "path/to/server",
      "args": ["--arg1", "value1"],
      "env": {
        "ENV_VAR": "value"
      }
    }
  }
}
  1. 安装和配置IDE - 确保安装VSCodium或Visual Studio Code以及GitLab Workflow扩展(6.28.2或更高版本支持基本MCP功能,6.35.6或更高版本支持完整功能)

示例项目

我们分享作为演示基础的项目,允许您在自有环境中重现相同流程并动手探索GitLab的MCP功能。该项目在模拟企业设置中演示MCP功能,使用来自Jira、Slack和Grafana的模拟数据建模事件响应场景。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "mcpServers": {
    "enterprise-data-v2": {
      "type": "stdio", 
      "command": "node",
      "args": ["src/server.js"],
      "cwd": "/path/to/your/project"
    }
  }
}

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

配置步骤:

  1. 启用功能标志 - 在GitLab实例中激活mcp_serveroauth_dynamic_client_registration
  2. 将GitLab MCP服务器配置添加到AI工具
 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范围的授权,在浏览器中完成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能够在整个工具包中提供有意义的协助。

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