Help us learn about your current experience with the documentation. Take the survey.

将 Model Context Protocol 与 AI 原生功能结合使用

  • Tier: Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
  • Status: Experiment
  • Available on GitLab Duo with self-hosted models: Not supported

Model Context Protocol (MCP) 为 GitLab Duo 功能提供了 安全连接到不同外部数据源和工具的标准化方式。

以下功能可以作为 MCP 客户端,连接到并运行 来自 MCP 服务器的外部工具:

这种连接性意味着这些功能现在可以使用 GitLab 外部的上下文和信息来 为客户生成更强大的答案。

要使用带有 MCP 的功能:

  • 为您的群组开启 MCP。
  • 配置您希望该功能连接到的 MCP 服务器。

点击演示,请参阅 Duo Agent Platform - MCP 集成

先决条件

在使用带有 MCP 的 GitLab Duo 功能之前,您必须:

为您的群组开启 MCP

要为您的群组开启或关闭 MCP:

  1. 在左侧边栏,选择 Search or go to 并找到您的群组。
  2. 选择 Settings > GitLab Duo
  3. 选择 Change configuration
  4. Model Context Protocol 下,选择或清除 Turn on Model Context Protocol (MCP) support 复选框。
  5. 选择 Save changes

配置 MCP 服务器

要将 MCP 与 Language Server 集成,请设置工作区配置、用户配置或两者。 GitLab Language Server 会加载并合并配置文件。

版本兼容性

GitLab Workflow extension version MCP features available
6.28.2 - 6.35.5 Basic MCP support, with no workspace or user configuration
6.35.6 and later Full MCP support, including workspace and user configuration

创建工作区配置

工作区配置仅适用于此项目,并覆盖同一服务器的任何用户配置。

要设置工作区配置:

  1. 在您的项目工作区中,创建文件 <workspace>/.gitlab/duo/mcp.json
  2. 使用 configuration format,添加您的功能所连接的 MCP 服务器的信息。
  3. 保存文件。

创建用户配置

用户配置设置适用于个人工具和常用服务器。它们适用于所有 工作区,但同一服务器的任何工作区设置都会覆盖用户配置。

要设置用户配置:

  1. 在 VS Code 中,通过按下 Control+Shift+P 或 Command+Shift+P 打开命令面板。
  2. 运行命令 GitLab MCP: Open User Settings (JSON) 来创建并打开用户配置文件。
  3. 使用 configuration format,添加您的功能所连接的 MCP 服务器的信息。
  4. 保存文件。

或者,在此位置手动创建文件:

  • Windows: C:\Users\<username>\AppData\Roaming\GitLab\duo\mcp.json
  • All other operating systems: ~/.gitlab/duo/mcp.json

配置格式

两个配置文件使用相同的 JSON 格式:

{
  "mcpServers": {
    "server-name": {
      "command": "path/to/server",
      "args": ["--arg1", "value1"],
      "env": {
        "ENV_VAR": "value"
      }
    },
    "http-server": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

示例 MCP 服务器配置

使用以下代码示例帮助您创建 MCP 服务器配置文件。

有关更多信息示例,请参阅 MCP example servers documentation。 其他示例服务器包括 Smithery.aiAwesome MCP Servers

本地服务器

{
  "mcpServers": {
    "enterprise-data-v2": {
      "command": "node",
      "args": ["src/server.js"],
      "cwd": "</path/to/your-mcp-server>"
    }
  }
}

远程服务器

{
  "mcpServers": {
    "aws-knowledge": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://knowledge-mcp.global.api.aws"
      ]
    }
  }
}

HTTP 服务器

{
  "mcpServers": {
    "local-http-server": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

将 GitLab Duo 功能与 MCP 结合使用

当 GitLab Duo 功能想要调用外部工具来回答 您提出的问题时,您必须先审查该工具, 然后该功能才能使用该工具:

  1. 打开 VS Code。

  2. 在左侧边栏,选择 GitLab Duo Agent Platform (Beta) ( duo-agentic-chat )。

  3. 选择 ChatFlows 选项卡。

  4. 在文本框中输入问题或指定代码任务。

  5. 提交问题或代码任务。

  6. 出现 Tool Approval Required 对话框。

    每当 GitLab Duo 功能尝试连接 到该工具时,您都必须审查该工具, 即使您之前已经审查过该工具。

  7. 批准或拒绝该工具:

    • 如果您批准该工具,该功能将连接到该工具并生成答案。

    • 可选:对于 Agentic Chat,如果您拒绝该工具,将出现 Provide Rejection Reason 对话框。在文本框中输入拒绝原因,然后选择 Submit Rejection

反馈

此功能是实验性的。您的反馈对我们 改进它很有价值。在 issue 552164 中分享您的经验、建议或问题。

相关主题

故障排除

有关故障排除信息,请参阅 troubleshooting the GitLab Workflow extension for VS Code