LINE Official Account

ทางการ

รวม LINE Messaging API เพื่อเชื่อมต่อ AI Agent กับ LINE Official Account

คุณทำอะไรได้บ้างด้วย LINE Official Account MCP?

  • ส่งข้อความธรรมดาไปยังผู้ใช้ที่ระบุ — ขอให้ผู้ช่วยส่งข้อความธรรมดาโดยใช้ push_text_message
  • กระจายข้อความธรรมดาไปยังผู้ติดตามทั้งหมด — ส่งประกาศข้อความถึงทุกคนที่ติดตามบัญชีของคุณผ่าน broadcast_text_message
  • ส่ง Flex Message ที่มีโครงสร้าง — ส่งเลย์เอาต์ที่ปรับแต่งได้ (bubble หรือ carousel) ไปยังผู้ใช้ด้วย push_flex_message
  • ค้นหาโปรไฟล์ LINE ของผู้ใช้ — ดึงข้อมูลชื่อที่แสดง รูป avatar และข้อความสถานะด้วย get_profile
  • ตรวจสอบโควต้าข้อความรายเดือน — ดูจำนวนข้อความที่คุณใช้ไปและขีดจำกัดของคุณผ่าน get_message_quota
  • จัดการ Rich Menu — สร้าง แสดงรายการ ตั้งเป็นค่าเริ่มต้น หรือลบ Rich Menu โดยใช้ create_rich_menu, get_rich_menu_list, set_rich_menu_default และ delete_rich_menu

เอกสาร

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

การใช้งานเซิร์ฟเวอร์ Model Context Protocol (MCP) ที่ผสานรวม LINE Messaging API เพื่อเชื่อมต่อ AI Agent เข้ากับ LINE Official Account

[!NOTE] ที่เก็บนี้จัดให้ในรูปแบบเวอร์ชันพรีวิว แม้ว่าเราจะนำเสนอเพื่อวัตถุประสงค์ในการทดลอง แต่โปรดทราบว่าอาจไม่รวมฟังก์ชันการทำงานที่สมบูรณ์หรือการสนับสนุนที่ครอบคลุม

