AI Agent:打造你的第一個 MCP Server:從概念到實作

更新 發佈閱讀 7 分鐘
你也可以在我的部落格中 https://blog.ray-realms.com/article/73b7d4c5-fc5e-49e2-a7df-c675c4703300 閱讀此文章

開場:為什麼需要 MCP?從真實痛點出發

你是一位熱愛學習的工程師,這些年累積了超過 1000 篇個人筆記,散落在本地資料夾裡。涵蓋前端框架、後端架構、演算法、系統設計⋯⋯每一篇都是你花時間整理的寶貴知識。

某天,你想問 ChatGPT:「幫我找所有關於 React Hooks 的筆記,並整理出我還沒掌握的進階用法。」

這個需求聽起來很合理,對吧?但實際上,要讓 AI 助手做到這件事,困難重重。

AI對大檔案感到困難重重

AI對大檔案感到困難重重








現有方案都不夠好

讓我們快速看幾個現有的處理方式:

手動貼上一堆檔案很麻煩

手動貼上一堆檔案很麻煩

  1. 手動複製貼上? 效率極差,每次都要重複,而且 AI 只能看到你貼的部分,無法主動探索更多相關筆記。
  2. 批次上傳檔案? 跟剛剛一樣的問題,你得先猜哪些檔案相關,容易遺漏,而且每個新問題都要重新上傳。




raw-image
  1. 用 Claude Code 或 Cursor? 它們的能力被綁死在特定工具裡,而且這些工具就是很會 Coding,不太會討論、發想創意。更重要的是,缺乏標準化 —— 每個工具都自己搞一套。
  2. 寫個 REST API? 這是最接近的方案,但有個致命問題:**REST API 是為「程式」設計的,不是為「LLM」設計的。** LLM 不知道你有哪些 API,需要每次對話都重新被告知規格,還得自己猜該呼叫哪個 endpoint。


這就是 MCP 要解決的問題。

MCP 是什麼?AI 義肢製作手冊


不知道你有沒有看過 Cyberpunk 2077

在這個世界觀上,大部分的人都會安裝一推超酷的義肢,更強壯的手臂、更壯的機械腿...,但這些義肢要能正常運作,有個前提:義肢的接口必須符合標準規格。如果每個義肢廠商都自己搞一套接口,那你的手臂根本裝不上去。

MCP 就像是一本「AI 義肢製作手冊」。

ChatGPT、Claude 這些 AI 會根據這本手冊打造對應的「安裝槽」,而任何人都可以根據這份手冊,設計給 AI 使用的「義肢」,然後直接裝上去。

重點來了:MCP 只是一本製作手冊,用嚴謹的話來講就是:

  • AI 與工具溝通的標準協定
  • 讓 AI 能自動發現工具的機制
  • 標準化的權限和安全邊界

它只決定「接口的部分長怎樣」,確保你做出來的義肢可以順利裝到其他 AI 身上。至於這個義肢有什麼功能?讀檔案、查資料庫、發 email、控制你的智慧家居⋯⋯隨便你,完全自由

與 REST API 的差異

MCP 是為 LLM 設計的標準化協定,讓 AI 能夠自動發現和使用你的工具。

關鍵差異:

raw-image


MCP vs REST API

MCP vs REST API

在提到 MCP 之前,必須得提一下什麼是 「Agent」?

這裡快速釐清一下概念。

AI(嚴格來說是 LLM)就是一個只會思考、無法行動的大腦。 對,他只是一顆大腦,沒手沒腳,無法行動。他可以思考得很深入、很精彩,但你問他「幫我查一下天氣」,他只能回答「抱歉我查不了」。

那什麼是 Agent 呢 簡單說,Agent = AI 大腦 + 能力(工具)。給 AI 裝上「手」(查天氣的工具)、「腳」(控制智慧家居的工具),他就從一顆只會想的大腦,變成一個能實際做事的 Agent。

MCP 就是定義「怎麼給 AI 裝義肢」的標準。

如果你對 AI Agent 的概念想要更深入了解,推薦閱讀我之前撰寫的書籍《從零開始,打造一個生成式 AI 平台》https://www.books.com.tw/products/0011029234 ,裡頭有更完整的講解。

MCP 的核心概念:Tools — AI 的「義肢」

如果說 AI 的大腦是語言模型,那麼 Tools 就是 AI 的義肢
沒有義肢,大腦再聰明也只能思考,無法行動。有了 Tools,AI 才能:

  • 獲取資訊 — 讀取你的檔案、查詢資料庫、呼叫 API
  • 執行動作 — 發送郵件、建立文件、修改資料
  • 改變狀態 — 更新設定、記錄日誌、觸發流程

Tools 的三個關鍵特性

