共用方式為


使用 MCP 伺服器

模型內容通訊協定 (MCP) 是開放標準,可讓 AI 模型透過統一介面與外部工具和服務互動。 在 Visual Studio 中,MCP 支援可讓您將任何 MCP 相容的伺服器連線到代理程式編碼工作流程,以增強 GitHub Copilot 代理程式模式。

本文將引導您設置 MCP 伺服器,並在 Visual Studio 中以代理模式使用工具。

先決條件

  • Visual Studio 2022 17.14 版 或更新版本。 我們強烈建議使用最新的服務版本 17.14,因為每個版本都會新增 MCP 功能。

MCP 和 Visual Studio 如何擴充 GitHub Copilot 代理程式

Visual Studio 中的 MCP 支援運作方式如下:

  • MCP 用戶端 (例如 Visual Studio) 會連線到 MCP 伺服器,並代表 AI 模型要求動作。
  • MCP 伺服器提供一或多個工具,可透過定義完善的介面公開特定功能。
  • 該協定定義了客戶端和伺服器之間通訊的訊息格式,包括工具發現、呼叫和回應處理。

例如,檔案系統的 MCP 伺服器可能會提供用於讀取、寫入或搜尋檔案和目錄的工具。 官方 GitHub MCP 伺服器 提供了列出儲存庫、建立拉取請求或管理問題的工具。 MCP 伺服器可以在您的電腦上本機執行,也可以遠端託管。 Visual Studio 支援這兩種設定。

藉由標準化此互動,MCP 就不需要在每個 AI 模型與每個工具之間進行自定義整合。 然後,您只需將新的 MCP 伺服器新增至您的工作區即可擴展 AI 助理的功能。 進一步瞭解 MCP 規格

使用 GitHub MCP 伺服器的設定範例

下列逐步解說需要 17.14.9 版或更新版本。

  1. 建立新檔案: <SOLUTIONDIR>\.mcp.json%USERPROFILE%\.mcp.json。 建議您使用 Visual Studio 來編輯此檔案,以便自動套用其 JSON 結構描述。

  2. 將下列內容貼到檔案中 .mcp.json

    {
      "servers": {
        "github": {
          "url": "https://api.githubcopilot.com/mcp/"
        }
      }
    }
    
  3. 儲存檔案。 然後啟動新伺服器上顯示的 CodeLens 資訊,以透過 GitHub 帳戶向此伺服器進行驗證。

  4. 在 Visual Studio 中,選取 GitHub Copilot 聊天視窗中的 詢問 箭號,然後選取 代理程式

    顯示 Copilot 代理程式模式選取器的螢幕擷取畫面。

  5. 選取您要使用的工具;例如, 列出問題

    顯示MCP GitHub 工具的螢幕快照。

  6. 嘗試範例提示: 在 GitHub 上列出指派給我的問題

  7. Copilot 請求允許使用 MCP 伺服器提供給它的工具。 選取 [允許] ,其中包含您要繼續處理的範圍。

    顯示客服專員工具確認選項的螢幕擷取畫面。

支援的MCP功能

Visual Studio 支援下列 MCP 功能:

  • MCP 伺服器傳輸的選項包括本機標準輸入/輸出 (stdio)、伺服器傳送的事件 (sse) 和可串流 HTTP (http)。
  • 功能 (工具、提示、資源、取樣) 中,Visual Studio 現在支援:
    • 工具:透過 Copilot 代理程式模式執行動作和操作
    • 提示:可重複使用的提示範本,可通過參數進行呼叫
    • 資源:透過基於 URI 的資源存取外部資料和上下文
    • 採樣: 增強 AI 模型與您的工具和服務的互動
  • Visual Studio 會使用roots為伺服器提供當前解決方案資料夾。
  • 針對 MCP 授權,Visual Studio 支援使用任何 OAuth 提供者進行遠端伺服器驗證。

尋找 MCP 伺服器

官方 MCP 伺服器儲存庫是參考、官方和社群貢獻伺服器的絕佳起點,展示了 MCP 的多功能性。 您可以探索伺服器的各種功能,例如文件系統作業、資料庫互動和 Web 服務。

MCP 是一個相對較新的標準,生態系統正在迅速發展。 隨著更多開發人員採用 MCP,您預期會看到越來越多的伺服器和工具可供與專案整合。

MCP 伺服器範例

一鍵即可在 Visual Studio 中試用其他流行的 MCP 伺服器。

  • 在 Visual Studio 中安裝 Awesome MCP – 探索並安裝 GitHub Copilot 的自訂提示和指示。
  • Visual Studio 中安裝 MarkItDown MCP – 將各種檔案格式(PDF、Word、Excel、圖像、音訊)轉換為 Markdown。
  • Visual Studio 中安裝 DuckDB 伺服器 – 查詢和分析本地和雲端 DuckDB 資料庫中的資料。
  • Visual Studio 中安裝 MongoDB MCP – 資料庫操作和管理。 執行查詢、管理集合、彙總管線和文件操作。
  • 在 Visual Studio 中安裝 HuggingFace MCP – 存取 Hugging Face Hub 上的模型、資料集和空間。

