人生就是不斷學習,調整與更新持續前進。

MCP Service 建構與知識整理 v2.0

工程師如何開發 MCP,讓業務人員也能使用 AI 工具

MCP(Model Context Protocol)不是只給工程師用的。只要前端換成業務熟悉的介面,他們就能透過自然語言操作工程師寫好的工具。


核心觀念:MCP server 跟介面是分開的

Cursor 是工程師用的 AI 編輯器,業務人員不會用它。但 MCP server 本身是通用標準,只要前端換成業務能用的介面(Claude.ai、自建聊天介面、Slack Bot),他們就能透過對話使用工程師寫好的工具。

整體架構

業務聊天介面 (Claude.ai / 自建 UI)
        ↕
    MCP Server          ← 工程師開發維護
        ↕
工程師的 Cursor
        ↕
CRM / 資料庫 / 第三方 API

工程師只需要寫一次 MCP server,業務和工程師都能用,維護成本集中在一個地方。


工程師的開發步驟

步驟一:先跟業務訪談,定義工具清單

不要自己猜業務需要什麼,直接問:

把業務的答案翻譯成工具名稱:

「查客戶歷史訂單」→ get_customer_orders(customer_id)


步驟二:建立 MCP server

用官方 SDK(Node.js 或 Python),每個工具要寫清楚名稱、描述、參數。描述是寫給 AI 看的,讓 AI 知道什麼時候該呼叫這個工具。

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";

const server = new McpServer({ name: "sales-tools", version: "1.0.0" });

server.tool(
  "get_customer_orders",
  "查詢指定客戶的歷史訂單。當業務詢問某客戶的購買紀錄、訂單狀態時使用。",
  {
    customer_id: z.string().describe("客戶 ID,格式為 CUST-XXXXX"),
    days: z.number().optional().describe("查最近幾天,預設 90 天")
  },
  async ({ customer_id, days = 90 }) => {
    const orders = await db.query(
      `SELECT * FROM orders WHERE customer_id = $1
       AND created_at > NOW() - INTERVAL '${days} days'`,
      [customer_id]
    );
    return { content: [{ type: "text", text: JSON.stringify(orders) }] };
  }
);

步驟三:寫 system prompt 控制 AI 行為

當業務使用聊天介面時,需要一個清楚的 system prompt,告訴 AI:它的角色、有哪些工具、回答要用業務能懂的語言。

你是業務助理,協助銷售團隊查詢客戶資料和訂單狀態。

可用工具:
- get_customer_orders:查客戶訂單
- check_inventory:查庫存
- create_quote:建立報價單

規則:
- 回答用繁體中文,避免技術術語
- 客戶資料要保密,不要在回答中顯示完整的個資
- 查詢前先確認客戶 ID 是否正確

步驟四:測試時模擬業務的問法

業務不會說「呼叫 get_customer_orders」,他們說的是:

要特別確認:AI 不會把資料庫錯誤訊息原文回給業務,也不會顯示不該顯示的欄位。


業務場景範例

業務說的話 對應工具 「這客戶上次買什麼?」 get_customer_orders 「A 產品還有多少庫存?」 check_inventory 「幫我建一張報價單」 create_quote 「這個月誰的業績最好?」 get_sales_report 「把這筆訂單備注更新一下」 update_order_note

實際對話範例

業務問:「黃客戶 CUST-00456 的最新訂單狀態如何?」

AI 在背景呼叫 get_customer_orders("CUST-00456"),然後回答:

黃先生最近有 2 筆訂單:

  • 訂單 #8821(3/15)— 已出貨,預計明天送達
  • 訂單 #8756(3/2)— 已完成

業務看到的是人話,不是 JSON。


三種部署方案

方案一:直接用 Claude.ai(最快上手)

業務安裝 Claude.ai,工程師把 MCP server 部署在公司伺服器,業務在設定中加入 MCP server URL 就能用。適合快速驗證概念。

方案二:自建聊天介面(推薦企業)

工程師用 Anthropic API 自建內部聊天頁面,把 MCP server 整合進去。業務只要開瀏覽器輸入公司網址,完全不需要懂技術。

const response = await anthropic.messages.create({
  model: "claude-sonnet-4-20250514",
  system: "你是業務助理...",
  messages: conversation,
  tools: mcpTools,   // 從 MCP server 取得工具列表
  max_tokens: 1000
});

優點:資料不出公司、可加入登入驗證、控制誰能用什麼工具。

方案三:整合進 Slack / Teams

業務已經在用 Slack,直接做一個 Bot 讓他們在頻道裡 @詢問。最低學習成本,業務不需要改變工作習慣。


上線前檢查清單


給工程師最重要的兩個提醒

工具描述寫給 AI 看。 AI 靠描述判斷什麼時候呼叫哪個工具,描述不清楚,AI 就不知道「幫我看客戶資料」要呼叫哪個 function。

System prompt 決定回答品質。 同樣的資料庫查詢結果,給工程師看可以是 JSON,但給業務看要翻譯成人話。這是工程師容易忽略、但業務最在意的地方。


推薦起步方式:先選 2–3 個業務最常見的重複性查詢,做成工具,讓業務試用,收到回饋再擴充。不要一開始就想做完整系統。