Workshop ภาษาไทยสำหรับเรียนรู้การเชื่อม AI Agent กับ LINE Messaging API ผ่าน Model Context Protocol (MCP)

#1. LINE MCP คืออะไร

LINE Bot MCP Server เป็น MCP Server ที่เชื่อม AI Agent หรือ MCP Client เข้ากับ LINE Official Account ผ่าน LINE Messaging API ทำให้ LLM สามารถเรียกความสามารถของ LINE ในรูปแบบ Tool ได้ เช่น ส่งข้อความ Text และ Flex Message ไปยังผู้ใช้

Repository ทางการ: https://github.com/line/line-bot-mcp-server

หมายเหตุ: โครงการ LINE Bot MCP Server ระบุว่าเป็น Preview เหมาะสำหรับการทดลองและ Prototype และควรตรวจสอบเวอร์ชัน/ข้อจำกัดก่อนใช้ Production

#2. Architecture

flowchart LR
    U[Developer / User] --> A[AI Agent / MCP Client]
    A -->|MCP| M[LINE Bot MCP Server]
    M -->|Messaging API| L[LINE Platform]
    L --> R[LINE User]

Agent ไม่จำเป็นต้องเขียน HTTP request ไปยัง Messaging API ทุกครั้ง แต่เลือก MCP Tool ที่เหมาะสมตามคำสั่งของผู้ใช้

#3. สิ่งที่ต้องเตรียม

  • LINE Official Account
  • Messaging API Channel
  • Channel Access Token
  • LINE User ID สำหรับผู้รับ (กรณีต้องการกำหนดผู้รับเริ่มต้น)
  • Node.js 22 หรือใหม่กว่า ตาม requirement ปัจจุบันของ LINE Bot MCP Server
  • MCP Client / AI Agent ที่รองรับ MCP

ตรวจสอบ Node.js:

node --version
npm --version

#4. เตรียม LINE Official Account และ Messaging API

สร้างหรือเลือก LINE Official Account และเปิดใช้ Messaging API จาก LINE Developers Console จากนั้นเตรียม Channel Access Token

Channel Access Token เป็น credential สำคัญที่ใช้อนุญาตให้ application เรียก Messaging API ในนามของ channel

#Security

ห้ามนำ token ไปใส่ใน source code ที่ push ขึ้น public repository เช่น

// ไม่ควรทำ
const token = "YOUR_REAL_CHANNEL_ACCESS_TOKEN";

ควรใช้ environment variable หรือ secret management ของระบบแทน และ revoke token ทันทีหากสงสัยว่ารั่วไหล

#5. ติดตั้ง LINE Bot MCP Server ด้วย npx

LINE มี package สำหรับรัน MCP Server ผ่าน npx:

npx @line/line-bot-mcp-server

โดยทั่วไป MCP Client จะเป็นผู้ start process นี้จาก configuration

#6. ตั้งค่า MCP Client

ตัวอย่าง configuration:

{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "NPM_CONFIG_IGNORE_SCRIPTS": "true",
        "CHANNEL_ACCESS_TOKEN": "YOUR_CHANNEL_ACCESS_TOKEN",
        "DESTINATION_USER_ID": "YOUR_LINE_USER_ID"
      }
    }
  }
}

ตัวแปรสำคัญ:

  • CHANNEL_ACCESS_TOKEN — จำเป็นสำหรับการเรียก LINE Messaging API
  • DESTINATION_USER_ID — ผู้รับเริ่มต้น กรณี Tool call ไม่ระบุ userId

ตำแหน่งไฟล์ configuration แตกต่างกันตาม MCP Client จึงควรตรวจสอบเอกสารของ Client ที่ใช้งาน

#7. ทดสอบส่ง Text Message

เมื่อ MCP Client เชื่อมต่อ LINE Bot MCP Server สำเร็จ Agent จะสามารถเห็น Tool เช่น push_text_message

ลอง Prompt:

ส่งข้อความ LINE ไปยังผู้รับเริ่มต้นว่า
"ทดสอบ LINE MCP สำเร็จ"

Flow:

sequenceDiagram
    participant U as User
    participant A as AI Agent
    participant M as LINE MCP
    participant L as LINE Messaging API
    participant R as LINE User

    U->>A: ส่ง LINE ว่า "ทดสอบ LINE MCP สำเร็จ"
    A->>M: push_text_message
    M->>L: Push Message API
    L->>R: LINE Message

#8. ส่ง Flex Message

LINE Bot MCP Server มี Tool สำหรับ Flex Message เช่น push_flex_message ซึ่งเหมาะกับ notification ที่ต้องการ layout มากกว่า plain text

ตัวอย่าง Prompt:

สร้าง Flex Message แจ้งสถานะ Deployment
Service: payment-api
Environment: Production
Status: Success
แล้วส่งผ่าน LINE

AI Agent สามารถแปลง intent เป็นข้อมูลที่ Tool ต้องการและเรียก LINE MCP ต่อไป

#9. ทดสอบด้วย MCP Inspector

