上一篇我們為 MCP Agent 加入了任務規劃與步驟管理,讓 Agent 可以根據使用者的需求,將任務拆解成多個步驟,再依序呼叫對應的 MCP Tool,並且能夠查詢任務日誌。
不過,目前的 Agent 還有可以繼續完善的地方。除了原本的工具操作與任務管理之外,我們也希望它能取得外部資料、使用預先設計好的 Prompt,並在執行可能造成影響的操作之前,先取得使用者確認。
所以我們將繼續之前的專案,整合 Resource、Prompt 與刪除檔案的功能,並實際測試整合後的執行流程。
目前整合的功能包含:
透過這些功能,Agent 可以依照不同需求使用不同的 MCP Server,而不需要把所有功能都寫在同一個程式裡。
前面我們已經分別實作過 MCP Resource 和 MCP Prompt,現在就把它們整合進現有的 Agent 專案,讓原本分開測試的功能可以透過同一個 Client 使用。下圖是目前整合後的 Tool 總覽。

這樣就能在同一個專案中使用先前實作的功能,而不是每次測試 Resource 或 Prompt 都需要另外啟動一個獨立的 Client。
先測試 Resource,確認 Agent 能取得 MCP Server 提供的資料。


接著測試 Prompt,確認可以取得指定的提示模板,並交給 AI 產生回應。


接下來,我們來測試這次比較重要的部分:在執行刪除檔案之前,先取得使用者確認。
首先,建立測試檔案 delete_test.txt,再讓 Agent 執行以下任務,刪除 delete_test.txt,刪除前必須先取得我的確認。

這時必須輸入 CONFIRM,程式才會繼續執行;其他輸入則會取消操作

這項機制很重要,因為刪除檔案與一般的資料查詢不同,一旦操作錯誤,就可能造成資料遺失,因此不能只依賴 AI 在任務計畫中提醒自己要先確認,而應該由程式在執行高風險 Tool 前強制檢查。
這次輸入 CONFIRM 後,Agent 成功刪除了測試檔案,並將執行結果記錄下來。

最後,系統也保存了任務 ID、任務內容、執行的 Tool、操作結果及執行統計,從這次結果可以確認,任務規劃、Tool 呼叫、刪除前確認,以及任務紀錄都已成功運作。
另外,在整合過程中也曾遇到任務規劃失敗的問題。後來重新整理 TaskPlanner 的程式碼,補齊任務規劃與重新規劃的方法,並加入 Gemini 原始回應的除錯輸出,才順利完成這次測試。
從前面的架構與任務紀錄,到上一篇的任務規劃與步驟管理,再到今天整合 Resource、Prompt 和高風險操作確認,這個 MCP Agent 專案已經逐漸具備比較完整的執行流程,這次的重點不只是增加更多 Tool,而是讓不同 MCP 功能可以在同一個專案中配合使用,同時保留任務紀錄與操作安全機制。
當 Agent 開始能夠執行更多實際操作時,除了思考如何讓它完成任務,也必須考慮執行限制、錯誤處理,以及如何避免未經確認的危險操作,這些都是將 MCP Agent 從單純的功能測試,逐步發展成實際應用時,需要考慮的問題。