MCP(模型上下文協議)
又稱:Model Context Protocol · 模型上下文協議 · MCP server · MCP 協議
一套開放標準,規定工具(Tool)、資源(Resource)、提示模板(Prompt)怎麼暴露給 AI 客戶端 —— 伺服器寫一次,所有支援 MCP 的客戶端都能用。
你會在什麼時候遇到它
當你要把第二個、第三個外部系統(資料庫、GitHub、瀏覽器)接進 Agent 時會遇到它。沒有標準協議的世界是 N×M:N 個客戶端各自為 M 個服務寫整合,重複 N×M 份工;MCP 把它壓成 N+M:服務方寫一次 server,客戶端實現一次協議。不懂這層,你會把每個整合都當一次性膠水寫,寫到第五個就撐不住。
打個比方
像 USB-C。在它之前,每個品牌有自己的充電孔,出遠門要帶一袋轉接頭;有了統一接口,一條線通吃。MCP 想做的就是 AI 工具的 USB-C —— 協議本身不提供任何能力,它只規定插頭長什麼樣子。
最小範例
// 在客戶端設定裡註冊一個 MCP server(示意)
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["@anthropic-ai/mcp-server-postgres",
"postgresql://localhost/mydb"]
}
}
}
// 重啟客戶端後,模型的工具清單裡就多了「查詢這個資料庫」的能力注意 server 是一個獨立進程,帶著自己的權限和憑證在跑 —— 資料庫連線串就寫在設定裡。所以「裝一個 MCP server」不是加一行配置那麼輕:你在給 Agent 接上一個能碰真實系統的東西(參見 supply-chain-risk)。
最常搞錯的地方
- 以為 MCP 是一種模型或框架。它只是一份協議:規定 client 和 server 怎麼交談(JSON-RPC)。能力來自 server 背後接的東西,不是協議本身。
- 以為接了 MCP 就不用管權限。協議負責「怎麼接」,不負責「該不該接、能碰多少」。最小權限、沙箱、稽核一樣都不能少 —— filesystem server 永遠不該指向根目錄。