MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

L
Line Self Bot MCP
作者 @GOD00072

MCP server to control a LINE account from an AI assistant

创建于 6/12/2026
更新于 about 4 hours ago
Repository documentation and setup instructions

LINE Self-Bot MCP

MCP (Model Context Protocol) server ที่ให้ AI assistant (Claude, ฯลฯ) ควบคุมบัญชี LINE ของคุณได้ — ดูรายการแชท, อ่าน/สรุปประวัติข้อความ, เช็คข้อความที่ยังไม่อ่าน, ส่ง/ตอบข้อความ, ดูรายชื่อสมาชิกกลุ่ม และอ่านรูปในแชท

⚠️ คำเตือน: เป็น self-bot (รันบนบัญชีผู้ใช้จริง ไม่ใช่ official account) — ผิด LINE Terms of Service และมีความเสี่ยงโดนแบนบัญชี แนะนำให้ใช้บัญชีรองสำหรับทดสอบเท่านั้น และเก็บ storage.json (มี token) เป็นความลับ

ความสามารถ

  • 🔐 Login ด้วย QR (เทอร์มินอล / เว็บ) หรือ authToken — token เก็บถาวร login ครั้งเดียวพอ
  • 💬 ดูรายการแชท, อ่านประวัติ (ถอด E2EE อัตโนมัติ), เช็คข้อความที่ยังไม่อ่าน
  • ✉️ ส่ง / ตอบข้อความ (รองรับ E2EE 1:1 และกลุ่ม)
  • 📎 ส่งรูปภาพ / ไฟล์ / วิดีโอ / เสียง (จาก path, url หรือ base64)
  • 👥 ดูรายชื่อสมาชิกในกลุ่ม
  • 🖼️ อ่าน/ดาวน์โหลดรูปในแชท (ส่งให้ AI ดูเนื้อหาได้)
  • 📡 รับข้อความเรียลไทม์

ติดตั้ง

ต้องมี Deno v2+:

curl -fsSL https://deno.land/install.sh | sh

clone แล้วติดตั้ง dependency:

git clone <repo-url> line-self-bot-mcp
cd line-self-bot-mcp
deno install

เข้าสู่ระบบ

Login ครั้งเดียว — token จะถูกเซฟใน storage.json แล้ว MCP server หยิบไปใช้ต่ออัตโนมัติ (รวมถึง sync E2EE key ให้เองตอน login กันปัญหา "invalid sender key")

สแกน QR ในเทอร์มินอล (ง่ายสุด):

deno task login

สแกน QR ผ่านหน้าเว็บ (เปิดเบราว์เซอร์ให้อัตโนมัติ, เหมาะกับเครื่อง remote):

deno task login:web      # เปิด http://localhost:8770

เครื่อง remote: forward port ก่อน — ssh -L 8770:localhost:8770 user@host

เปิดแอป LINE บนมือถือ → เพิ่มเพื่อน → QR code → สแกน เสร็จแล้วใช้งานได้เลย

เชื่อมกับ Claude

ใช้ absolute path ของ main.ts และ path เต็มของ deno (เผื่อ PATH ไม่เจอ)

Claude Code:

claude mcp add -s user line -- /path/to/deno run -A /abs/path/to/line-self-bot-mcp/main.ts

Claude Desktop — เพิ่มใน claude_desktop_config.json:

{
  "mcpServers": {
    "line": {
      "command": "/path/to/deno",
      "args": ["run", "-A", "/abs/path/to/line-self-bot-mcp/main.ts"]
    }
  }
}

ถ้ายังไม่ได้ login ไว้ก่อน สามารถ login ผ่าน tool ได้เลย: line_login_web (เปิดเว็บ+เบราว์เซอร์), line_login (คืน QR เป็นรูป), หรือ line_login_token

Tools

| Tool | หน้าที่ | |------|---------| เข้าสู่ระบบ | Tool | หน้าที่ | |------|---------| | line_login | สแกน QR เข้าสู่ระบบ (คืนรูป QR inline) | | line_login_web | เปิดหน้าเว็บ + เบราว์เซอร์ให้สแกน QR อัตโนมัติ | | line_login_token | เข้าสู่ระบบด้วย authToken ที่มีอยู่แล้ว | | line_status | เช็คสถานะ login + โปรไฟล์ |

