LINE Official Account MCP Server

ทางการ

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

เอกสาร

日本語版 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 [email protected]: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 [email protected]: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 ก่อนทำการมีส่วนร่วม