เครื่องมือ

  1. push_text_message

    • ส่งข้อความตัวอักษรธรรมดาไปยังผู้ใช้ผ่าน LINE
    • อินพุต:
      • userId (string?): รหัสผู้ใช้ที่จะรับข้อความ ค่าเริ่มต้นคือ DESTINATION_USER_ID ต้องตั้งค่า userId หรือ DESTINATION_USER_ID
      • message.text (string): เนื้อหาข้อความตัวอักษรธรรมดาที่จะส่งถึงผู้ใช้
  2. push_flex_message

    • ส่งข้อความแบบยืดหยุ่นที่ปรับแต่งได้สูงไปยังผู้ใช้ผ่าน LINE
    • อินพุต:
      • userId (string?): รหัสผู้ใช้ที่จะรับข้อความ ค่าเริ่มต้นคือ DESTINATION_USER_ID ต้องตั้งค่า userId หรือ DESTINATION_USER_ID
      • message.altText (string): ข้อความทางเลือกที่แสดงเมื่อไม่สามารถแสดงข้อความแบบยืดหยุ่นได้
      • message.contents (any): เนื้อหาของข้อความแบบยืดหยุ่น นี่คือออบเจกต์ JSON ที่กำหนดเค้าโครงและส่วนประกอบของข้อความ
      • message.contents.type (enum): ประเภทของคอนเทนเนอร์ 'bubble' สำหรับคอนเทนเนอร์เดี่ยว 'carousel' สำหรับบับเบิลที่ปัดได้หลายอัน
  3. broadcast_text_message

    • กระจายข้อความตัวอักษรธรรมดาผ่าน LINE ไปยังผู้ใช้ทั้งหมดที่ติดตาม LINE Official Account ของคุณ
    • อินพุต:
      • message.text (string): เนื้อหาข้อความตัวอักษรธรรมดาที่จะส่งถึงผู้ใช้
  4. broadcast_flex_message

    • กระจายข้อความแบบยืดหยุ่นที่ปรับแต่งได้สูงผ่าน LINE ไปยังผู้ใช้ทั้งหมดที่เพิ่ม LINE Official Account ของคุณ
    • อินพุต:
      • message.altText (string): ข้อความทางเลือกที่แสดงเมื่อไม่สามารถแสดงข้อความแบบยืดหยุ่นได้
      • message.contents (any): เนื้อหาของข้อความแบบยืดหยุ่น นี่คือออบเจกต์ JSON ที่กำหนดเค้าโครงและส่วนประกอบของข้อความ
      • message.contents.type (enum): ประเภทของคอนเทนเนอร์ 'bubble' สำหรับคอนเทนเนอร์เดี่ยว 'carousel' สำหรับบับเบิลที่ปัดได้หลายอัน
  5. get_profile

    • รับข้อมูลโปรไฟล์โดยละเอียดของผู้ใช้ LINE รวมถึงชื่อที่แสดง, URL รูปโปรไฟล์, ข้อความสถานะ และภาษา
    • อินพุต:
      • userId (string?): รหัสของผู้ใช้ที่คุณต้องการดึงโปรไฟล์ ค่าเริ่มต้นคือ DESTINATION_USER_ID
  6. get_message_quota

    • รับโควตาข้อความและการใช้งานของ LINE Official Account ซึ่งแสดงขีดจำกัดข้อความรายเดือนและการใช้งานปัจจุบัน
    • อินพุต:
      • ไม่มี
  7. get_rich_menu_list

    • รับรายการริชเมนูที่เชื่อมโยงกับ LINE Official Account ของคุณ
    • อินพุต:
      • ไม่มี
  8. delete_rich_menu

    • ลบริชเมนูออกจาก LINE Official Account ของคุณ
    • อินพุต:
      • richMenuId (string): รหัสของริชเมนูที่จะลบ
  9. set_rich_menu_default

    • ตั้งค่าริชเมนูเป็นริชเมนูเริ่มต้น
    • อินพุต:
      • richMenuId (string): รหัสของริชเมนูที่จะตั้งเป็นค่าเริ่มต้น
  10. cancel_rich_menu_default

    • ยกเลิกริชเมนูเริ่มต้น
    • อินพุต:
      • ไม่มี
  11. create_rich_menu

    • สร้างริชเมนูตามการกระทำที่กำหนด สร้างและอัปโหลดรูปภาพ ตั้งเป็นค่าเริ่มต้น
    • อินพุต:
      • chatBarText (string): ข้อความที่แสดงในแถบแชท ใช้เป็นชื่อริชเมนูด้วย
      • actions (array): การกระทำของริชเมนู คุณสามารถระบุได้อย่างน้อย 1 ถึงสูงสุด 6 การกระทำ แต่ละการกระทำสามารถเป็นหนึ่งในประเภทต่อไปนี้:
        • postback: สำหรับส่งการกระทำ postback
        • message: สำหรับส่งข้อความตัวอักษร
        • uri: สำหรับเปิด URL
        • datetimepicker: สำหรับเปิดตัวเลือกวันที่/เวลา
        • camera: สำหรับเปิดกล้อง
        • cameraRoll: สำหรับเปิดม้วนฟิล์ม
        • location: สำหรับส่งตำแหน่งปัจจุบัน
        • richmenuswitch: สำหรับสลับไปยังริชเมนูอื่น
        • clipboard: สำหรับคัดลอกข้อความไปยังคลิปบอร์ด
  12. get_follower_ids

    • รับรายการรหัสผู้ใช้ของผู้ใช้ที่เพิ่ม LINE Official Account เป็นเพื่อน ซึ่งช่วยให้คุณได้รับรหัสผู้ใช้สำหรับการส่งข้อความโดยไม่ต้องเตรียมด้วยตนเอง
    • อินพุต:
      • start (string?): โทเค็นต่อเนื่องเพื่อรับอาร์เรย์ถัดไปของรหัสผู้ใช้ ส่งคืนในคุณสมบัติ next ของการตอบกลับก่อนหน้า
      • limit (number?): จำนวนรหัสผู้ใช้สูงสุดที่จะดึงในคำขอเดียว

การติดตั้ง (ใช้ npx)

ข้อกำหนด:

  • Node.js v22 หรือใหม่กว่า

