iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
AI Engineering

30 天探索 MCP:從基礎概念到實作系列 第 28 篇

MCP Agent 實戰:整合 Resource、Prompt 與安全操作確認

  • 分享至 

  • xImage
  •  

上一篇我們為 MCP Agent 加入了任務規劃與步驟管理,讓 Agent 可以根據使用者的需求,將任務拆解成多個步驟,再依序呼叫對應的 MCP Tool,並且能夠查詢任務日誌。

不過,目前的 Agent 還有可以繼續完善的地方。除了原本的工具操作與任務管理之外,我們也希望它能取得外部資料、使用預先設計好的 Prompt,並在執行可能造成影響的操作之前,先取得使用者確認。

所以我們將繼續之前的專案,整合 Resource、Prompt 與刪除檔案的功能,並實際測試整合後的執行流程。


繼續整合 MCP Agent

目前整合的功能包含:

  • RAG: 查詢知識庫中的資料。
  • SQLite: 查詢資料庫。
  • Calculator: 執行數學運算。
  • File System: 搜尋、讀取及操作檔案。
  • Resource: 取得 MCP Server 提供的外部資料。
  • Prompt: 取得預先設計好的提示模板。
  • Delete Tool: 刪除指定檔案,並在執行前加入確認機制。

透過這些功能,Agent 可以依照不同需求使用不同的 MCP Server,而不需要把所有功能都寫在同一個程式裡。

加入 Resource 與 Prompt

前面我們已經分別實作過 MCP Resource 和 MCP Prompt,現在就把它們整合進現有的 Agent 專案,讓原本分開測試的功能可以透過同一個 Client 使用。下圖是目前整合後的 Tool 總覽。

https://ithelp.ithome.com.tw/upload/images/20261012/20178769R0kM8GsHg7.png

這樣就能在同一個專案中使用先前實作的功能,而不是每次測試 Resource 或 Prompt 都需要另外啟動一個獨立的 Client。

先測試 Resource,確認 Agent 能取得 MCP Server 提供的資料。

https://ithelp.ithome.com.tw/upload/images/20261012/201787699o55cB2h62.png

https://ithelp.ithome.com.tw/upload/images/20261012/20178769rItRTafzSs.png

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

https://ithelp.ithome.com.tw/upload/images/20261012/20178769jiKYYIoMg6.png

https://ithelp.ithome.com.tw/upload/images/20261012/20178769A8NfQYc881.png

加入高風險操作確認

接下來,我們來測試這次比較重要的部分:在執行刪除檔案之前,先取得使用者確認。

首先,建立測試檔案 delete_test.txt,再讓 Agent 執行以下任務,刪除 delete_test.txt,刪除前必須先取得我的確認。

https://ithelp.ithome.com.tw/upload/images/20261012/20178769l8zx4MxYUY.png

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

https://ithelp.ithome.com.tw/upload/images/20261012/20178769nKjyzD7Wws.png

這項機制很重要,因為刪除檔案與一般的資料查詢不同,一旦操作錯誤,就可能造成資料遺失,因此不能只依賴 AI 在任務計畫中提醒自己要先確認,而應該由程式在執行高風險 Tool 前強制檢查。

這次輸入 CONFIRM 後,Agent 成功刪除了測試檔案,並將執行結果記錄下來。

https://ithelp.ithome.com.tw/upload/images/20261012/20178769co9ruWDdS2.png

最後,系統也保存了任務 ID、任務內容、執行的 Tool、操作結果及執行統計,從這次結果可以確認,任務規劃、Tool 呼叫、刪除前確認,以及任務紀錄都已成功運作。

另外,在整合過程中也曾遇到任務規劃失敗的問題。後來重新整理 TaskPlanner 的程式碼,補齊任務規劃與重新規劃的方法,並加入 Gemini 原始回應的除錯輸出,才順利完成這次測試。

總結

從前面的架構與任務紀錄,到上一篇的任務規劃與步驟管理,再到今天整合 Resource、Prompt 和高風險操作確認,這個 MCP Agent 專案已經逐漸具備比較完整的執行流程,這次的重點不只是增加更多 Tool,而是讓不同 MCP 功能可以在同一個專案中配合使用,同時保留任務紀錄與操作安全機制。

當 Agent 開始能夠執行更多實際操作時,除了思考如何讓它完成任務,也必須考慮執行限制、錯誤處理,以及如何避免未經確認的危險操作,這些都是將 MCP Agent 從單純的功能測試,逐步發展成實際應用時,需要考慮的問題。


上一篇
MCP Agent 實戰:加入任務管理與狀態追蹤
下一篇
MCP Agent 實戰:整合所有功能,完成最後的任務測試
系列文
30 天探索 MCP:從基礎概念到實作 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言