LINE MCP伺服器:使用Model Context Protocol將AI代理連接到LINE
完整教學:使用官方LINE Bot MCP Server將Claude、Gemini等AI代理連接到LINE官方帳號。學習設定、配置、Flex Message和自然語言機器人控制。

#MCP與LINE簡介
AI代理與外部服務互動的方式正在經歷根本性的轉變。在此之前,將Claude或Gemini等AI助手連接到LINE這樣的訊息平台,需要自定義webhook代碼、API包裝器和大量的開發工作。隨著 Model Context Protocol(MCP) 和官方 LINE Bot MCP Server 的出現,這一切已經改變。
MCP現在是 AI代理整合的事實標準,每月SDK下載量超過 9,700萬次,生態系統中有 5,800多個MCP伺服器。包括OpenAI、Google和Microsoft在內的主要AI公司都已採用MCP作為首選整合協議。對於在LINE上經營的企業而言,這意味著AI代理現在可以通過自然語言直接控制LINE官方帳號——無需自定義代碼。
#為什麼這對LINE企業很重要
LINE在日本、泰國、台灣和印尼擁有超過 2億月活躍用戶。使用LINE官方帳號的企業現在可以利用AI代理:
- 發送訊息 - 使用自然語言命令向客戶發送訊息
- 創建豐富的視覺內容 - 自動生成Flex Message
- 獲取用戶資料 - 個性化互動
- 自動化活動工作流程 - 無需編寫LINE API代碼
- 擴展客戶支援 - 將AI助手直接連接到LINE
準備好構建AI驅動的LINE整合了嗎?探索我們的LINE開發服務。
#什麼是Model Context Protocol?
Model Context Protocol(MCP) 是由Anthropic開發的開放標準,定義了AI代理如何與外部工具和服務通信。可以把它想像成一個萬用轉接器——不需要為每個AI模型和每個服務構建自定義整合,MCP提供了任何AI代理都可以使用的標準化介面。
#MCP的工作原理
AI代理(Claude、Gemini、GPT等)
|
v
MCP客戶端(內建於AI代理)
|
v
MCP協議(標準化JSON-RPC)
|
v
MCP伺服器(LINE Bot MCP Server)
|
v
LINE Messaging API
|
v
LINE官方帳號 --> 用戶
#關鍵概念
| 概念 | 描述 | 範例 |
|---|---|---|
| MCP主機 | 發起連接的AI應用程式 | Claude Desktop、Cursor IDE |
| MCP客戶端 | 主機內的協議處理器 | 管理連接生命週期 |
| MCP伺服器 | 通過MCP公開工具的服務 | LINE Bot MCP Server |
| 工具 | 伺服器提供的特定操作 | send_text_message、send_flex_message |
| 資源 | 伺服器可以公開的數據 | 用戶資料、訊息歷史 |
#2026年MCP生態系統
MCP生態系統快速成長:
- 5,800多個MCP伺服器 - 涵蓋資料庫、API、SaaS工具和訊息平台
- 每月9,700萬以上SDK下載量 - 支援Python、TypeScript、Java和Go
- 所有主要AI供應商採用:OpenAI、Google、Microsoft、Anthropic
- 企業就緒:協議內建身份驗證、授權和審計日誌
- 傳輸選項:本地使用stdio,遠端使用HTTP+SSE
了解更多LINE API開發,請參閱LINE API整合教學。
#LINE Bot MCP Server概覽
LINE Bot MCP Server 是LINE株式會社在 github.com/line/line-bot-mcp-server 發布的官方實現。它橋接AI代理和LINE Messaging API,實現通過自然語言控制LINE官方帳號。
#支援的工具
| 工具 | 描述 | 參數 |
|---|---|---|
push_text_message | 向用戶發送文字訊息 | user_id、message |
push_flex_message | 發送Flex Message | user_id、flex_content、alt_text |
broadcast_text_message | 向所有追蹤者發送文字 | message |
broadcast_flex_message | 廣播Flex Message | flex_content、alt_text |
get_profile | 獲取用戶LINE資料 | user_id |
get_message_quota | 檢查剩餘訊息配額 | -- |
get_followers_count | 獲取追蹤者總數 | -- |
#與傳統整合的區別
// 傳統方式:自定義webhook + API代碼
import { Client } from "@line/bot-sdk";
const client = new Client({
channelAccessToken: process.env.LINE_CHANNEL_ACCESS_TOKEN!,
});
app.post("/webhook", async (req, res) => {
const events = req.body.events;
for (const event of events) {
if (event.type === "message" && event.message.type === "text") {
await client.replyMessage(event.replyToken, {
type: "text",
text: "你好!",
});
}
}
res.sendStatus(200);
});
// MCP方式:AI代理直接控制LINE
// 只需用自然語言告訴Claude:
「在LINE上向用戶U1234567890發送歡迎訊息:
'歡迎來到我們的商店!查看我們的新春季系列,
本週享有20%折扣。'」
// AI代理通過MCP自動調用push_text_message
這種典範轉移意味著業務運營者、行銷人員和非技術團隊成員可以通過對話式AI控制LINE機器人。探索我們的LINE聊天機器人服務。
#設定與配置指南
設定LINE Bot MCP Server需要兩個主要組件:LINE API憑證和MCP伺服器本身。
#步驟1:創建LINE官方帳號和頻道
- 前往 LINE Developers Console
- 創建新的 Provider
- 創建新的 Messaging API Channel
- 從Messaging API標籤記下 Channel Access Token(長期)
- 從Basic Settings標籤記下 Channel Secret
詳細說明請參閱LINE官方帳號設定。
#步驟2:通過npx安裝(開發推薦)
# 無需安裝——直接運行
npx @line/line-bot-mcp-server
#步驟3:通過Docker安裝(生產推薦)
# 拉取官方映像
docker pull ghcr.io/line/line-bot-mcp-server:latest
# 使用環境變數運行
docker run -it --rm \
-e CHANNEL_ACCESS_TOKEN=your_channel_access_token \
-e DESTINATION=your_user_id \
ghcr.io/line/line-bot-mcp-server:latest
#步驟4:在Claude Desktop中配置
{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": ["-y", "@line/line-bot-mcp-server"],
"env": {
"CHANNEL_ACCESS_TOKEN": "your_channel_access_token_here",
"DESTINATION": "your_default_user_id_here"
}
}
}
}
#步驟5:在Claude Desktop中配置Docker
{
"mcpServers": {
"line-bot": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "CHANNEL_ACCESS_TOKEN",
"-e", "DESTINATION",
"ghcr.io/line/line-bot-mcp-server:latest"
],
"env": {
"CHANNEL_ACCESS_TOKEN": "your_channel_access_token_here",
"DESTINATION": "your_default_user_id_here"
}
}
}
}
#步驟6:驗證連接
您:「在LINE上發送測試訊息,內容是'來自AI的問候'」
Claude:我現在將向您的LINE帳號發送訊息。
[調用push_text_message,訊息為「來自AI的問候」]
訊息發送成功!
#環境變數參考
| 變數 | 必需 | 描述 |
|---|---|---|
CHANNEL_ACCESS_TOKEN | 是 | LINE Developers Console的長期令牌 |
DESTINATION | 否 | 推送訊息的預設用戶ID |
需要設定幫助?查看我們的LINE應用開發服務。
#功能與使用場景
連接後,AI代理可以通過自然語言命令對LINE官方帳號執行強大的操作。
#發送文字訊息
提示:「向用戶U1234567890發送訊息:
感謝您的訂單!追蹤號碼為TH20260402001。
預計送達:2026年4月5日。」
#創建和發送Flex Message
提示:「為我們的春季特賣創建Flex Message:
- 主視覺橫幅
- 標題:Spring Collection 2026
- 20%折扣徽章
- 'Shop Now'按鈕,連結到https://shop.example.com
發送給用戶U1234567890」
#實際使用場景
| 場景 | AI代理提示 | MCP工具 |
|---|---|---|
| 訂單確認 | 「通知客戶訂單已發貨」 | push_text_message |
| 促銷活動 | 「向所有用戶發送春季特賣橫幅」 | broadcast_flex_message |
| 客戶查詢 | 「顯示此用戶的資料」 | get_profile |
| 個性化優惠 | 「發送生日優惠券」 | push_flex_message |
| 配額檢查 | 「我們還能發送多少訊息?」 | get_message_quota |
了解如何大規模自動化這些工作流程,請查看我們的LINE自動化服務。
#進階整合模式
#將MCP與Webhook Handler結合
要實現雙向通信,將MCP伺服器(出站)與傳統webhook處理器(入站)結合:
// app/api/webhooks/line/route.ts
import { NextRequest, NextResponse } from "next/server";
import crypto from "crypto";
const CHANNEL_SECRET = process.env.LINE_CHANNEL_SECRET!;
function verifySignature(body: string, signature: string): boolean {
const hash = crypto
.createHmac("SHA256", CHANNEL_SECRET)
.update(body)
.digest("base64");
return hash === signature;
}
export async function POST(req: NextRequest) {
const body = await req.text();
const signature = req.headers.get("x-line-signature") || "";
if (!verifySignature(body, signature)) {
return NextResponse.json({ error: "無效的簽名" }, { status: 401 });
}
const { events } = JSON.parse(body);
for (const event of events) {
if (event.type === "message" && event.message.type === "text") {
await forwardToAIAgent(event);
}
}
return NextResponse.json({ status: "ok" });
}
#多代理架構
客戶在LINE上發送訊息
|
v
Webhook Handler(入站)
|
v
AI路由代理
|
+---> 銷售代理(產品諮詢)
| |---> MCP: push_flex_message
|
+---> 支援代理(問題解決)
| |---> MCP: push_text_message
|
+---> 行銷代理(活動管理)
|---> MCP: broadcast_flex_message
#構建自定義MCP工具
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({
name: "custom-line-tools",
version: "1.0.0",
});
server.tool(
"send_order_status",
"發送訂單狀態更新和追蹤資訊給LINE用戶",
{
user_id: z.string().describe("LINE user ID"),
order_id: z.string().describe("Order ID"),
status: z.enum(["confirmed", "shipped", "delivered"]),
tracking_number: z.string().optional(),
},
async ({ user_id, order_id, status, tracking_number }) => {
const flexMessage = buildOrderStatusFlex(order_id, status, tracking_number);
await lineClient.pushMessage(user_id, flexMessage);
return { content: [{ type: "text", text: `狀態已發送` }] };
}
);
了解更多進階聊天機器人架構,請參閱LINE聊天機器人開發教學。
#最佳實踐與安全性
#安全考量
| 風險 | 緩解措施 | 實施方式 |
|---|---|---|
| 令牌洩露 | 不要硬編碼令牌 | 使用環境變數和密鑰管理器 |
| 未授權存取 | 限制MCP伺服器存取 | 在本地或認證代理後面運行 |
| 訊息偽造 | 驗證webhook簽名 | 驗證x-line-signature |
| 速率限制 | 遵守LINE API限制 | 實施令牌桶或滑動窗口限速 |
| 數據洩露 | 減少提示中的數據 | 不要將敏感用戶數據傳遞給AI代理 |
#效能優化
- 開發使用stdio傳輸:最快速,開銷最小
- 遠端使用HTTP+SSE:支援多個AI代理同時連接
- 快取用戶資料:避免對同一用戶重複調用
get_profile - 明智地廣播:LINE根據方案限制每月廣播訊息數
- 監控訊息配額:大型活動前使用
get_message_quota
#開始使用LineBot.pro
設定MCP與LINE的整合需要了解AI代理生態系統和LINE平台API。LineBot.pro簡化了整個工作流程。
#LineBot.pro提供什麼
- MCP就緒整合:預配置的LINE Bot MCP Server,帶有管理的憑證和監控
- AI聊天機器人構建器:創建智能LINE機器人,內建NLP、情感分析和多語言支援
- 豐富訊息生成器:視覺化或用AI提示設計Flex Message
- 活動自動化:排程廣播、受眾細分、自動觸發訊息
- 分析儀表板:即時洞察
#方案與定價
| 功能 | 免費 | Starter(299 THB/月) | Pro(799 THB/月) |
|---|---|---|---|
| AI訊息 | 50/月 | 500/月 | 2,000/月 |
| MCP整合 | 基礎 | 完整 | 完整 + 自定義工具 |
| Flex Message | 10/月 | 100/月 | 無限 |
| Rich Menu | 1 | 5 | 無限 |
#今天就開始構建
- 創建免費帳號 —— 獲取50個免費AI積分
- 連接您的LINE官方帳號 —— 一鍵整合
- 啟用MCP整合 —— 配置AI代理存取您的LINE帳號
- 開始發送訊息 —— 用自然語言控制您的LINE機器人