新增 MCP 伺服器的選項

您有多個選項可在 Visual Studio 中新增 MCP 伺服器。

從網路安裝

在 17.14 版的最新服務版本中,Visual Studio 支援直接安裝 MCP 伺服器。 您可以選取 MCP 伺服器上的 [安裝] 按鈕,以自動將它新增至 Visual Studio 執行個體。


新增 MCP 伺服器的安裝按鈕
  1. 以 JSON 編寫您的 MCP 伺服器配置。

    以下是 HTTP/SSE 伺服器範例:

    {"name":"My Server","type":"http","url":"https://example.com/mcp/"} 
    

    這是一個 stdio 伺服器範例:

    {"name":"My Server","type":"stdio","command":"python","args":["-m","my_mcp.server"]}
    

    必填欄位為:

    領域 Description
    name 伺服器的易記名稱
    type 伺服器連線類型,例如 httpstdio
    url 伺服器的 URL,http 所需的網址
    command 啟動伺服器可執行檔的指令,用於 stdio
    args 傳遞給命令的引數陣列,需要 stdio
  2. URL 編碼 JSON。 您可以使用線上編碼器或瀏覽器控制台。

    以下是瀏覽器主控台範例:

    encodeURIComponent('{"name":"My Server","type":"http","url":"https://example.com/mcp/"}')
    
  3. 將 URL 編碼的 JSON 插入 MCP URI 格式,以形成 Visual Studio 安裝連結。 使用此格式︰

    vsweb+mcp:/install?<ENCODED_JSON>
    
  4. 將 Markdown 徽章新增至您的 GitHub 存放庫或文件。 例如:

    [![Install MCP Server in Visual Studio](https://img.shields.io/badge/Install%20in%20Visual%20Studio-blue?logo=visualstudio)](vsweb+mcp:/install?<ENCODED_JSON>)
    

當使用者選取徽章時,Visual Studio 會開啟 (或提示您開啟徽章)。 MCP 安裝對話方塊隨即出現,其中預先填入您的伺服器詳細資料。


從聊天檢視新增

使用 Visual Studio 17.14.13 版或更新版本時,您可以從 Visual Studio 中的聊天檢視新增 MCP 伺服器。

若要從聊天檢視新增 MCP 伺服器:

  1. 在聊天視窗的工具選擇器中選取綠色加號 (+) 按鈕。

    截取 Visual Studio 聊天工具選擇器中的加號按鈕以新增 MCP 伺服器。

  2. 指定伺服器名稱和連線詳細資料,例如 HTTP 伺服器的 URL 或 stdio 伺服器的命令和引數。

    顯示從聊天檢視新增 MCP 伺服器的螢幕擷取畫面。

建立檔案以管理 MCP 伺服器的組態

如果您還沒有 mcp.json 檔案,請根據您的存放庫、使用者或編輯者需求,在任何支援的位置建立檔案。

若要新增 MCP 伺服器,請在線上找到伺服器的 JSON 組態。 例如,在 MCP 伺服器的 GitHub 儲存庫中找到它。 然後將其粘貼到您的 mcp.json 文件中。

自動偵測 MCP 設定的檔案位置

Visual Studio 也會檢查其他開發環境設定的 MCP 設定。 MCP 伺服器組態會依下列順序從下列目錄讀取:

  1. %USERPROFILE%\.mcp.json
    做為特定使用者的全域 MCP 伺服器組態。 在此新增 MCP 伺服器可讓它載入所有 Visual Studio 解決方案。
  2. <SOLUTIONDIR>\.vs\mcp.json
    特定於 Visual Studio,並僅針對指定的解決方案,針對特定使用者載入指定的 MCP 伺服器。
  3. <SOLUTIONDIR>\.mcp.json
    如果您正在尋找可以在存放庫的原始檔控制中追蹤的 MCP 設定,則效果很好。
  4. <SOLUTIONDIR>\.vscode\mcp.json
    範圍設定為存放庫/解決方案,且通常不受原始檔控制。
  5. <SOLUTIONDIR>\.cursor\mcp.json
    範圍設定為存放庫/解決方案,且通常不受原始檔控制。

其中一些位置需要 .mcp.json,而其他位置則需要 mcp.json

MCP 組態格式

您可以定義 遠端 (URL 和認證) 和 本端 (指令行呼叫) 伺服器。

透過套件管理器呼叫工具是很常見的;例如, npx -y @azure/mcp@latestdocker run ... mcp/github. Visual Studio 會遵循您指定的任何命令,因此您可以視需要釘選版本或傳遞旗標。

格式必須遵循 MCP 規格。 例如,它必須包含伺服器物件的陣列,每個物件都有 namecommandurl、 和 transport

編輯 MCP 組態

若您要將檔案簽入版本控制系統,請先使用現有的 mcp.json 檔案,然後將檔案位置新增至方案總管中的 Solution Items

當檔案以有效的語法儲存時,GitHub Copilot 代理程式會重新啟動並重新載入已設定的伺服器。

顯示將 MCP 組態檔位置新增至解決方案專案的螢幕快照。

工具生命週期

一旦發現或新增伺服器,

  • Visual Studio 會藉由執行握手並查詢工具清單來初始化伺服器。
  • Visual Studio 訂閱 MCP 事件 notifications/tools/list_changed
  • 當該事件觸發時,Visual Studio 會重置任何先前對工具的接受或權限設定(以防止詐騙性攻擊),重新取得工具清單,並即時更新計數/UI。
  • 成功啟用伺服器後,代理程式可以使用工具。 工具預設為停用,且必須手動啟用。
  • 如果移除伺服器,Visual Studio 會立即停止其進程,並從 UI 撤回其所有工具。
  • 如果您編輯伺服器定義,Visual Studio 會終止並重新啟動它,然後重新查詢。

工具審批管理

叫用工具時,Copilot 會要求確認以執行此工具。 原因是工具可能會在您的電腦上本機執行,並執行修改檔案或資料的動作。

工具調用後,在聊天窗格上,使用 允許 下拉選單選項。 您可以自動確認當前會話、當前解決方案或所有未來調用中的特定工具。

顯示管理代理程式工具核准的螢幕快照。

你可以在工具>選項欄裡,全部設定>GitHub>Copilot>工具區塊中重設工具確認選項。

截圖顯示 GitHub Copilot 的工具設定設定。

你可以在工具群組中 >Copilot 區塊下的>選項對話框中重設工具確認選擇。

截圖顯示工具設定。

管理授權

Visual Studio 現在支援根據 MCP 授權規格,使用任何 OAuth 提供者進行遠端伺服器驗證。 此支援是與 Visual Studio 金鑰鏈整合的補充。

若要管理 MCP 伺服器的驗證:

  1. .mcp.json 檔案中,從 CodeLens 選取 管理驗證 為該伺服器。

  2. 在瀏覽器快顯對話框中,為該伺服器提供必要 OAuth 提供者的認證。

MCP 指令提示和提示模板

MCP 伺服器可以提供可重複使用的提示模板,幫助您更有效地與語言模型互動。 這些提示是針對特定任務量身定制的,並且可以包含可自訂的論點。

使用 MCP 提示

若要參考來自 MCP 伺服器的提示:

  1. 選取 + 在聊天中新增參考
  2. 選取提示>MCP 提示
  3. 選擇提示,然後選取 [插入提示]。

您可以在將某些提示插入聊天之前自訂其參數。 這些稱為提示範本。

例: GitHub MCP 伺服器提供分析拉取請求、產生提交訊息和審查程式碼變更的提示。

在 Visual Studio 中安裝 GitHub MCP

MCP 資源和資源範本

MCP 資源為語言模型提供上下文,例如檔案、資料庫模式或應用程式特定資料。 每個資源都有一個唯一的 URI,您可以在聊天中參考。

使用 MCP 資源

在 Copilot 聊天中使用主題標籤 (#) 後面接著資源 URI 來參考 MCP 資源。

對於具有引數的資源 (資源範本):

  1. 請在聊天中選取+ 新增參考
  2. 選取 MCP 資源
  3. 選擇您的資源,填寫任何必要的引數,然後選取 [新增資源]。

例: Azure DevOps MCP 伺服器會公開專案規劃工作的工作專案資源、短期衝刺資訊和小組容量數據。

在 Azure DevOps MCP Visual Studio 中安裝

例: Figma MCP 伺服器提供對設計元件資源、樣式指南和設計規範的存取。

在 Visual Studio 中安裝 Figma MCP

MCP 取樣

取樣允許 MCP 伺服器代表您進行 LLM 呼叫,從而實現更複雜的多步驟操作。 如果您的 MCP 伺服器提供取樣,Visual Studio 會自動支援取樣。

當 Copilot 需要進行取樣呼叫時,您會看到確認對話方塊。 在操作繼續之前查看詳細資訊並批准,確保您保持對自動化操作的控制。

例: Playwright MCP 伺服器使用取樣,根據應用程式的 DOM 結構和使用者流程產生測試案例。

在 Visual Studio 中安裝 Playwright MCP

常見問題

身為系統管理員,如何控制在 Visual Studio 使用者的代理程式模式中使用 MCP 伺服器?

系統管理員的 GitHub Copilot 儀錶板上的 GitHub 原則設定會控管 Visual Studio 中的代理程式模式和 MCP 使用方式。 如果系統管理員關閉此設定,則該訂用帳戶下的使用者無法使用代理程式模式,或連線到 Visual Studio 中的 MCP 伺服器。

如需詳細資訊,請參閱 管理企業中 GitHub Copilot 的原則和功能