如何在 VS Code 中将 MCP 与 GitHub Copilot 集成
模型上下文协议 (MCP)是一个Anthropic 开发的开放标准简化和标准化大型语言模型 (LLM) 与外部工具、数据库和 API 的集成方式。将 MCP 视为 AI 模型的“USB-C 端口”:就像 USB-C 统一设备连接一样,MCP 旨在为 AI 与工具交互创建通用接口。
最初是为了增强克劳德的与外部系统交互的能力,MCP2024 年初开源促进全行业的采用。通过公开协议,Anthropic 的目标是建立一个用于工具通信的共享基础设施,最大限度地减少定制集成的需求,同时促进模块化,互操作性, 和开发人员生产力在人工智能应用中。
通过 MCP,语言模型可以:
- 动态调用API并获取实时数据
- 使用一致的方式与数据库和第三方工具进行交互
格式 - 避免硬编码逻辑,使模型行为更加灵活
可维护的
简而言之,MCP 正在重塑 AI 模型融入现实世界的方式,从孤立的整体系统转变为灵活的、具有工具感知能力的代理,可以使用标准化方法进行推理、检索和操作。
先决条件
在开始之前,请确保您具备以下条件:
Visual Studio 代码(VS 代码): 更新到最新版本。
GitHub 帐户:可以访问 GitHub Copilot(免费、专业版、商业版或企业版计划)。
GitHub Copilot 扩展:在 VS Code 中安装并启用了 GitHub Copilot 和 GitHub Copilot Chat 扩展。
Node.js:安装了最新的 LTS 版本(检查node -v在您的终端中)。从下载Node.js 官方网站如果需要的话。
Python:为 PIP 包安装(可选,具体取决于 MCP 服务器)。从下载Python 官方网站如果需要的话。
git:安装用于版本控制和存储库管理。
第 1 步:设置
环境
更新 VS 代码:
打开 VS Code 并通过“帮助”>“检查更新”菜单检查更新。
确保您运行的是最新的稳定版本或 Insiders 版本以支持 MCP 集成。
登录 GitHub:
在 VS Code 中,转到活动栏中的“帐户”菜单。
选择“通过 GitHub 登录以使用 GitHub Copilot”,然后按照提示使用您的 GitHub 帐户进行身份验证。如果您没有 Copilot 订阅,您将注册 Copilot 免费计划,但完成次数和聊天互动有限。
安装 Node.js 和 Python:
通过运行验证 Node.js 安装node -v在您的终端中。如果不存在,请安装最新的 LTS 版本。
通过运行验证 Python 安装python --version或者python3 --version。如果基于 PIP 的 MCP 服务器需要,请安装 Python。
MCP 支持多种语言和包(例如,TypeScript、Docker、C#),但本指南重点关注用于 NPX 包的 Node.js 和用于 PIP 包的 Python。
安装 GitHub Copilot 扩展:
在 VS Code 中,转到扩展视图 (Ctrl+Shift+X或者Cmd+Shift+X在 macOS 上)。
搜索“GitHub Copilot”并安装GitHub 副驾驶和GitHub 副驾驶聊天扩展。
安装后重新启动 VS Code。
步骤 2:在 VS Code 中配置 MCP
MCP 服务器增强了 GitHub Copilot 的功能代理模式通过提供用于存储库管理、文件操作或 API 调用等任务的工具。以下是在 VS Code 中配置 MCP 服务器的方法:
选择 MCP 服务器:
参观MCP 文档或者GitHub 的 MCP 服务器存储库查看支持的服务器列表(例如,GitHub MCP 服务器、Microsoft Playwright MCP 服务器)。
对于本指南,我们将使用GitHub MCP 服务器用于与存储库相关的操作,例如创建问题或比较文件。
安装 MCP 服务器:
在 VS Code 中打开终端(Ctrl+`(next 1) or在 macOS 上为 Cmd+`)。
对于 GitHub MCP 服务器,请按照官方存储库中的设置说明进行操作(例如,npm install @github/copilot-language-server对于基于 Node.js 的服务器)。
或者,使用 VS Code 界面:
打开 GitHub Copilot 聊天视图 (Ctrl+Alt+I或者Cmd+Alt+I)。
选择代理模式从聊天模式下拉列表中。

如果出现提示,请单击“安装 MCP 服务器”按钮(例如,对于 Azure MCP 服务器或 GitHub MCP 服务器)。
在工作区设置中配置 MCP:
创建一个.vscode/mcp.json工作区文件夹中的文件来定义 MCP 服务器设置。例子:
复制
{
"servers": [
{
"name": "GitHub MCP Server",
"transport": "stdio",
"command": ["node", "./node_modules/@github/copilot-language-server/dist/language-server.js", "--stdio", "true"]
}
]
}
或者,将 MCP 服务器设置添加到您的用户设置(Ctrl+,或者Cmd+,> 搜索“MCP”):
复制
{
"mcp.servers": [
{
"name": "GitHub MCP Server",
"transport": "stdio",
"command": ["node", "./node_modules/@github/copilot-language-server/dist/language-server.js", "--stdio", "true"]
}
]
}
确保command指向 MCP 服务器可执行文件的正确路径。
启用 MCP 工具:
在副驾驶聊天视图中,切换到代理模式。
单击工具按钮并刷新工具列表。应出现已安装的 MCP 服务器(例如“GitHub MCP 服务器”)。如果需要,将其打开。
第 3 步:编写和测试 MCP 代码
MCP 使 Copilot 能够执行创建 GitHub 问题或比较文件等操作。以下是编写和测试 MCP 相关交互的方法:
编写 MCP 提示:
在副驾驶聊天视图中,确保代理模式被选中。
- 迅速的:“创建一个 GitHub 问题以添加新的
功能到我的存储库。” - 迅速的:“比较我的
ServerConfig.json
具有类似的公共 GitHub 存储库配置并建议
改进。 #文件:ServerConfig.json”
使用添加上下文添加上下文按钮或变量,例如#file或者#codebase。
测试 MCP 交互:
在 Copilot Chat 输入字段中输入提示,然后按 Enter。
Copilot 将调用 MCP 服务器的工具(例如,用于创建问题的 GitHub API)并在聊天视图中显示结果。
查看输出(例如,在存储库中创建的新问题或文件比较的差异)。
通过选择接受更改保持或者接受在聊天视图中,或者如果不正确则拒绝它们。
MCP 交互的示例 Node.js 代码:
如果开发自定义 MCP 服务器,请使用 MCP SDK。下面是一个基本的 Node.js 示例,用于创建用于列出存储库文件的工具:
复制
const { MCPServer } = require('@anthropic/mcp-sdk');
const server = new MCPServer({
transport: 'stdio',
tools: [
{
name: 'list_repository_files',
description: 'Lists files in a GitHub repository',
execute: async (params) => {
const { repo } = params;
// Simulated GitHub API call
return ['index.js', 'package.json', 'README.md'];
},
},
],
});
server.start();
将此另存为mcp-server.js并运行它node mcp-server.js配置 VS Code 以使用此服务器,如步骤 2 所示。
MCP 交互的 Python 代码示例:
对于基于 Python 的 MCP 服务器,请使用 Python MCP SDK:
复制
from mcp_sdk import MCPServer
server = MCPServer(
transport="stdio",
tools=[
{
"name": "create_github_issue",
"description": "Creates a GitHub issue in a repository",
"execute": lambda params: f"Issue created in {params['repo']} with title: {params['title']}",
}
],
)
server.start()span>Use async/await for asynchronous code.
另存为mcp_server.py并运行python mcp_server.py。更新.vscode/mcp.json文件指向此脚本。
第 4 步:高级功能和定制
定制说明:
创建一个.github/copilot-instructions.md文件以提供特定于项目的上下文(例如,编码标准、首选库)。例子:
复制
# Copilot Instructions
This project is a web application built with Node.js and Express.
- Use camelCase for variable names.
- Prefer async/await over callbacks.
- Use the GitHub MCP server for repository actions.
Copilot 在代理模式下自动应用这些指令。
动态工具更新:
MCP 服务器可以使用列表更改事件动态更新工具。修改您的 MCP 服务器代码以在添加新工具时发出更新。

远程 MCP 服务器:
在 Azure 容器应用等平台上托管 MCP 服务器以进行远程访问。将 VS Code 配置为通过服务器发送事件 (SSE) 而不是 stdio 进行连接。
及时工程:
使用特定提示以获得更好的结果。示例:“生成 Node.js 函数以使用 GitHub MCP 服务器从 API 获取数据。
第 5 步:故障排除和最佳实践
故障排除:
- 未检测到 MCP 服务器:检查
.vscode/mcp.json文件以获得正确的命令路径。跑步
MCP: List Servers从命令面板进行验证。 - 没有建议:确保代理模式处于活动状态并且
MCP 服务器在“工具”菜单中打开。 - 聊天视图中的错误:选择错误通知
并选择“显示输出”以查看服务器日志。 - 身份验证问题:重新验证您的 GitHub
如果 Copilot 连接失败,请通过帐户菜单创建帐户。
最佳实践:
- 使用受信任的 MCP 服务器:仅安装服务器
核实来源,避免安全风险。 - 保持提示具体:将任务分解为更小的任务,
清晰的提示(例如,“生成一个函数”而不是“构建一个函数”)
应用程序”)。 - 版本控制说明: 店铺
.github/copilot-instructions.md在您的存储库中进行共享
与你的团队。 - 测试变更:始终检查和测试 Copilot 的
在接受之前建议,因为 MCP 操作可能会修改文件或
存储库。
结论
在 VS Code 中将模型上下文协议 (MCP) 与 GitHub Copilot 集成,可释放强大的 AI 驱动功能,从而实现与 GitHub 存储库、API 和外部工具的无缝交互。通过遵循本指南,您已了解如何设置环境、配置 MCP 服务器、编写和测试 MCP 交互以及利用自定义指令等高级功能。借助 MCP 的标准化接口,您可以扩展 Copilot 的代理模式以满足您的项目需求,从而提高生产力和模块化程度。
如需进一步探索,请检查以下资源:
尝试不同的 MCP 服务器和提示,根据您的工作流程定制 Copilot,并与社区分享您的反馈,以帮助塑造 AI 驱动开发的未来!
