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. 本組頁面
MCP 是什麼
理解 MCP 的 client、server、tools、resources、prompts 和許可權邊界。
GitHub MCP Server
配置並使用 GitHub 官方維護的 MCP server 讀取和操作 GitHub 上下文。
用 MCP 擴充套件 Chat
在 IDE 中配置 MCP server,並讓 Copilot Agent 使用外部工具。
企業 MCP 配置
處理 GHEC data residency、GHES、本地 server、toolsets 和 registry。
3. 推薦接入順序
- 先定義上下文缺口:缺 issue、PR、文件、網頁、資料庫還是內部 API。
- 先接只讀工具:驗證 Copilot 能正確讀取上下文。
- 再開寫工具:只開放具體任務需要的最小 toolset。
- 再做共享配置:團隊級用
.vscode/mcp.json,個人級用 user profile。 - 最後做企業治理: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 個問題:
- 這個 MCP server 解決哪個具體上下文缺口?
- 它的工具是隻讀、寫入、審批,還是高風險操作?
- 它應該放工作區、個人 profile,還是企業 registry?
- 出問題時能否從日誌、許可權、外部系統狀態中定位責任邊界?
透過標準:每個 MCP server 都有明確用途、最小許可權、驗證任務和回復路徑。
官方來源
- About Model Context Protocol (MCP) —— GitHub 官方 MCP 概念頁。
- Extending GitHub Copilot Chat with MCP servers —— GitHub 官方 IDE Chat 擴充套件流程。
- Setting up the GitHub MCP Server —— GitHub 官方 MCP Server 設定。
- Add and manage MCP servers in VS Code —— VS Code 官方 MCP 配置和信任邊界。