MCP Server 是什麼?它在 Agent 工作流程中扮演什麼角色
MCP(Model Context Protocol)Server 不是單獨的微服務,而是 AI 編碼 Agent 與外部工具(Git、檔案系統、資料庫、CLI 指令等)之間的標準化通訊層。當你啟動一個 Agent 說「幫我重構這個模組並執行測試」時,Agent 本身沒有能力直接執行 git push 或 npm test——它需要 MCP Server 來代理這些操作。
在典型的 Agent 工作流程中,MCP Server 承擔三個責任:
- 能力註冊:告訴 Agent 目前環境提供了哪些工具(例如 read_file、write_file、run_command、search_web)以及每個工具的入參、出參格式。
- 安全沙箱:Agent 發來的工具呼叫請求會先經過 MCP Server 的權限校驗,例如只允許讀取特定目錄、禁止執行高風險指令。
- 結果回傳:工具執行後的輸出(檔案內容、指令 stdout/stderr、回傳錯誤)會被格式化為結構化的訊息,讓 Agent 能理解並繼續決策。
建置 MCP Server 的關鍵步驟
1. 選擇協定實作與語言
目前主流方案有官方的 TypeScript SDK 和社群維護的 Python SDK。如果你的 AI Coding 環境是 Node.js 生態(如 Cursor、Continue),建議用 TypeScript 版本;如果是 Python 優先的 Agent 框架(如 LangChain、AutoGPT),則用 Python 版更省事。
實幹路徑:
- 初始化項目:
npm create mcp-server@latest my-server或pip install mcp-server後使用模板。 - 核心程式碼結構:實作一個
Tool集合,每個 Tool 包含名稱、schema(JSON Schema)、執行函數(async)。
2. 定義工具與權限邊界
這是最容易出錯的地方。常見的錯誤是讓 Agent 擁有「寫任意檔案」或「運行任意 shell」的權限。一個合理的邊界是:
- 只揭露目前專案目錄下的檔案讀寫,禁止存取
/etc、/root。 - 只允許執行白名單指令,例如
npm run build、python test.py,而不是rm -rf /。 - 對敏感操作(如刪除檔案)要求使用者確認。
真實場景:某團隊開放了 run_command 工具且未加過濾,Agent 在生成程式碼後自動執行了 git push --force,覆蓋了同事的提交。這就是權限邊界沒設定清楚的結果。
3. 與 Agent 框架集成
不同的 Agent 框架連線 MCP Server 的方式不同。以 Continue 為例,在 ~/.continue/config.json 中設定 MCP Server 的 endpoint(通常是 localhost 連接埠),並宣告 tool list。之後你在 IDE 中選擇一段程式碼並輸入指令“新增錯誤處理”,Agent 會透過 MCP Server 讀取檔案、產生程式碼、再寫回檔案。
容易失敗的地方:如果 MCP Server 的回應逾時(預設 30 秒),Agent 會卡住或產生不完整的結果。建議將長時間運行的任務(如安裝依賴)拆成非同步步驟,或增加逾時配置。

常見迷思與解決方案
迷思 1:把所有工具都丟給 Agent
有的開發者圖省事,一次性註冊 30 個工具,結果 Agent 在選擇工具時頻繁出錯(選錯參數、呼叫順序錯誤)。更好的做法是只暴露當前任務所需的工具,並在 prompt 中說明工具使用順序。例如,重構任務只暴露 read_file、write_file、run_test 三個工具。
迷思 2:忽略錯誤處理
MCP Server 中工具執行可能會失敗(檔案不存在、網路不通)。如果不在 Tool 實作中傳回結構化錯誤訊息(如 { status: "error", message: "File not found" }),Agent 可能誤以為操作成功,導致後續邏輯崩潰。每個工具都應該 catch 異常並傳回明確的錯誤物件。
迷思 3:直接在生產環境使用預設配置
預設的 MCP Server 配置通常是開發友善的開放權限。線上使用前必須:
- 關閉所有不必要的工具(如
delete_file、execute_sys_command)。 - 設定
allowed_paths和blocked_commands。 - 啟用稽核日誌,記錄 Agent 的所有工具呼叫。

失敗時的備用方案
如果 MCP Server 持續不穩定或你發現 Agent 的工作流程有安全隱患,可以暫時回退到「手動工具」模式:
- 讓 Agent 只輸出 shell 指令,你手動複製執行。
- 或使用更輕量的方案如
codex、inline assistant只做程式碼生成,不做自動執行。
這不是倒退,很多生產級 AI 編碼流程依然採用「Agent 建議 + 人工批准」的混合模式。
下一步做什麼
你現在應該嘗試在本機上建立一個 MCP Server,從最簡單的「檔案檢視器」開始,先讓 Agent 能正確讀取檔案內容,再逐步加入寫入操作和指令執行。每次新增一個工具,就模擬一次並發請求和失敗場景,確保錯誤能被 Agent 理解。
如果你希望系統掌握 AI 程式設計工作流程設計、品質控制與安全防護,建議深入學習更完整的 Agent 架構與評估系統。

暫無評論,快來發表你的看法吧