PA

punpun847/auto-line-mcp

Developer tools
0 stars 0 forks Quality 71 Trend 20

ระบบแชทบอท LINE Official Account อัจฉริยะ ขับเคลื่อนด้วยระบบ พร้อม สำหรับควบคุม จัดการฐานความรู้ (Knowledge Base) และดูประวัติการสนทนาแบบ Realtime

Overview

ระบบแชทบอท LINE Official Account อัจฉริยะ ขับเคลื่อนด้วยระบบ พร้อม สำหรับควบคุม จัดการฐานความรู้ (Knowledge Base) และดูประวัติการสนทนาแบบ Realtime โปรเจกต์นี้เป็นการผสานพลังระหว่าง , และ เพื่อสร้างระบบบริการลูกค้าอัตโนมัติ 24 ชั่วโมง โดยมีโครงสร้างหลัก 4 ส่วน: Server มาตรฐาน Model Context Protocol เพื่อให้ AI Agent สามารถเรียกใช้ฟังก์ชันของ LINE ได้โดยตรง: - : ส่งข้อความ Broadcast ประกาศข่าวสารหาเพื่อนทุกคนใน LINE Official Account - : ส่งข้อความระบุเจาะจงรายบุคคลหรือรายกลุ่ม (Push Message) ผ่าน user_id / group_id - : ดึงข้อมูลโปรไฟล์บอท (ชื่อบอท, Basic ID, Premium ID, รูปโปรไฟล์) - : เช็คราคาเหรียญคริปโตล่าสุด (USD และ THB) พร้อม % เปลี่ยนแปลงใน 24 ชม. ผ่าน CoinGecko API - : คำนวณอัตราแลกเปลี่ยนเงินตราระหว่างประเทศแบบ Realtime (THB, USD, JPY, EUR, GBP ฯลฯ) ระบบ Backend และ CLI สำหรับรัน AI Agent: - ตอบคำถามลูกค้าอัตโนมัติโดยอ้างอิงจาก knowledge.

README

