← 所有文章
對比選型

LINE Bot MCP Server 是工具層,不是你的跨渠道收件箱

LINE 正在往更適合 AI Agent 的方向前進。公開的 LINE Bot MCP Server 將自己描述為一個 Model Context Protocol server,用來把 AI Agent 連接到 LINE Messaging API 與 LINE Official Account。它提供的工具包括推送 text 或 Flex message、broadcast、讀取 profile、查看 message quota、管理 rich menu,以及取得 follower IDs。倉庫同時標示為 preview version,這個定位很準確:適合實驗與工具化操作,但不是所有客服架構的完整替代品。

LINE 的開發者文件也愈來愈適合工具讀取。Messaging API reference 已經提供 “Copy for LLM” 和 Markdown 視圖;LINE 2026 年的 docs news 也說明,部分文件與 reference 已經以 Markdown 檔案形式發布到 GitHub。2026 年 7 月 1 日,LINE 又宣布開發者可以透過 Messaging API 取得 rich menu statistics。對 AI builder 來說,這些訊號很清楚:平台文件、分析資料與操作 API 都正在變得更 automation-ready。

但不能把這個趨勢理解成「AI Agent 已經等於收件箱」。不是。MCP 是 action layer,收件箱是 event layer。如果你的團隊同時接收 LINE、WhatsApp、Telegram、Zalo、TikTok 和 X 的客戶訊息,第一層系統應該先驗簽、保存、去重與路由,然後才讓 AI Agent 判斷。

LINE MCP Server 適合做什麼

官方 LINE MCP Server 適合的任務是:「讓 AI 工具操作一個 LINE Official Account。」客服主管可以讓 agent 給已知使用者推送草稿訊息、建立或檢查 rich menu、查看額度使用,或讀取使用者 profile。這正是 MCP 合適的形態:模型理解意圖,選擇工具,server 再執行受控的 LINE Messaging API 呼叫。

這也符合 LINE 原生 API 的模型。LINE webhook 在 LINE Developers Console 裡按 channel 設定。當使用者加入 Official Account 或傳送訊息時,LINE Platform 會向設定好的 webhook URL 發起 HTTPS POST request。媒體內容讀取也從 LINE 自己的 webhook event 開始,因為 Messaging API reference 說明,要使用 webhook 中收到的 message IDs 取得使用者傳送的內容。

如果你的產品只做 LINE,這可能已經足夠。保留 LINE webhook,把 MCP server 接到 Claude Desktop、Cline、Cursor 或其他 MCP host,讓 agent 在 Official Account 邊界內工作。你仍然要處理 access token、quota、user ID、角色權限和 LINE 自己的 event shape,但整體架構是清楚的。

它為什麼不是收件箱

跨渠道客服隊列需要的是另一種契約。在任何 AI model 執行之前,它必須先回答五個問題:

問題為什麼重要
這次 delivery 是否真的來自已設定 endpoint?邊界層必須拒絕偽造或過期 request。
這個 event 是否已經處理過?Webhook delivery 是 at-least-once,需要冪等。
哪個 account、哪個 provider 收到了訊息?路由依賴 account_idprovider,而不是某個渠道 SDK。
應該保存哪份原始 payload?Webhook event 就是入站流量記錄。
agent 接下來允許做什麼?action tools 應該在 policy、storage、routing 之後執行。

MCP server 不會自動解決這些問題。它可以暴露 push_text_message 工具,但它不是標準化審計日誌。它可以讀取 rich menu 資料,但不會把 WhatsApp、Zalo、TikTok 或 X 轉換成 LINE webhook event。它能幫助 AI Agent 執行動作,但不應該成為客戶入站訊息的第一道邊界。

這對小團隊尤其重要,因為第一類故障通常不是生成品質問題,而是營運問題:買家傳來 LINE 訊息,供應商在 WhatsApp 回覆,越南客戶使用 Zalo,TikTok 買家在直播後詢問物流。團隊不需要六個 agent 各自決策,它需要一個可靠的入站隊列。

