【译】借助提示词、资源和采样,在 Visual Studio 中充分利用 MCP

我们很高兴地宣布,Visual Studio 现已支持 MCP 提示词、资源和采样功能(很快还会推出更多功能!),通过从您的工程技术栈中引入更多上下文信息来增强您的 Copilot 使用体验。这些强大的新功能实现了与您喜爱的工具和服务的更深度集成,让您的开发工作流程更智能、更具上下文感知能力。

让我们深入探讨这些功能中的每一个,并结合特定的 MCP 服务器举例说明,它们确实能提升您的 AI 编程体验。

MCP 资源和资源模板:无缝访问外部数据

MCP 还为服务器向客户端暴露资源提供了一种标准化方式。资源使服务器能够共享为语言模型提供上下文的数据,例如文件、数据库模式或特定于应用程序的信息。每个资源都通过统一资源标识符(URI)进行唯一标识,这让您能从 MCP 服务器中获得更多价值,并直接在 IDE 中获取上下文。

示例:Azure DevOps 工作项

在使用 Azure DevOps 时,您现在可以在聊天对话中直接引用工作项、用户故事和项目数据。Azure DevOps MCP 服务器会公开工作项模板、冲刺信息和团队能力数据等资源,Copilot 可以利用这些资源提供有关项目规划和开发任务的更多上下文建议。

使用 MCP 资源

要使用任何可供您使用的 MCP 资源,请在 Copilot 聊天中引用它们,方式与引用任何其他上下文内容相同 ------ 在资源URI前加上井号(#)。

动态内容的资源模板

就像提示词一样,MCP 资源可以包含参数,您可以填写这些参数来根据自己的特定需求自定义资源。这些被称为资源模板。配置方法如下:

- 使用聊天中的 + Reference 按钮

- 从菜单中选择 MCP resource 选项

- 选择您的资源模板并填写所有必填参数

- 点击 Add Resource,使该 MCP 资源可在聊天中被引用

示例:Figma 设计上下文

对于与设计系统紧密合作的团队而言,Figma MCP 服务器允许您在开发对话中直接引用设计组件、样式指南和设计规范。这通过让 Copilot 随时获取设计上下文,弥合了设计与开发之间的差距。

MCP 提示词和提示词模板:借助专门的指令获得更优质的回应

MCP 提示词允许服务器提供结构化的消息和与语言模型交互的指令,这些消息和指令会根据相关服务器的使用场景和内容进行定制,以确保您能针对特定任务获得最佳响应。

如何使用 MCP 提示词

Visual Studio 现在允许您发现可用的提示词、检索其内容,并提供参数来对它们进行自定义。要引用可能来自 MCP 服务器的任何提示词,请执行以下操作:

- 点击聊天中的 + Reference 按钮

- 选择 Prompts 选项

- 从弹出菜单中选择 MCP prompts

您会看到一个弹窗,在那里您可以选择想要使用的提示词,然后点击 Insert Prompt,将该提示词中的文本包含到聊天中。

带有自定义参数的提示模板

一些 MCP 提示会包含可填写的参数,以便您根据自身特定需求自定义提示 ------ 这些被称为提示模板。如果您在模态对话框中选择了包含参数的提示,那么在将该提示插入聊天内容之前,您可以指定这些参数的值。

示例:GitHub 集成

想象一下,您正在进行代码审查,并且希望利用 GitHub 的专用提示词。借助 GitHub MCP 服务器,您可以使用专为分析拉取请求、生成提交信息或审查代码变更而设计的提示词。这些提示词了解 GitHub 的上下文,能够提供比通用提示词更具针对性的帮助。

MCP 采样:赋能高级智能体行为

MCP 中的采样功能允许服务器通过让大语言模型(LLM)调用嵌套在其他 MCP 服务器功能内部来实现智能体行为。这一强大功能使 MCP 服务器能够向大语言模型发出请求,而非像通常的工作流程那样由大语言模型向 MCP 服务器请求内容。Visual Studio 现在支持这一高级功能,让您的 MCP 服务器能够代表您执行更复杂、多步骤的任务。

采样是如何工作的

要利用采样功能,无需进行任何配置 ------ 只要您的 MCP 服务器支持该功能,Visual Studio 也会支持。当 Copilot 判定某个请求能从采样调用中获益时,您会看到一个包含该请求所有详情的对话框,在后台执行任何操作之前,会请您确认是否进行采样调用。这能确保您对所有自动操作拥有完全控制权。

示例:Playwright 测试场景

Playwright MCP 服务器可以利用采样来根据您应用程序的当前状态自动生成全面的测试场景。当您寻求测试方面的帮助时,它可能会对您应用程序的 DOM 结构进行采样,分析用户流程,然后生成有针对性的测试脚本,以覆盖关键的用户路径 ------ 所有这些都通过您批准的智能采样调用来完成。

入门指南

这些新的 MCP 功能现已在 Visual Studio 中可用。为了充分利用这些功能,我们建议您探索与您的开发工作流程相匹配的 MCP 服务器。每个服务器都提供独特的提示、资源,以及可能的采样功能,这些都能显著提升您的 Copilot 体验。

在 Visual Studio 中一键尝试其他一些热门的 MCP 服务器:

- Awesome MCP Server -- 发现并安装适用于 GitHub Copilot 的自定义提示和指令。

- MarkItDown MCP Server -- 将多种文件格式(PDF、Word、Excel、图片、音频)转换为 Markdown 格式。

- DuckDB Server -- 在本地和云端的 DuckDB 数据库中查询并分析数据。

- MongoDB MCP Server -- 数据库操作与管理。执行查询、管理集合、聚合管道和文档操作。

- HuggingFace MCP Server -- 访问 Hugging Face Hub 上的模型、数据集和空间。

通过 MCP 实现外部工具和服务的无缝集成,是打造真正互联互通的开发环境的重要一步。这些功能将整个工程技术栈的上下文直接带入您的 IDE,有助于 Copilot 为您的日常开发任务提供更准确、更相关且更具可操作性的辅助。

请给我们您的反馈!

我们很期待继续改进 VS 中的 MCP 体验,您的意见非常重要 ------ 请给我们反馈,让我们知道您接下来希望看到哪些功能!

原文链接:https://devblogs.microsoft.com/visualstudio/mcp-prompts-resources-sampling/