自己動手做一個 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。
RoamerHost 幫你把開源 AI 與自動化工具一鍵代管:獨立 Docker、自動 SSL、24/7 監控,60 秒上線。省下租機器、裝環境、顧維運的力氣,訂閱就能開始用。
▶立即免費註冊常見問題
做一個 MCP Server 需要很強的 AI 背景嗎?
MCP Server 用 stdio 還是 HTTP?
讓 AI 透過 MCP 操作系統,安全嗎?
MCP Server 和直接串 API 有什麼不同?值得做嗎?
這個主題的完整脈絡、選型比較與導入建議,都整理在指南裡。
訂閱免費電子報
把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。