1. AI 自己決定什麼時候用

這是 Tools 最重要的特性。你不需要明確指示「請呼叫 XXX 工具」,AI 會根據對話情境自己判斷。 AI 自己決定:

  • 什麼時候用工具
  • 用哪個工具
  • 傳什麼參數

2. Tool 本質就是一個 Function

Tools 就是一個 Function,他執行完後的結果,會送回給 LLM 就像下面這三個 Function

  • list_notes()→ 返回:[note1.md, note2.md, note3.md]
  • read_note(path: "note1.md")→ 返回:筆記的完整內容
  • search_notes(query: "React")→ 返回:包含 "React" 的筆記列表和摘要

每個 Tool 的呼叫都會產生結果,AI 會根據結果決定下一步動作。 這就像是你問助理「幫我查一下檔案」,他真的會去翻檔案櫃。

3. 有明確的規格書(Schema-Defined)

每個 Tool 都有清楚的說明書,你必須替每一個工具定義好以下參數

  • 工具名稱,這個工具叫什麼
  • 工具說明,這個工具是做什麼的
  • 輸入參數,這個工具可以傳入什麼,需要提供什麼參數
  • 輸出參數,這個工具會回傳什麼

基本上還是剛剛提到的,Tool 的本質就是一個 Function,只是你必須詳細交代 LLM 該怎麼用、什麼時會去用這個 Function


練習題

你正在開發一個「個人知識庫」的 MCP Server。下列哪個功能「不應該」設計成 Tool?

A) 搜尋筆記內容(根據關鍵字找出相關筆記)
B) 筆記分類規則(說明你如何組織筆記的 markdown 文件)
C) 建立新筆記(在指定目錄建立 .md 檔案)
D) 統計筆記數量(計算各分類有多少筆記)




正確答案: B) 筆記分類規則(說明你如何組織筆記的 markdown 文件)

工具是一個 Function,是一個可以被執行的行為 筆記分類規則 ,其實就是很單純的文字、命令告訴 LLM 該怎麼做


接下來實戰部分請在我的部落格中繼續閱讀...
https://blog.ray-realms.com/article/73b7d4c5-fc5e-49e2-a7df-c675c4703300 閱讀此文章

放心也是免費的,不過 Vocus 的設計不太適合放這篇教學文