<![CDATA[


📌 ภาพรวมโครงการ (Project Overview)

โปรเจกต์นี้เป็นการผสานพลังระหว่าง LINE Messaging API, AI Agent / LLM และ MCP Servers เพื่อสร้างระบบบริการลูกค้าอัตโนมัติ 24 ชั่วโมง โดยมีโครงสร้างหลัก 4 ส่วน:

graph TD
    User([📱 ลูกค้าทัก LINE]) -->|Webhook Event| Gateway{ช่องทางรับ Webhook}
    
    Gateway -->|ทางเลือกที่ 1: Local / Worker| AgentServer[🤖 line-ai-agent / Express]
    Gateway -->|ทางเลือกที่ 2: Cloud / Vercel| DashServer[🌐 line-bot-dashboard / Next.js API]
    
    AgentServer --> AgentLogic[🧠 AI Agent Core]
    DashServer --> SmartLogic[🧠 Smart AI Rule Engine]
    
    AgentLogic --> MCPClient[🔌 MCP Client Manager]
    MCPClient --> LineMCP[📦 line-mcp Server]
    MCPClient --> CryptoMCP[🪙 thai-crypto-mcp Server]
    
    AgentLogic -->|ดึงข้อมูล| KB1[(knowledge.json)]
    SmartLogic -->|ดึงข้อมูล| KB2[(data_store.json)]
    
    Admin([👨‍💻 ผู้ดูแลระบบ]) -->|เข้าใช้งาน| Dashboard[🖥️ Web Admin Dashboard]
    Dashboard -->|อัปเดตความรู้ / เปิดปิดระบบ| KB2
    Dashboard -->|ดูบันทึกแชท| KB2
    
    LineMCP -->|LINE Messaging API| LINEAPI[🟢 LINE Platform]
    LINEAPI -->|ส่งข้อความตอบกลับ| User

✨ ฟีเจอร์หลัก (Key Features)

ฟีเจอร์ รายละเอียด
🤖 AI Auto-Reply ตอบข้อความลูกค้าอัตโนมัติ 24/7 ผ่าน Google Gemini AI
📦 LINE MCP Server ควบคุม LINE Messaging API ผ่าน Model Context Protocol
🪙 Thai Crypto MCP เช็คราคาคริปโต & แปลงค่าเงินแบบ Realtime
🖥️ Admin Dashboard เว็บแดชบอร์ด Next.js จัดการ Knowledge Base & ดู Chat Logs
🧠 Knowledge Base ฐานข้อมูลความรู้ธุรกิจแก้ไขได้แบบ Live ผ่าน Dashboard
🔐 Auth System ระบบ Login แอดมินด้วย Cookie Session
🌐 Local Tunnel สร้าง Public HTTPS URL อัตโนมัติสำหรับ Webhook Testing
☁️ Cloud Ready รองรับ Deploy บน Vercel ได้ทันที

📁 โครงสร้างโปรเจกต์ (Project Structure)

auto-line-mcp/
├── line-mcp/                 # 📦 Custom MCP Server สำหรับควบคุม LINE Messaging API
│   ├── index.js              # Server Tools: send_line_broadcast, send_line_push, get_line_bot_info
│   └── package.json
│
├── thai-crypto-mcp/          # 🪙 Custom MCP Server สำหรับเช็คราคาคริปโตและแปลงค่าเงิน
│   ├── index.js              # Tools: get_crypto_price, convert_currency
│   └── package.json
│
├── line-ai-agent/            # 🤖 AI Agent Backend & CLI Tool
│   ├── src/
│   │   ├── agent.js          # ระบบประมวลผลข้อความและจับคู่เงื่อนไขความรู้
│   │   ├── cli.js            # เครื่องมือ CLI สำหรับสั่งการผ่าน Terminal
│   │   ├── config.js         # จัดการ Environment และโหลดไฟล์ความรู้
│   │   ├── mcp-client.js     # สะพานเชื่อมต่อไปยัง MCP Servers
│   │   └── server.js         # Express Webhook Server + Local Tunnel
│   ├── knowledge.json        # ฐานข้อมูลความรู้ธุรกิจ (Knowledge Base)
│   └── package.json
│
├── line-bot-dashboard/       # 🖥️ Full-stack Web Admin Dashboard (Next.js 14)
│   ├── app/
│   │   ├── api/
│   │   │   ├── auth/         # ระบบ Login / Logout แอดมิน (Cookie Session)
│   │   │   ├── knowledge/    # API ดึงและอัปเดตข้อมูลความรู้ธุรกิจ
│   │   │   └── webhook/      # API Webhook รองรับการ Deploy ขึ้น Cloud (Vercel)
│   │   ├── layout.js
│   │   └── page.js           # หน้า GUI ควบคุมบอท, แก้ไขความรู้ และดู Chat Logs
│   ├── lib/
│   │   └── knowledge.js      # ตัวจัดการฐานข้อมูล JSON File Store
│   ├── data_store.json       # ไฟล์บันทึกข้อมูลและประวัติแชท
│   └── package.json
│
└── mcp_config.json           # ⚙️ ไฟล์การตั้งค่า MCP สำหรับเชื่อมต่อกับ AI / Antigravity

🛠️ รายละเอียดของแต่ละโมดูล (Module Components)

1. line-mcp — MCP Server สำหรับ LINE

Server มาตรฐาน Model Context Protocol เพื่อให้ AI Agent สามารถเรียกใช้ฟังก์ชันของ LINE ได้โดยตรง:

  • send_line_broadcast: ส่งข้อความ Broadcast ประกาศข่าวสารหาเพื่อนทุกคนใน LINE Official Account
  • send_line_push: ส่งข้อความระบุเจาะจงรายบุคคลหรือรายกลุ่ม (Push Message) ผ่าน user_id / group_id
  • get_line_bot_info: ดึงข้อมูลโปรไฟล์บอท (ชื่อบอท, Basic ID, Premium ID, รูปโปรไฟล์)

2. thai-crypto-mcp — MCP Server ด้านการเงิน & Crypto

  • get_crypto_price: เช็คราคาเหรียญคริปโตล่าสุด (USD และ THB) พร้อม % เปลี่ยนแปลงใน 24 ชม. ผ่าน CoinGecko API
  • convert_currency: คำนวณอัตราแลกเปลี่ยนเงินตราระหว่างประเทศแบบ Realtime (THB, USD, JPY, EUR, GBP ฯลฯ)

3. line-ai-agent — AI Agent & Local Webhook

ระบบ Backend และ CLI สำหรับรัน AI Agent:

  • ตอบคำถามลูกค้าอัตโนมัติโดยอ้างอิงจาก knowledge.json
  • มีฟังก์ชันสร้าง Public HTTPS Tunnel อัตโนมัติในตัว (ผ่าน localtunnel) ทำให้สามารถเทส LINE Webhook จากเครื่อง Local ได้ทันทีโดยไม่ต้องลงโปรแกรมเพิ่ม
  • มีคำสั่ง CLI ครบครันสำหรับทดสอบและสั่งงาน

4. line-bot-dashboard — Web Admin Dashboard

เว็บแดชบอร์ดสร้างด้วย Next.js 14 & React:

  • 🔐 ระบบความปลอดภัย (Admin Authentication): เข้าใช้งานด้วยรหัสผ่านแอดมิน พร้อมระบบ Cookie Session
  • 🧠 สอนงาน AI (Live Knowledge Editor): แก้ไขข้อมูลสินค้า/บริการ, ราคา, เอกสาร หรือข้อความตอบกลับได้ทันทีผ่านหน้าเว็บ
  • 🟢 สวิตช์เปิด/ปิด Auto-Reply: เลือกเปิดหรือปิดการตอบอัตโนมัติได้แบบเรียลไทม์
  • 💬 ประวัติบทสนทนา (Live Chat Logs): แสดงข้อความที่ลูกค้าทักมาและคำตอบที่ AI ตอบกลับไป

🚀 การติดตั้งและเริ่มต้นใช้งาน (Getting Started)

ความต้องการของระบบ (Prerequisites)


การตั้งค่า Environment Variables (.env)

สร้างไฟล์ .env ในโฟลเดอร์ line-ai-agent และ line-bot-dashboard:

ตัวอย่าง .env สำหรับ line-ai-agent:

PORT=3010
LINE_CHANNEL_ACCESS_TOKEN="your_channel_access_token_here"
LINE_CHANNEL_SECRET="your_channel_secret_here"

ตัวอย่าง .env สำหรับ line-bot-dashboard:

ADMIN_PASSWORD="your_admin_password"   # รหัสผ่านเข้า Dashboard (ค่าเริ่มต้น: 123456)
LINE_CHANNEL_ACCESS_TOKEN="your_channel_access_token_here"
LINE_CHANNEL_SECRET="your_channel_secret_here"

💻 วิธีการรันระบบ (How to Run)

1. รัน AI Agent + Local Webhook พร้อม Public URL (แนะนำ)

เปิด Terminal ไปที่โฟลเดอร์ line-ai-agent:

cd line-ai-agent
npm install
npm run cli live

ระบบจะแสดง URL สาธารณะ เช่น:

======================================================
 🎉 PUBLIC LIVE WEBHOOK IS READY!
 🔗 Public Webhook URL:
    https://xxxx-xxxx.loca.lt/webhook

 👉 นำ URL ด้านบนไปใส่ใน LINE Developers -> Messaging API -> Webhook URL
======================================================

2. รันคำสั่งต่างๆ ผ่าน CLI (line-ai-agent)

คำสั่ง คำอธิบาย
node src/cli.js live รัน Webhook Server พร้อมเปิด Public HTTPS Tunnel ทันที
node src/cli.js status ตรวจสอบสถานะบอท, การเชื่อมต่อ LINE Token และ MCP Tools ทั้งหมด
node src/cli.js test "" ทดสอบจำลองพิมพ์คุยกับ AI Agent บน Terminal
node src/cli.js broadcast "" ส่งข้อความบรอดแคสต์หาเพื่อนทุกคนใน LINE OA ผ่าน MCP
node src/cli.js help แสดงคู่มือคำสั่งทั้งหมด

3. รัน Web Admin Dashboard (Next.js)

เปิด Terminal ไปที่โฟลเดอร์ line-bot-dashboard:

cd line-bot-dashboard
npm install
npm run dev

เปิด Browser ไปที่ http://localhost:3000 เพื่อเข้าใช้งาน Admin Dashboard


⚙️ การตั้งค่า MCP ใน AI Tools (mcp_config.json)

สามารถนำการตั้งค่าจาก mcp_config.json ไปใช้งานร่วมกับเครื่องมือที่รองรับ MCP (เช่น Antigravity หรือ Claude Desktop):

{
  "mcpServers": {
    "thai-crypto-mcp": {
      "command": "node",
      "args": ["path/to/thai-crypto-mcp/index.js"]
    },
    "line-mcp": {
      "command": "node",
      "args": ["path/to/line-mcp/index.js"],
      "env": {
        "LINE_CHANNEL_ACCESS_TOKEN": "YOUR_LINE_CHANNEL_ACCESS_TOKEN",
        "LINE_CHANNEL_SECRET": "YOUR_LINE_CHANNEL_SECRET"
      }
    }
  }
}

🌐 การ Deploy ขึ้น Cloud (Production Deployment)

การ Deploy line-bot-dashboard บน Vercel:

  1. เชื่อมต่อ Git Repository กับ Vercel
  2. ตั้งค่า Root Directory เป็น line-bot-dashboard
  3. กำหนด Environment Variables:
    • ADMIN_PASSWORD
    • LINE_CHANNEL_ACCESS_TOKEN
    • LINE_CHANNEL_SECRET
  4. เมื่อ Deploy เสร็จสิ้น นำ URL ที่ได้ เช่น https://your-app.vercel.app/api/webhook ไปใส่ใน LINE Developers Console

🧰 Tech Stack

เทคโนโลยี การใช้งาน
@modelcontextprotocol/sdk MCP Server & Client Implementation
Next.js 14 Web Admin Dashboard (Full-stack)
React 18 Frontend UI Components
Google Generative AI (Gemini) AI Language Model สำหรับ Auto-Reply
Node.js & Express Backend Webhook Server
Localtunnel Public HTTPS Tunnel สำหรับ Development
LINE Messaging API การเชื่อมต่อกับ LINE Platform
CoinGecko API ข้อมูลราคา Cryptocurrency

📄 ใบอนุญาต (License)

โปรเจกต์นี้พัฒนาสำหรับใช้งานส่วนบุคคลและองค์กร ภายใต้สัญญาอนุญาต MIT License


]]>

View this README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide

Configuration

{ "mcpServers": { "thai-crypto-mcp": { "command": "node", "args": ["path/to/thai-crypto-mcp/index.js"] }, "line-mcp": { "command": "node", "args": ["path/to/line-mcp/index.js"], "env": { "LINE_CHANNEL_ACCESS_TOKEN": "YOUR_LINE_CHANNEL_ACCESS_TOKEN", "LINE_CHANNEL_SECRET": "YOUR_LINE_CHANNEL_SECRET" } } } }