MCP (Model Context Protocol)介紹
March 10, 2025 · View on GitHub
MCP 全名為 Model Context Protocol,由 Claude 母公司 Anthropic 所發布的一個 AI 與外部資源互動的協議,簡化了 AI 即插即用服務的開發。與其他可能需要為每個 AI 模型進行客製化實現的整合方法不同,MCP 提供了一種適用於不同 LLM 的標準化方法, 採用 JSON-RPC 2.0 進行溝通。
透過 MCP 可以做到哪些事情?
- 讀取檔案和資料庫
- 執行命令
- 存取 API 例如: Github、Google Map、Slack…etc
- 與本地工具交互 例如: Git、、System File…etc
- 还有更多!
MCP 運作的方式:
Core Concept
Resources ( 資源 ) 資源是重要的概念也是唯一向 LLM 公開唯讀資料的方式。它可以是任何具有可讀取內容的東西,可當成 API 的 GET,例如: 電腦上的文件 資料庫記錄 API 回應 應用程式數據 系統資訊
每個資源都有: 唯一的 URI(例如file:///example.txt或database://users/123) 顯示名稱 元資料(MIME 類型)(Optional) 描述(文字)(Optional)
有以下幾個情境可以應用:
Documentation Server
// 公開公司的文件
"docs://api/reference" -> API 文件
"docs://guides/getting-started" -> 使用者指南
使用者: "您能解釋一下我們的 API 速率限制政策嗎?"
AI 助理: "讓我查看 API 文檔…根據文檔,每分鐘最多可以發送 100 個請求…"
Log Analysis Server
"logs://system/today" -> Today's system logs
"logs://errors/recent" -> Recent error messages
使用者: "今天有什麼錯誤?"
AI 助理: "正在查看今天的紀錄, 我看到有三個錯誤…"
Customer Data Server
"customers://profiles/summary" -> Customer overview
"customers://feedback/recent" -> Latest feedback
使用者: "最近客戶回饋的整體情緒是什麼?" AI 助理: "分析最近的反饋,顧客大多持積極態度,但是…"
Prompts(提示詞)
透過可重複利用的樣板語句, 幫助 LLMs 更精確的決定工具與伺服器有效的互動
Tools(工具)
LLMs 透過工具與伺服器產生互動,不像 Resources、Prompts , 工具會產生額外的電腦計算, 可以當成 POST、PATCH 跟 DELETE 來使用, 值得注意的是建立好的 Tool 只會出現在 MCP tools 裡面, 透過與 AI 的對話會參考 Tool 的 description 作為使用依據
類似以下情境:
name: "add_song"
arguments: {
singer: "可米小子",
type: "song",
name: "青春紀念冊",
cover: "image.jpg"
}
使用者: 我想新增可米小子的歌,青春紀念冊,封面圖: image.jpg
AI 助理: 好的,幫你新增至歌單…