iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0
AI Engineering

30 天 AI 應用煉成陣:活用 Low-code 打造專屬智慧 Agent系列 第 22 篇

Day 22 AI 界的 Type-C 統一規格:MCP (Model Context Protocol) 伺服器開發實戰

  • 分享至 

  • xImage
  •  

昨天我們透過內建的 Google 搜尋,輕鬆讓 Agent 具備了上網查資料的能力。但當我們回到企業內部,真正的挑戰才剛開始。

假設你寫了一支 Java API,用來查詢公司內部的「員工剩餘特休天數」。如果我們希望 Dify 的 Agent、工程師 IDE 裡的 Cursor,以及主管手機裡的 Claude Desktop 都能呼叫這支 API,過去我們必須針對這三個不同的平台,分別撰寫三套完全不同的外掛 (Plugin) 或匯入三次複雜的 OpenAPI/Swagger 規格書。這就是典型的「義大利麵條式系統整合」,極度難以維護。

為了解決這個 O(M×N) 的整合噩夢,技術圈近期掀起了一場架構革命。今天我們要挑戰最前沿的標準協定:MCP (Model Context Protocol)。

1. 什麼是 MCP?
MCP 最初由 Anthropic (Claude 的母公司) 提出,現在已迅速成為開源界的統一標準。你可以把 MCP 想像成「AI 應用的 USB Type-C 介面」。
過去每台手機都有專屬的充電線;現在只要支援 Type-C,任何設備都能互通。同理,只要你將後端 API 封裝成一個「MCP 伺服器 (MCP Server)」,任何支援 MCP 協定的 AI 客戶端(如 Dify)插上去,就能無縫讀取你的資料與工具。

2. MCP 伺服器的核心元件:Tools (工具)
MCP 協定主要提供三種能力:Resources (靜態資源)、Prompts (提示詞模板) 以及 Tools (可執行的工具)。針對今天的 Agent 實戰,我們專注於 Tools。
在開發 MCP 伺服器時(目前主流有 Python、TypeScript SDK,Java 社群也正快速跟上),我們只需要定義兩件事:

  • 工具規格 (Schema): 告訴 AI 這個工具叫 query_leave_days,需要傳入 employee_id (字串型別)。

  • 執行邏輯 (Execution): 當 AI 呼叫這個工具時,背後實際執行的 Java/SQL 查詢代碼。

3. 讓 Dify Agent 裝上 Type-C 擴充模組
當你的 MCP 伺服器在本地端跑起來後(別忘了搭配我們 Day 17 學到的 ngrok 取得公開網址),回到 Dify 的工具頁面。
你不需要再手動貼上一大串又臭又長的 JSON 規格書,只需要選擇「新增 MCP 工具」,填入你的 ngrok 網址。Dify 會主動向你的 MCP 伺服器發起握手 (Handshake),瞬間自動發現並載入 query_leave_days 這個工具。

將這個工具掛載到 Agent 上,預覽測試:

你:「請問員工 A1234 還有幾天特休?」
Agent 的 ReAct 軌跡:

  • 思考:我需要查詢特休天數,剛好手邊有 query_leave_days 工具。

  • 行動:呼叫 MCP 伺服器,傳入 {"employee_id": "A1234"}。

  • 觀察:MCP 回傳 {"days_left": 5}。

  • 最終回答:「員工 A1234 目前還有 5 天特休喔!」

透過實作 MCP 伺服器,你展現了頂尖軟體工程師最重視的「解耦 (Decoupling) 思維」。你的後端業務邏輯完全獨立,AI 平台隨時可以抽換,架構變得極度優雅且具備強大的擴充性。

到今天為止,我們的 Agent 已經具備了強大的思考力與工具箱。但在單兵作戰的極限下,遇到極度複雜的大型任務,一個 Agent 往往會陷入思考死結。


上一篇
Day 21 打破知識結界!實戰 Dify Agent,打造會自己 Google 找答案的 AI 助手
下一篇
Day 23 誰來監督 AI?導入 LLM-as-a-Judge 打造自動化的 AI 單元測試
系列文
30 天 AI 應用煉成陣:活用 Low-code 打造專屬智慧 Agent 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言