浪花科技 Roamer Tech浪花科技 Roamer Tech
聯絡我們 ↗
浪花科技/自己動手做一個 MCP...CUSTOM SYSTEMS + AI
AI 自動化與智慧應用 ·

自己動手做一個 MCP Server:從零到企業導入的實作教學(2026)

Eric,浪花科技創辦人 / AI 架構師
浪花科技創辦人 · AI 架構師
自己動手做一個 MCP Server:從零到企業導入的實作教學(2026)
☰ 目錄
字體大小

你可能已經讀過我們那篇MCP、API、CLI 到底差在哪,知道 MCP(Model Context Protocol)是讓 AI 助手「安全連上你自家系統」的標準介面。但看懂概念之後,真正的問題來了:「那我自己的系統,到底要怎麼做一個 MCP Server 讓 Claude 或其他 AI 接進來?」

這篇就是那份「動手做」的教學。我們不再比較概念,而是從零說明一個 MCP Server 的組成、開發流程、以及企業導入時最該注意的安全與坑。看完你會知道:要讓 AI 幫你查訂單、跑報表、操作內部工具,這個 Server 該長什麼樣。

(提醒:MCP 生態更新很快,本文的程式碼皆為理解用的示意,實際 API 與 SDK 版本請以官方最新文件為準。)

一個 MCP Server 到底在做什麼?

用一句話說:MCP Server 是你系統的「AI 對外接待櫃台」。AI 助手(Client)不直接碰你的資料庫,而是透過這個櫃台,用標準化的方式問「你有哪些能力?」、「幫我執行這個」。一個 MCP Server 通常提供三種東西:

元件用途例子
Tools(工具)可被 AI 呼叫來「做事」的動作查訂單、建立工單、寄通知
Resources(資源)可被 AI 讀取的資料/文件產品型錄、知識庫文章
Prompts(提示範本)預先寫好的任務範本「幫我彙整本週客訴摘要」

‼️ 重點:你決定櫃台「開放哪些窗口」。AI 只能用你明確定義的 Tools 與 Resources,碰不到你沒開放的東西,這正是 MCP 比「把資料庫帳密直接給 AI」安全的原因。

如果你的後端是 Laravel,不必從零造輪子,Laravel MCP 實戰示範了怎麼把既有的 Model 與服務直接包成 Resource 與 Tool。

開發一個 MCP Server 的流程

1. 選傳輸方式:stdio vs. HTTP

MCP Server 跟 Client 溝通主要有兩種:

  • stdio(標準輸入輸出):Server 跑在使用者本機,適合桌面工具(如 Claude Desktop、Claude Code)在地端呼叫。設定簡單、隱私高。
  • HTTP/SSE(遠端):Server 部署在雲端,讓遠端 AI 或多人共用。適合企業內部服務,但要自己處理認證與網路安全。

2. 定義你的 Tools(最核心的一步)

每個 Tool 要講清楚三件事:名稱、它需要什麼參數、以及執行後回什麼。下面是示意結構:

// 示意用途,非特定 SDK 完整寫法
server.tool(
  "get_order_status",                 // 工具名稱
  "依訂單編號查詢出貨狀態",            // 給 AI 看的說明(很重要!)
  { order_no: "string" },             // 需要的參數
  async ({ order_no }) => {
    const order = await db.findOrder(order_no);   // 你自己的商業邏輯
    return { status: order.status, eta: order.eta };
  }
);

‼️ Tool 的說明文字要寫好:AI 是靠這段描述決定「什麼時候該用這個工具」。描述含糊,AI 就會亂用或不用。這是自建 MCP Server 最常被低估的一步。

3. 接上你的商業邏輯

Tool 內部就是呼叫你原本的 API、資料庫或內部服務。好消息是:你不用重寫系統,MCP Server 只是在既有邏輯外面包一層標準介面。已經有 REST API 的話,很多時候只是把它「翻譯」成 MCP Tool。

4. 加上認證與權限(企業必做)

