将 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 功能之前,您必须:
-
安装 Visual Studio Code (VS Code)。
-
设置 GitLab Workflow extension for VS Code。
- MCP 支持需要版本 6.28.2 及更高版本。
- 工作区和用户配置功能需要版本 6.35.6 及更高版本。
-
根据需要满足功能先决条件:
为您的群组开启 MCP
要为您的群组开启或关闭 MCP:
- 在左侧边栏,选择 Search or go to 并找到您的群组。
- 选择 Settings > GitLab Duo。
- 选择 Change configuration。
- 在 Model Context Protocol 下,选择或清除 Turn on Model Context Protocol (MCP) support 复选框。
- 选择 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 |
创建工作区配置
工作区配置仅适用于此项目,并覆盖同一服务器的任何用户配置。
要设置工作区配置:
- 在您的项目工作区中,创建文件
<workspace>/.gitlab/duo/mcp.json。 - 使用 configuration format,添加您的功能所连接的 MCP 服务器的信息。
- 保存文件。
创建用户配置
用户配置设置适用于个人工具和常用服务器。它们适用于所有 工作区,但同一服务器的任何工作区设置都会覆盖用户配置。
要设置用户配置:
- 在 VS Code 中,通过按下 Control+Shift+P 或 Command+Shift+P 打开命令面板。
- 运行命令
GitLab MCP: Open User Settings (JSON)来创建并打开用户配置文件。 - 使用 configuration format,添加您的功能所连接的 MCP 服务器的信息。
- 保存文件。
或者,在此位置手动创建文件:
- 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.ai 和 Awesome 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 功能想要调用外部工具来回答 您提出的问题时,您必须先审查该工具, 然后该功能才能使用该工具:
-
打开 VS Code。
-
在左侧边栏,选择 GitLab Duo Agent Platform (Beta) ( )。
-
选择 Chat 或 Flows 选项卡。
-
在文本框中输入问题或指定代码任务。
-
提交问题或代码任务。
-
出现 Tool Approval Required 对话框。
每当 GitLab Duo 功能尝试连接 到该工具时,您都必须审查该工具, 即使您之前已经审查过该工具。
-
批准或拒绝该工具:
-
如果您批准该工具,该功能将连接到该工具并生成答案。
-
可选:对于 Agentic Chat,如果您拒绝该工具,将出现 Provide Rejection Reason 对话框。在文本框中输入拒绝原因,然后选择 Submit Rejection。
-
反馈
此功能是实验性的。您的反馈对我们 改进它很有价值。在 issue 552164 中分享您的经验、建议或问题。
相关主题
故障排除
有关故障排除信息,请参阅 troubleshooting the GitLab Workflow extension for VS Code。