iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0

MCP

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 等方式),並具備能力協商、錯誤處理、日誌、取消/進度回報等功能

MCP解決了什麼問題

N×M 整合難題

之前 AI 與外部工具之間的整合,通常要為每種數據源或工具設定專屬接入方式,開發負擔極大。MCP則透過統一協議大幅簡化跨平台整合工作流程

實務應用案例

  • 桌面助手:Claude Desktop 可通過 MCP 取得本機檔案、系統工具等內容
  • 企業內部AI:如公司內部助手透過 MCP 存取私有知識庫 / CRM / 文件
  • AI工具協同:AI 可自動查 GitHub、回報 Slack,跨平台工作流程可由 MCP 實現

行業採用與支持者

  • 信任度提升:OpenAI 已宣布全面導入 MCP 至其產品與平台中
  • Google支持:Google DeepMind 也宣布其 Gemini 模型與相關架構將支援 MCP
  • Microsoft推動應用:Windows 新增 MCP 支援,用於連結檔案系統、子系統、Perplexity等等工具。該實作包含使用者同意等安全防護控管

MCP 程式設計/使用示例

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 生態建設

同時,它在安全性上尚需強化,需實務導入審核機制與使用者信任控管


上一篇
Day25-Claude
下一篇
Day27-Vibe Coding
系列文
AI咒術迴戰~LLM絕對領域展開27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言