MCP(模型上下文協議Model Context Protocol)是由 Anthropic 在 2024 年 11 月發起並開源的一項 標準化通信協議,目的是讓大型語言模型(LLMs)能夠方便、安全地連接並操作外部數據來源或工具系統,而無需每次從頭實作介面
MCP 像是 AI 應用的「USB-C 接口」,提供一種通用方式讓模型能迅速接入不同工具、資料來源與功能
MCP架構與關鍵組成
組件 | 說明 |
---|---|
MCP 客戶端(Client) |
集成於 AI 應用或 LLM 基礎服務中,負責發起請求和處理回應。Anthropic 提供 Python、TypeScript、Java、C# 等 SDK |
MCP 服務器(Server) |
與實際資料來源/工具連接(例如 Google Drive、GitHub、Postgres、Slack 等等),並按照 MCP 規範格式化資料供 LLM 使用 |
協議規範 |
基於 JSON-RPC 2.0,支持同步/非同步通訊(HTTP、標準輸出 streams 等方式),並具備能力協商、錯誤處理、日誌、取消/進度回報等功能 |
N×M 整合難題
之前 AI 與外部工具之間的整合,通常要為每種數據源或工具設定專屬接入方式,開發負擔極大。MCP則透過統一協議大幅簡化跨平台整合工作流程
實務應用案例
桌面助手
:Claude Desktop 可通過 MCP 取得本機檔案、系統工具等內容企業內部AI
:如公司內部助手透過 MCP 存取私有知識庫 / CRM / 文件AI工具協同
:AI 可自動查 GitHub、回報 Slack,跨平台工作流程可由 MCP 實現行業採用與支持者
信任度提升
:OpenAI 已宣布全面導入 MCP 至其產品與平台中Google支持
:Google DeepMind 也宣布其 Gemini 模型與相關架構將支援 MCPMicrosoft推動應用
:Windows 新增 MCP 支援,用於連結檔案系統、子系統、Perplexity等等工具。該實作包含使用者同意等安全防護控管from mcp_sdk import MCPClient
# 1. 設定客戶端
client = MCPClient()
# 2. 探測已有可用 MCP 服務器
servers = client.discover_servers()
# 3. 使用特定服務器執行動作(如讀取檔案)
response = client.call_server(
server_id="google_drive",
action="list_files",
params={"path": "/業務/會議筆記"}
)
print(response)
這裡的 google_drive server 即為 MCP Server 的實作模組,它會以標準方式回應資料
安全性重點與風險分析
儘管 MCP 功能強大,但也帶來潛在資安風險
惡意 MCP Server
可能植入危害工具,例如:盜取本地檔案或執行不當命令偏好操控攻擊(Preference Manipulation)
:惡意服務器設計能使 LLM 優先使用,影響公平性與控制整體安全審核不足
:研究指出現有 MCP 生態缺乏安全稽核機制,需要 MCP SafetyScanner 等等工具協助風險辨識與防禦MCP(模型上下文協議)
:是一個由 Anthropic 開發並開源的標準協議,促進 AI 系統與外部工具/資料源之間的互通
它讓 AI 可像插入 USB-C 那樣,輕鬆掛載不同功能模組,無需每個場景重新開發介面
多家業界領導者已採用並支持,包括 OpenAI、Google、Microsoft 皆投入 MCP 生態建設
同時,它在安全性上尚需強化,需實務導入審核機制與使用者信任控管