อ่าน | Tool | หน้าที่ | |------|---------| | line_list_chats | รายการแชท (กลุ่ม+เพื่อน) พร้อมข้อความล่าสุด | | line_refresh_chats | sync เพื่อน/กลุ่มสดจาก server (เมื่อเพิ่งแอด/เข้ากลุ่มใหม่) | | line_unread | แชทที่ยังไม่อ่าน + จำนวนข้อความค้าง | | line_get_history | ประวัติข้อความย้อนหลัง (ถอด E2EE, อัปเดตล่าสุดเสมอ) | | line_recent_messages | ข้อความเรียลไทม์ที่เข้ามาหลัง server เริ่ม | | line_group_members | รายชื่อสมาชิกในกลุ่ม (+ ผู้สร้าง / คนที่ถูกเชิญ) | | line_get_image | อ่าน/ดาวน์โหลดรูปในแชท ให้ AI ดูเนื้อหาได้ |

ส่ง | Tool | หน้าที่ | |------|---------| | line_send_message | ส่ง / ตอบข้อความ (รองรับ replyTo) | | line_send_image | ส่งรูปภาพ (จาก path / url / base64) | | line_send_file | ส่งไฟล์ เอกสาร/วิดีโอ/เสียง (จาก path / url / base64) | | line_send_flex | ส่ง Flex Message (ใช้ได้เฉพาะ official account — บัญชีผู้ใช้ทั่วไปส่งไม่ได้) |

ตั้งค่าเสียง (เตรียมสำหรับโทร) | Tool | หน้าที่ | |------|---------| | line_audio_list | ตรวจไมค์/ลำโพงในเครื่องแบบไดนามิก (PulseAudio/PipeWire) | | line_audio_set | เลือกไมค์/ลำโพงที่จะใช้ (ใส่ชื่อเต็มหรือบางส่วน) | | line_audio_test | ทดสอบ — เล่นโทนออกลำโพง / วัดระดับไมค์ |

💡 ให้ AI ช่วยตั้งค่าเสียงได้: "ดูอุปกรณ์เสียงในเครื่อง" → "ใช้ headset เป็นไมค์กับลำโพง" → "ทดสอบเสียงหน่อย"

ตัวอย่างคำสั่งกับ AI

  • "เช็คแชท LINE ที่ยังไม่อ่าน"
  • "อ่านแชทกับ [ชื่อ] แล้วสรุปให้หน่อย"
  • "ตอบ [ชื่อ] ว่า ..."
  • "ส่งรูป /path/to/pic.jpg ไปหา [ชื่อ]"
  • "ดูสมาชิกกลุ่ม [ชื่อกลุ่ม]"

โครงสร้าง

main.ts                  entry point — สร้าง server + service แล้ว connect stdio
login.ts                 ตัวช่วย login แบบสแกน QR (เทอร์มินอล / เว็บ)
storage.json             session/token (ห้าม commit — อยู่ใน .gitignore)
src/
  types.ts               type ที่ใช้ร่วมกัน
  config.ts              path, port, ค่าคงที่ (media kind ฯลฯ)
  browser.ts             เปิดเบราว์เซอร์ข้าม OS
  line/service.ts        service layer — login, แชท, ประวัติ, ส่ง, E2EE, polling
  web/login-page.ts      หน้าเว็บ login (QR)
  tools/                 นิยาม MCP tools แยกตามหมวด
    index.ts             ลงทะเบียน tools ทั้งหมด
    helpers.ts           ok / json / guard
    format.ts            จัดรูปแบบข้อความ (เวลา, transcript)
    login.ts             tools: login / status
    chats.ts             tools: list / unread / history / group members
    messages.ts          tools: send / flex / recent
    media.ts             tools: get image

รัน / ทดสอบ

deno task start      # รัน MCP server (stdio)
deno task inspect    # เปิด MCP Inspector ทดสอบ tools แบบ interactive

ข้อจำกัด

  • Flex Message ส่งจากบัญชีผู้ใช้ไม่ได้ — LINE จำกัดให้เฉพาะ official account (INCOMPATIBLE_APP_VERSION)
  • เป็น unofficial client — โครงสร้าง LINE protocol อาจเปลี่ยนได้ตลอด

License

MIT

快速设置
此服务器的安装指南

安装包 (如果需要)

npx @modelcontextprotocol/server-line-self-bot-mcp

Cursor 配置 (mcp.json)

{ "mcpServers": { "god00072-line-self-bot-mcp": { "command": "npx", "args": [ "god00072-line-self-bot-mcp" ] } } }