留言
avatar-img
留言分享你的想法!
avatar-img
Ray 貓 Realms
1會員
5內容數
Ray 貓 - 全端網頁工程師、遊戲開發師 這邊會分享一些科技相關、視覺藝術、前端的最新資訊 - 台灣大學課程網全端工程師 Ziphus 獨立開發者 - 喜歡挑戰也喜歡冒險 電子郵件 ray948787@gmail.com
Ray 貓 Realms的其他內容
2024/05/10
我投了 Jamie's Gap Year,只要你有非做不可的目標,不論是創業還是建立一個組織並且年紀小於 21 歲便可以投遞。我面試的過程中學到了很多寶貴的經驗與教訓,包括如何更好地向投資人展示我的商業價值和決策能力。這些都是非常重要的,希望我的分享對其他有類似經驗的人也有幫助。
Thumbnail
2024/05/10
我投了 Jamie's Gap Year,只要你有非做不可的目標,不論是創業還是建立一個組織並且年紀小於 21 歲便可以投遞。我面試的過程中學到了很多寶貴的經驗與教訓,包括如何更好地向投資人展示我的商業價值和決策能力。這些都是非常重要的,希望我的分享對其他有類似經驗的人也有幫助。
Thumbnail
2024/05/09
如果你曾經撰寫過網頁,那你一定接觸過 JavaScript 無論是在 NodeJs 或是瀏覽器中運行。 但你有沒有想過,我們寫下的 JS 程式碼,這些看似單純的英文和符號,是如何被轉化為機器能夠理解和執行的程式呢? 今天,讓我們一起深入了解其中的核心主角 ——Google 開發的開源 Java
Thumbnail
2024/05/09
如果你曾經撰寫過網頁,那你一定接觸過 JavaScript 無論是在 NodeJs 或是瀏覽器中運行。 但你有沒有想過,我們寫下的 JS 程式碼,這些看似單純的英文和符號,是如何被轉化為機器能夠理解和執行的程式呢? 今天,讓我們一起深入了解其中的核心主角 ——Google 開發的開源 Java
Thumbnail
2024/04/29
本文介紹了 Docker 的基礎概念,以及在軟體工程環境中的運用。藉由 Docker 的容器化技術和映像檔技術,能夠實現開發和生產環境的一致性,並且支持負載平衡和無縫更新。此外,也提到了 Kubernetes 和 Docker Swarm 這兩個重要工具的用途和適用對象。
Thumbnail
2024/04/29
本文介紹了 Docker 的基礎概念,以及在軟體工程環境中的運用。藉由 Docker 的容器化技術和映像檔技術,能夠實現開發和生產環境的一致性,並且支持負載平衡和無縫更新。此外,也提到了 Kubernetes 和 Docker Swarm 這兩個重要工具的用途和適用對象。
Thumbnail
看更多
你可能也想看
Thumbnail
試聞 Sunkronizo的香氛後,我才發現:原來不是我在挑香,而是香氣更早知道我是誰。原本以為自己最像溫柔的 1 號,真正試香後卻被成熟、冷靜的 3 號選中。其他七瓶香,也意外喚醒我生命中不同階段的八種角色。香氣讓我明白——人生不只直線前進,也能橫向展開,切換更多樣的自己。
Thumbnail
試聞 Sunkronizo的香氛後,我才發現:原來不是我在挑香,而是香氣更早知道我是誰。原本以為自己最像溫柔的 1 號,真正試香後卻被成熟、冷靜的 3 號選中。其他七瓶香,也意外喚醒我生命中不同階段的八種角色。香氣讓我明白——人生不只直線前進,也能橫向展開,切換更多樣的自己。
Thumbnail
AI 生產力工具是一款免費、開源的應用程式,適用於 Windows 系統,整合了 ChatGPT 聊天和多個 AI 圖片/影片調整功能。提供完整、輕量兩種版本,差別在於輕量版沒有 ChatGPT 聊天。
Thumbnail
AI 生產力工具是一款免費、開源的應用程式,適用於 Windows 系統,整合了 ChatGPT 聊天和多個 AI 圖片/影片調整功能。提供完整、輕量兩種版本,差別在於輕量版沒有 ChatGPT 聊天。
Thumbnail
這篇文章描述作者如何利用 AI 技術(如 ChatGPT)來輔助撰寫文章的過程。作者詳細拆解了自己的寫作流程,並闡述了每個環節中如何使用 AI 來提高效率。文章強調 AI 在工作流程中所帶來的改變,並指出要適應這種改變需要一定的時間和練習。
Thumbnail
這篇文章描述作者如何利用 AI 技術(如 ChatGPT)來輔助撰寫文章的過程。作者詳細拆解了自己的寫作流程,並闡述了每個環節中如何使用 AI 來提高效率。文章強調 AI 在工作流程中所帶來的改變,並指出要適應這種改變需要一定的時間和練習。
Thumbnail
本文介紹了AI科研文獻管理工具,包括Connected Papers、EasyScholar、Research Rabbit、ReadPaper、立理 LitLit、海鯨AI學術、pdftopdf.ai等。這些工具能幫助科研人員實現高效的文獻管理和利用文獻資源,並提高科研工作的效率和質量。
Thumbnail
本文介紹了AI科研文獻管理工具,包括Connected Papers、EasyScholar、Research Rabbit、ReadPaper、立理 LitLit、海鯨AI學術、pdftopdf.ai等。這些工具能幫助科研人員實現高效的文獻管理和利用文獻資源,並提高科研工作的效率和質量。
Thumbnail
本文介紹如何使用 TG Bot 來操作 MongoDB,包括讀取所有 domain、讀取特定 domain、新增 domain、批量新增 domain、修改 domain 和刪除 domain。透過 TG Bot 的指令操作,實現了自動化管理和多環境管理。
Thumbnail
本文介紹如何使用 TG Bot 來操作 MongoDB,包括讀取所有 domain、讀取特定 domain、新增 domain、批量新增 domain、修改 domain 和刪除 domain。透過 TG Bot 的指令操作,實現了自動化管理和多環境管理。
Thumbnail
學習如何使用Python連接MongoDB進行憑證監控,包括建立MongoDB docker-compose、連接MongoDB、讀取yaml並寫入MongoDB、傳入env以及domain寫入MongoDB、讀取MongoDB、修改MongoDB、刪除MongoDB。
Thumbnail
學習如何使用Python連接MongoDB進行憑證監控,包括建立MongoDB docker-compose、連接MongoDB、讀取yaml並寫入MongoDB、傳入env以及domain寫入MongoDB、讀取MongoDB、修改MongoDB、刪除MongoDB。
Thumbnail
這篇文章分享如何透過免費電子郵件課程提供價值,建立信任,並引導訂閱者購買付費產品。透過豐富內容、獨特風格,以及AI的幫助,讓你的需求看起來更具吸引力。
Thumbnail
這篇文章分享如何透過免費電子郵件課程提供價值,建立信任,並引導訂閱者購買付費產品。透過豐富內容、獨特風格,以及AI的幫助,讓你的需求看起來更具吸引力。
Thumbnail
本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
Thumbnail
本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News