一旦是遠端 HTTP Server,就要處理:誰能連、能用哪些 Tool、能碰哪些資料。常見作法是 Token 驗證+依角色限制可用工具,並且對「會改資料」的 Tool(如建單、退款)加上額外確認或審計紀錄。

5. 本機測試再上線

先用 stdio 在本機接上 AI 助手跑通流程,確認 AI 能正確理解與呼叫你的 Tool,再部署成遠端服務。別一開始就對正式資料庫開放寫入權限。

權限是這裡面最容易出事的一項。讓 AI 直接碰資料庫聽起來很方便,但沒有界定清楚可讀寫的範圍,出事的規模會比想像中大,做法我們整理在在 Laravel MCP 中設計嚴謹的 Tool 存取機制與Tool Use 的邊界設定。

企業導入 MCP,最常踩的坑

坑後果怎麼避免
Tool 說明寫太模糊AI 該用時不用、不該用時亂用把描述寫得像給新同事的 SOP
一開始就開放寫入/刪除AI 誤操作造成資料損失先只開唯讀,寫入類逐步開、加確認
沒有權限分層任何連進來的都能做所有事依角色限制可用 Tool,重要動作留審計
把大量原始資料塞回給 AI吃爆 token、洩漏多餘資訊Tool 只回「必要且精簡」的結果
當一次性專案做系統一改 MCP 就壞當長期介面維護,跟著系統版本走

再往前一步,當你有多個代理人需要互相協作而不只是呼叫工具時,要看的就不是 MCP 而是 A2A 協定了,兩者解決的是不同層次的問題。

結論:MCP Server 是「把 AI 變成能用的內部助理」的關鍵一步

對話式 AI 給的是建議,但當你自建了 MCP Server,AI 就能安全地讀你的資料、操作你的系統:查訂單、跑報表、開工單,變成真正會做事的內部助理。而且因為權限與工具都由你定義,它比「直接把系統交給 AI」安全得多。

我們自己也在做 AI 產品:Ocean Bot 業務助理、玄燈命理 DestineAI、PiMe AI 形象照,以及陪跑者 PACER 這個 AI 原生官網,都收在作品案例裡,可以看看落地之後實際長什麼樣。

如果你的公司有內部系統(ERP、CRM、訂單後台)想讓 AI 接進來、卻不確定怎麼設計 Tool、怎麼把關安全與權限,這正是我們AI 自動化開發在幫客戶做的事。跟我們聊聊你想讓 AI 幫忙的情境,我們可以幫你把它做成安全、好維護的 MCP Server。

常見問題

做一個 MCP Server 需要很強的 AI 背景嗎?
不用。MCP Server 本質上是在你既有的 API 或資料庫外面包一層標準介面,重點是後端開發能力而非 AI 演算法。如果你已經有 REST API,很多時候是把它「翻譯」成 MCP Tool,AI 端的理解與呼叫由協定與模型負責。
MCP Server 用 stdio 還是 HTTP?
stdio 適合跑在使用者本機、給桌面工具(如 Claude Desktop、Claude Code)在地端呼叫,設定簡單、隱私高;HTTP/SSE 適合部署在雲端讓遠端或多人共用內部服務,但要自己處理認證與網路安全。企業內部共用多走 HTTP,個人工具多用 stdio。
讓 AI 透過 MCP 操作系統,安全嗎?
相對安全,因為 AI 只能使用你明確定義的 Tools 與 Resources,碰不到你沒開放的東西。但仍需把關:先開唯讀、寫入類工具逐步開放並加確認、依角色限制權限、對重要動作留審計紀錄,並且 Tool 只回傳必要且精簡的結果。
MCP Server 和直接串 API 有什麼不同?值得做嗎?
直接串 API 是你寫死流程;MCP Server 則讓 AI 自己判斷何時該呼叫哪個工具,適合需求多變、希望 AI 當「會做事的助理」的場景。若只是固定流程,傳統 API 就夠;若想讓 AI 靈活操作多個內部能力,MCP 的標準化與權限控管更有價值。
#MCP #Model Context Protocol #AI 自動化 #AI Agent #API 整合 #企業 AI 導入

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

⑂ main自己動手做一個 MCP...Ln 1UTF-8