甚麼是 MCP 工具?AI 模型如何使用它們?
了解甚麼是 MCP 工具、AI 模型如何透過 MCP 伺服器尋找和呼叫這些工具,以及如何安全地使用它們。

MCP 工具是 AI 模型可以呼叫的函數,用來在對話以外執行任務,例如搜尋你的筆記或查詢數據庫。每個工具都位於 MCP(Model Context Protocol,模型上下文協定)伺服器上,並設有名稱和簡短描述,幫助模型判斷何時使用。
「MCP 工具」一詞亦有其他用法。在日常使用中,人們說「MCP 工具」時,可能是指 MCP 伺服器(提供工具的應用程式),或列出這些伺服器的目錄。MCP Tools 亦是一個命令列程式的名稱,用於列出和呼叫 MCP 伺服器上的工具。
本指南討論的是協定中的函數,而非伺服器、目錄或命令列。內容會說明工具由哪些部分組成、伺服器提供哪些類型的工具,以及工具與資源、提示和函數呼叫有何不同。接著會逐步介紹模型使用工具的步驟,最後講解使用工具時最常見的問題。
甚麼是 MCP 工具?
MCP 工具是一種函數,讓 AI 模型可以透過其他軟件應用程式完成任務。舉例來說,我的 AI 代理程式和工作流程會使用 MCP 工具在 Gmail 中草擬電郵(create_draft)、建立 Trello 卡片(trelloWriteCard),以及從 DataForSEO 擷取即時搜尋結果(serp_organic_live_advanced),這些只是其中幾個例子。
軟件應用程式通常會在其 MCP 伺服器上提供多個 MCP 工具。例如,Trello MCP 伺服器目前有 14 個 MCP 工具,讓 AI 模型可以讀取和更新看板、清單、檢查清單、卡片等。
由於 MCP 將工具的描述和提供方式標準化,任何支援此協定的 AI 應用程式都可以使用同一個 MCP 工具。
MCP 工具包含甚麼
每個 MCP 工具都包含三項內容:
- 名稱:模型呼叫工具時使用的簡短識別碼(例如 Google Calendar 中的
get_event)。 - 描述:以淺白語言說明工具的用途和適用時機。大型語言模型(LLM)會閱讀這段描述,判斷該工具是否符合你的要求(例如「
Returns a single event on the given calendar.」)。 - 輸入:工具運行所需的資料,例如搜尋筆記時需要的客戶名稱和日期。輸入以 JSON 編寫,開發人員稱之為輸入結構描述(input schema),因為它為每項輸入設定格式(文字、數字或清單)。
部分工具會加入額外的中繼資料:顯示名稱、所傳回結果的描述(輸出結構描述),以及關於工具行為的註解。
AI 模型永遠看不到工具背後的程式碼。它只能依據工具對自身的說明來運作,因此名稱或描述含糊不清,就會導致模型選錯工具。
MCP 工具有哪些類型
MCP 工具按用途可分為四類:
- 搜尋和查詢工具:尋找或擷取資訊(例如搜尋筆記、讀取檔案或查詢數據庫)。
- 操作工具:在其他應用程式中建立或變更內容(例如新增任務、建立日曆活動、開立支援工單或發送電郵)。
- 數據處理工具:轉換或分析數據(例如分析試算表檔案或執行計算)。
- 系統工具:與本機系統互動(例如在終端機中執行指令)。
MCP 工具與資源 & 提示的分別
除了 MCP 工具之外,MCP 伺服器還可以提供另外兩種基本構件,協定稱之為原語(primitives):資源和提示。
例如,GitHub 的官方 MCP 伺服器提供:
- 一個名為
issue_write的工具,用於建立或更新 issue; - 一個名為
repository_content的資源,可存取儲存庫中的檔案; - 一個名為
issue_to_fix_workflow的提示,用於設定以下步驟:將問題回報為 issue,並讓 GitHub 的 Copilot 編碼代理程式產生拉取請求來修正問題。
三者的差異在於各自的用途,以及由誰決定何時使用:你、你正在使用的 AI 應用程式(例如 Perplexity),還是在該應用程式內運行的 AI 模型。
- MCP 工具負責執行操作或查詢資料。AI 模型會自主決定何時呼叫工具,再由你的 AI 應用程式將呼叫傳送至伺服器。AI 模型負責挑選工具;AI 應用程式則應向你顯示每次呼叫,並讓你可以拒絕。
- 資源是 MCP 伺服器上可用的內容,例如檔案或一組紀錄,各自有專屬地址(URI)。你的 AI 應用程式會詢問伺服器有哪些資源,按地址讀取所需的資源,並將內容加入對話作為上下文。
- 提示是伺服器提供的現成訊息範本,有時附有讓你填寫的空格。你的 AI 應用程式會向你顯示可用的提示,由你選擇其中一個,通常以斜線指令的形式使用。
AI 模型如何使用 MCP 工具
AI 模型使用 MCP 工具分為五個步驟:探索、選擇工具、調用、結果和錯誤處理。模型與伺服器之間的所有往來,都由你的 AI 應用程式傳遞。
假設你請 AI 應用程式查看你的 Trello「This week」清單,並草擬一封電郵向編輯匯報最新進度。以下是整個過程:
- 探索:當你的 AI 應用程式透過 MCP 用戶端連接到 MCP 伺服器時,會向伺服器索取可用工具清單(稱為
tools/list的請求)。LLM 只會看到應用程式傳遞過來的內容:每個工具的名稱、描述和輸入。 - 選擇工具:AI 模型會將你的要求與這些描述比較,挑選合適的工具。在這個例子中,就是用 Trello 的
trelloReadList讀取清單,以及用 Gmail 的create_draft撰寫電郵。模型還會填入輸入內容,例如要讀取哪個清單。 - 調用:模型會回覆一個結構化請求來執行工具(這個步驟稱為「函數呼叫」)。你的 AI 應用程式會將該請求傳送到正確的伺服器(即
tools/call請求),同時亦應向你顯示該呼叫,並讓你可以拒絕。 - 結果:伺服器執行函數後傳回
result,在這個例子中就是你清單上的卡片。你的 AI 應用程式會將結果加入對話,再由模型決定下一步:回答你,或呼叫另一個工具,例如以create_draft根據這些卡片草擬電郵。 - 錯誤處理:如果工具已運行但失敗,例如因為清單不存在,錯誤會作為結果的一部分傳回。模型可以讀取錯誤,並以不同的輸入再試一次。如果請求本身有問題,例如呼叫了伺服器沒有的工具,應用程式則會收到協定錯誤,模型亦較難從中恢復。
重點是,模型只根據工具的描述來選擇工具,而與伺服器的所有溝通都由你的 AI 應用程式負責。
常見的 MCP 工具問題及避免方法
MCP 工具的問題歸根究柢在於四方面:連接了多少工具、工具的命名和描述方式、傳回的數據量,以及工具來自哪些伺服器。
以下是各個問題的具體情況及解決方法:
問題 | 具體情況 | 解決方法 |
連接的工具太多 | 在你提出任何要求之前,每個工具定義就已佔用模型的上下文視窗,而且清單越長,工具選擇的準確度就越差。 | 只連接任務所需的伺服器,並在 AI 應用程式允許的情況下關閉未使用的工具。例子:GitHub 的 MCP 伺服器讓你只啟用所需的工具組(toolsets)。 |
描述含糊或重疊 | 由於兩個描述聽起來相似,或其中一個說明太少,模型呼叫了錯誤的工具,或以錯誤的輸入呼叫了正確的工具。 | 提供清晰、具體的名稱和描述,最好附上何時使用該工具的例子。如果某個伺服器的工具經常出錯,可使用官方測試工具 MCP Inspector,準確查看每個工具對自身的說明。 |
兩個伺服器上有相同的工具名稱 | 兩個伺服器都提供名為 | 在工具名稱前加上伺服器名稱作為前綴。例子:Trello 的伺服器( |
結果過於龐大 | 工具傳回的內容超出任務所需,例如連同格式的整個電郵對話串,擠佔了模型的上下文。 | 使用提供精簡格式的工具。例子:Gmail 的 |
不受信任的伺服器 | 疏忽或惡意的伺服器可能會利用工具呼叫,從你的對話中竊取數據。 | 只連接來自你信任來源的伺服器,並為會變更內容或向外傳送數據的工具保留批准步驟。 |
為甚麼 MCP 工具需要你的批准?
MCP 工具需要你的批准,因為如果沒有批准,AI 模型可能會作出你意料之外的更改,或與你無法控制的伺服器分享敏感數據。
誤解要求或描述含糊的工具,都可能觸發錯誤的操作。此外,每次呼叫都會將你的部分資料傳送到伺服器。
因此,協定要求 AI 應用程式確保有人參與把關,並可拒絕任何工具呼叫。
以下是一個實用方法,按所需的檢查程度為工具分類:
- 只讀取的操作:查詢資料,例如使用 Trello 的
trelloReadList讀取清單,不會變更任何內容。只要你的 AI 應用程式會顯示運行了哪個工具及查詢了甚麼,這類呼叫可以無需事先詢問就執行。 - 可以撤銷的操作:使用 Gmail 的
create_draft建立電郵草稿或新增 Trello 卡片,所作的變更可以還原。請在呼叫執行前檢查輸入內容。 - 無法撤銷的操作:使用 Gmail 的
send_message發送電郵、刪除紀錄,或任何涉及付款或敏感數據的操作,都無法還原。每次都要明確授權這類操作。
在 Perplexity 中使用 MCP 工具
Perplexity 支援雙向使用 MCP 工具:它可以使用你所連接 MCP 伺服器上的工具,亦會向其他 AI 應用程式提供自家工具。
- 將 MCP 伺服器連接到 Perplexity:使用 Pro、Max 和 Enterprise 計劃時,你可以將 Perplexity 連接到任何設有 MCP 伺服器的外部工具或數據來源,並在答案和 Perplexity Computer 代理式工作流程中使用。在 Mac 應用程式中,你亦可以連接在你電腦上運行的 MCP 伺服器
- 在其他 AI 應用程式中使用 Perplexity 的工具:Perplexity 的 MCP 伺服器提供四個工具(
perplexity_search、perplexity_ask、perplexity_research和perplexity_reason),供任何支援遠端 MCP 伺服器的 AI 應用程式(例如 Claude Code)使用。另有一個伺服器讓其他 AI 應用程式將多步驟任務交給 Perplexity Computer 處理。
MCP 工具常見問題
MCP 只是工具呼叫嗎?
不,MCP 不只是工具呼叫。工具呼叫是模型請求使用工具的方式,而 MCP 則是 AI 應用程式尋找工具,並將每次呼叫轉送到執行該工具的伺服器的方式。
工具呼叫(又稱函數呼叫)是 AI 模型負責的部分:模型會看到一份工具清單,並回覆執行其中一個工具的請求。如果只有工具呼叫,每個 AI 應用程式都必須自行定義和執行每個工具。
MCP 讓工具存放在伺服器上,因此任何支援 MCP 的 AI 應用程式都可以向其模型提供這些工具,並將模型的請求傳送到正確的伺服器。
MCP 會取代 API 嗎?
不會,MCP 不會取代 API,因為 MCP 與 API 是相輔相成的。MCP 工具通常建構於現有 API 之上,當模型呼叫工具時,MCP 伺服器通常會發出 API 請求。
哪些 AI 應用程式支援 MCP 工具?
MCP 工具可在 Claude、ChatGPT 和 Perplexity 等 AI 助理,以及 Visual Studio Code 和 Cursor 等開發工具中使用。MCP 文件列出了這些應用程式,並指出還有許多其他應用程式亦支援。
AI 模型本身需要支援 MCP 嗎?
不需要。AI 模型無需支援 MCP,因為協定由你的 AI 應用程式處理。應用程式會連接伺服器,將伺服器的工具傳遞給模型,並將模型的工具請求傳回正確的伺服器。模型只需支援函數呼叫即可。
MCP 會被淘汰嗎?
不會,MCP 仍在積極開發中。其維護者於 2026 年 7 月發佈了新版 MCP 規格,並於 2026 年 8 月公佈了更新的路線圖,其中包括讓伺服器隨着對話範圍收窄而逐步揭示其工具的相關工作。