UnifyPort 提供的 event layer

在 UnifyPort 裡,LINE 是和 WhatsApp、Telegram、TikTok、Zalo、X 並列的一個 connected account。你建立 webhook endpoint,訂閱 message.received["*"],並設定 signing_secret

curl -X POST https://api.unifyport.ai/v1/webhook-endpoints \
  -H "X-Api-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://support.example.com/webhook",
  "status": "active",
  "subscribed_events": ["message.received"],
  "signing_secret": "<WEBHOOK_SIGNING_SECRET>"
}'

每次 signed delivery 都會帶上 X-Device-TimestampX-Device-Signature。簽名是以下內容的 hex HMAC-SHA256 digest:

<X-Device-Timestamp>.<raw request body>

訊息本身進入統一 event envelope:

{
  "id": "evt_line_72c9f4a18b",
  "type": "message.received",
  "provider": "line",
  "account_id": "acc_line_support",
  "occurred_at": "2026-07-11T02:30:00Z",
  "data": {
    "conversation": { "id": "line_user_49712031", "type": "user", "title": "Aya Tanaka" },
    "sender": { "id": "line_user_49712031", "type": "user", "name": "Aya Tanaka" },
    "message": {
      "id": "line_msg_9012",
      "type": "text",
      "text": "Can I change tomorrow's delivery address?",
      "direction": "inbound",
      "sent_at": "2026-07-11T02:29:58Z"
    },
    "event": { "kind": "message_received" }
  }
}

同一個 handler 可以處理 WhatsApp、Telegram、Zalo、TikTok 或 X 訊息,因為 envelope 始終是 idtypeprovideraccount_idoccurred_atdata。你的程式碼根據欄位值調整行為,而不是給每個平台重新接一套 webhook format。

把 MCP 放在隊列之後

乾淨的架構不是「MCP 或 webhook 二選一」,而是按正確順序一起使用:

Customer message on LINE / WhatsApp / Zalo / TikTok / X
  -> UnifyPort signed message.received webhook
  -> Verify X-Device-Signature
  -> Store raw event and dedupe by event id
  -> Route by provider, account_id, conversation, and policy
  -> Let an AI agent draft, classify, summarize, or call action tools
  -> Reply through POST /v1/messages when allowed

當 agent 或人工決定回覆時,UnifyPort 的傳送路徑也是同一個 normalized endpoint:

curl -X POST https://api.unifyport.ai/v1/messages \
  -H "X-Api-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "account_id": "acc_line_support",
  "to": { "id": "line_user_49712031", "type": "user" },
  "message": {
    "type": "text",
    "text": "Yes. Send the new address and we will update the delivery note."
  }
}'

如果你的技術棧也使用 LINE MCP server,就把它放在 action layer。讓它處理屬於 LINE Official Account 的任務:rich menu、broadcast、profile 讀取、quota 查詢。讓 event layer 管理入站事實。這樣 AI Agent 可以拿到上下文,但不會成為客戶訊息的第一份、也是唯一一份記錄。

一個實用判斷規則

當你的產品 LINE-first、客戶明確追蹤 LINE Official Account,並且 agent 的工作是在你控制下執行 LINE Messaging API 動作時,使用 LINE MCP server。它適合內部營運工具、campaign setup 和 Official Account 自動化。

當你的業務有多個渠道、一般訊息帳號同樣重要,或客戶訊息必須先成為持久客服記錄,再進入自動化流程時,使用 normalized inbound queue。UnifyPort 的非官方接口在這個場景裡更窄也更有用:接收訊息、簽名投遞、標準化事件,然後讓後續系統決定下一步。

LINE 的 MCP 方向是好消息。它讓 AI 工具更容易操作 LINE。但對跨境客服團隊來說,穩定架構仍然從帶簽名的收件箱開始,而不是從 agent tool call 開始。