Repository ทางการแนะนำ MCP Inspector สำหรับทดสอบและ debug server ใน local environment

git clone https://github.com/line/line-bot-mcp-server.git
cd line-bot-mcp-server
npm install
npm run build

จากนั้นรัน Inspector:

npx @modelcontextprotocol/inspector node dist/index.js \
  -e CHANNEL_ACCESS_TOKEN="YOUR_CHANNEL_ACCESS_TOKEN" \
  -e DESTINATION_USER_ID="YOUR_DESTINATION_USER_ID"

ใช้ Inspector เพื่อตรวจสอบรายการ Tools, input schema และทดลอง Tool call ก่อนเชื่อมกับ Agent จริง

#10. ใช้งานผ่าน Docker

อีกทางเลือกคือ build MCP Server เป็น Docker image

git clone https://github.com/line/line-bot-mcp-server.git
cd line-bot-mcp-server

docker build -t line/line-bot-mcp-server .

ตัวอย่าง MCP configuration:

{
  "mcpServers": {
    "line-bot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CHANNEL_ACCESS_TOKEN",
        "-e",
        "DESTINATION_USER_ID",
        "line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN": "YOUR_CHANNEL_ACCESS_TOKEN",
        "DESTINATION_USER_ID": "YOUR_LINE_USER_ID"
      }
    }
  }
}

#11. LINE MCP กับ Webhook

MCP และ Webhook ทำหน้าที่คนละทิศทางใน architecture ทั่วไป

#Agent ส่งข้อมูลไป LINE

AI Agent
   ↓
LINE MCP Server
   ↓
LINE Messaging API
   ↓
LINE User

#ผู้ใช้ส่งข้อมูลเข้าระบบ

LINE User
   ↓
LINE Platform
   ↓ HTTPS POST
Webhook Endpoint
   ↓
Application / AI Agent

เมื่อเกิด event เช่นผู้ใช้ส่งข้อความ LINE Platform จะส่ง webhook event ไปยัง HTTPS endpoint ที่กำหนดไว้

ดังนั้นระบบ Agentic LINE Bot แบบสองทางอาจใช้ทั้ง Webhook และ MCP ร่วมกัน

flowchart LR
    USER[LINE User] -->|Message| LINE[LINE Platform]
    LINE -->|Webhook| API[Webhook API]
    API --> AGENT[AI Agent]
    AGENT --> TOOLS[Other MCP Tools / RAG / Database]
    AGENT --> LMCP[LINE MCP]
    LMCP -->|Messaging API| LINE
    LINE --> USER

#12. ตัวอย่าง Use Case: DevOps Notification Agent

สมมติ Agent มี Tools สำหรับ Kubernetes และ LINE:

ตรวจสอบ namespace production
ถ้ามี Pod อยู่ในสถานะ CrashLoopBackOff
ให้สรุปชื่อ Pod, namespace และสาเหตุ
จากนั้นส่งรายงานผ่าน LINE

Architecture:

flowchart LR
    A[AI Agent] --> K[Kubernetes Tool]
    K --> A
    A --> D{พบปัญหา?}
    D -->|Yes| M[LINE MCP]
    M --> L[LINE User]
    D -->|No| E[Finish]

แนวคิดเดียวกันสามารถประยุกต์กับ GitHub Actions, Jenkins, Prometheus, Grafana, Database Monitoring หรือระบบ Help Desk ได้

#13. Production Checklist

ก่อนใช้จริงควรพิจารณา:

  • เก็บ Channel Access Token ใน Secret Manager / Environment Variable
  • ไม่ commit credential ลง Git
  • กำหนดสิทธิ์และผู้รับข้อความให้ชัดเจน
  • Validate input ก่อน Tool call
  • จำกัด action ที่ Agent สามารถเรียกได้
  • เพิ่ม logging และ audit trail
  • เพิ่ม human approval สำหรับ action สำคัญ
  • ตรวจสอบ Messaging API rate limits และข้อจำกัดล่าสุด
  • ตรวจสอบ signature ของ LINE webhook ก่อนประมวลผล
  • ออกแบบ retry / timeout / error handling
  • Revoke credential เมื่อสงสัยว่ารั่วไหล

#14. สรุป

LINE MCP เปลี่ยน LINE Messaging API ให้เป็น Tool ที่ AI Agent เรียกใช้ผ่านมาตรฐาน MCP ได้ ทำให้การเชื่อม Agent กับช่องทาง LINE เป็น modular architecture และสามารถประกอบเข้ากับ RAG, Database, DevOps, Monitoring และ Multi-Agent System ได้ง่ายขึ้น

เส้นทางเรียนรู้ที่แนะนำ:

LINE Official Account
        ↓
Messaging API
        ↓
Channel Access Token
        ↓
LINE Bot MCP Server
        ↓
MCP Inspector
        ↓
AI Agent / MCP Client
        ↓
Text + Flex Message
        ↓
Webhook
        ↓
Agentic LINE Bot

#แหล่งข้อมูล


หัวข้อ Workshop: การใช้งาน LINE MCP: เชื่อม AI Agent กับ LINE Official Account