~/blog/how-to-build-mcp-server-tutorial-2026.md
AI 自動化與智慧應用 ·

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

Eric,浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
自己動手做一個 MCP Server:從零到企業導入的實作教學(2026)
目錄 table-of-contents.md

你可能已經讀過我們那篇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」安全的原因。

開發一個 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,再部署成遠端服務。別一開始就對正式資料庫開放寫入權限。

企業導入 MCP,最常踩的坑

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

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

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

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

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

// 推薦服務
首月免費 · 月費 NT$249 起
想用 n8n、Dify、WordPress,卻不想自己養伺服器?

RoamerHost 幫你把開源 AI 與自動化工具一鍵代管:獨立 Docker、自動 SSL、24/7 監控,60 秒上線。省下租機器、裝環境、顧維運的力氣,訂閱就能開始用。

立即免費註冊
// FAQ

常見問題

做一個 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 導入
~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

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

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?