AI 程式設計教程中文版
官方教程中文版MCP 與外部工具

MCP 與外部工具

把 GitHub MCP Server、IDE MCP 配置、toolsets、registry 和企業部署邊界串成可落地流程。

MCP(Model Context Protocol,模型上下文協議)不是“給 Copilot 裝更多外掛”,而是把外部系統以可發現、可授權、可審計的工具形式接入 agent。真正要管住的是三件事:誰提供工具、工具能訪問什麼、結果怎麼驗證。

這組頁面按 GitHub 和 VS Code 官方文件整理 MCP 的實戰邊界:從概念、GitHub MCP Server、IDE Chat 使用,到 enterprise、toolsets 和 registry。

閱讀目標:讀完本組後,你應該能判斷一個外部系統是否應該接 MCP、應該放工作區還是個人配置、應該開放哪些 toolsets、以及上線前要留哪些審計證據。

1. 一張圖看清 MCP

flowchart TD
    User["開發者任務"] --> Chat["Copilot Chat / Agent"]
    Chat --> Client["MCP client"]
    Client --> Server["MCP server"]
    Server --> Tools["Tools"]
    Server --> Resources["Resources"]
    Server --> Prompts["Prompts"]
    Tools --> External["GitHub / 文件 / API / 資料庫 / 內部系統"]
    External --> Evidence["結果、日誌、許可權、錯誤資訊"]
    Evidence --> Chat

    style Chat fill:#dbeafe,stroke:#2563eb,stroke-width:2px
    style Server fill:#dcfce7,stroke:#16a34a,stroke-width:2px
    style External fill:#fef3c7,stroke:#d97706,stroke-width:2px

2. 本組頁面

3. 推薦接入順序

  1. 先定義上下文缺口:缺 issue、PR、文件、網頁、資料庫還是內部 API。
  2. 先接只讀工具:驗證 Copilot 能正確讀取上下文。
  3. 再開寫工具:只開放具體任務需要的最小 toolset。
  4. 再做共享配置:團隊級用 .vscode/mcp.json,個人級用 user profile。
  5. 最後做企業治理:registry、server access、toolsets、PAT/OAuth、日誌和回復。

不要為了“能力多”一次性啟用所有 server。MCP 越多,agent 可做的動作越多,排障和審計成本也越高。

4. 上線前檢查

  • Server 來源可信,publisher、映象、指令碼、網路目標都能解釋。
  • 工具清單明確,不預設啟用 all
  • 寫操作需要人工確認或有回復路徑。
  • Token 不寫進儲存庫,使用 input variables、env 或受控憑據。
  • 組織策略允許 MCP,且成員知道哪些工具被停用。
  • 日誌能定位問題來自 Copilot、MCP server 還是外部系統。
深讀:MCP 不是 prompt engineering 的替代品

Prompt engineering 解決的是“怎麼把任務說清楚”。MCP 解決的是“agent 能不能拿到外部系統的真實上下文並執行工具”。

如果沒有穩定任務目標,MCP 只會放大錯誤動作;如果沒有許可權邊界,MCP 會把一次 Chat 變成跨系統操作風險。

本組自檢

讀完整組後,回答 4 個問題:

  1. 這個 MCP server 解決哪個具體上下文缺口?
  2. 它的工具是隻讀、寫入、審批,還是高風險操作?
  3. 它應該放工作區、個人 profile,還是企業 registry?
  4. 出問題時能否從日誌、許可權、外部系統狀態中定位責任邊界?

透過標準:每個 MCP server 都有明確用途、最小許可權、驗證任務和回復路徑。

官方來源

接下來去哪

本頁目錄