ขั้นตอนที่ 1: สร้าง LINE Official Account

เซิร์ฟเวอร์ MCP นี้ใช้ LINE Official Account หากคุณยังไม่มี โปรดสร้างโดยทำตาม คำแนะนำนี้

หากคุณมี LINE Official Account อยู่แล้ว ให้เปิดใช้งาน Messaging API สำหรับ LINE Official Account ของคุณโดยทำตาม คำแนะนำนี้

ขั้นตอนที่ 2: กำหนดค่า AI Agent

โปรดเพิ่มการกำหนดค่าต่อไปนี้สำหรับ AI Agent เช่น Claude Desktop หรือ Cline

ตั้งค่าตัวแปรสภาพแวดล้อมหรืออาร์กิวเมนต์ดังนี้:

  • CHANNEL_ACCESS_TOKEN: (จำเป็น) Channel Access Token คุณสามารถตรวจสอบได้โดยทำตาม คำแนะนำนี้
  • DESTINATION_USER_ID: (ไม่บังคับ) รหัสผู้ใช้เริ่มต้นของผู้รับ หากอินพุตของเครื่องมือไม่มี userId จำเป็นต้องมี DESTINATION_USER_ID คุณสามารถตรวจสอบได้โดยทำตาม คำแนะนำนี้
{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "NPM_CONFIG_IGNORE_SCRIPTS": "true",
        "CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE"
      }
    }
  }
}

การติดตั้ง (ใช้ Docker)

ขั้นตอนที่ 1: สร้าง LINE Official Account

เซิร์ฟเวอร์ MCP นี้ใช้ LINE Official Account หากคุณยังไม่มี โปรดสร้างโดยทำตาม คำแนะนำนี้

หากคุณมี LINE Official Account อยู่แล้ว ให้เปิดใช้งาน Messaging API สำหรับ LINE Official Account ของคุณโดยทำตาม คำแนะนำนี้

ขั้นตอนที่ 2: สร้างอิมเมจ line-bot-mcp-server

โคลนที่เก็บนี้:

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

สร้างอิมเมจ Docker:

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

ขั้นตอนที่ 3: กำหนดค่า AI Agent

โปรดเพิ่มการกำหนดค่าต่อไปนี้สำหรับ AI Agent เช่น Claude Desktop หรือ Cline

ตั้งค่าตัวแปรสภาพแวดล้อมหรืออาร์กิวเมนต์ดังนี้:

  • mcpServers.args: (จำเป็น) พาธไปยัง line-bot-mcp-server
  • CHANNEL_ACCESS_TOKEN: (จำเป็น) Channel Access Token คุณสามารถตรวจสอบได้โดยทำตาม คำแนะนำนี้
  • DESTINATION_USER_ID: (ไม่บังคับ) รหัสผู้ใช้เริ่มต้นของผู้รับ หากอินพุตของเครื่องมือไม่มี userId จำเป็นต้องมี DESTINATION_USER_ID คุณสามารถตรวจสอบได้โดยทำตาม คำแนะนำนี้
{
  "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" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE"
      }
    }
  }
}

การพัฒนาท้องถิ่นด้วย Inspector

คุณสามารถใช้ MCP Inspector เพื่อทดสอบและดีบักเซิร์ฟเวอร์ภายในเครื่องได้

ข้อกำหนดเบื้องต้น

  1. โคลนที่เก็บ:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. ติดตั้งการพึ่งพา:
npm install
  1. สร้างโปรเจกต์:
npm run build

เรียกใช้ Inspector

หลังจากสร้างโปรเจกต์แล้ว คุณสามารถเริ่ม MCP Inspector ได้:

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

นี่จะเริ่มอินเทอร์เฟซ MCP Inspector ซึ่งคุณสามารถโต้ตอบกับเครื่องมือ LINE Bot MCP Server และทดสอบฟังก์ชันการทำงานของมันได้

การกำหนดเวอร์ชัน

โปรเจกต์นี้เคารพการกำหนดเวอร์ชันเชิงความหมาย

ดู http://semver.org/

การมีส่วนร่วม

โปรดตรวจสอบ CONTRIBUTING ก่อนทำการมีส่วนร่วม