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

[!NOTE] ที่เก็บนี้จัดให้ในรูปแบบเวอร์ชันพรีวิว แม้ว่าเราจะนำเสนอเพื่อวัตถุประสงค์ในการทดลอง แต่โปรดทราบว่าอาจไม่รวมฟังก์ชันการทำงานที่สมบูรณ์หรือการสนับสนุนที่ครอบคลุม
เครื่องมือ
-
push_text_message
- ส่งข้อความตัวอักษรธรรมดาไปยังผู้ใช้ผ่าน LINE
- อินพุต:
userId(string?): รหัสผู้ใช้ที่จะรับข้อความ ค่าเริ่มต้นคือ DESTINATION_USER_ID ต้องตั้งค่าuserIdหรือDESTINATION_USER_IDmessage.text(string): เนื้อหาข้อความตัวอักษรธรรมดาที่จะส่งถึงผู้ใช้
-
push_flex_message
- ส่งข้อความแบบยืดหยุ่นที่ปรับแต่งได้สูงไปยังผู้ใช้ผ่าน LINE
- อินพุต:
userId(string?): รหัสผู้ใช้ที่จะรับข้อความ ค่าเริ่มต้นคือ DESTINATION_USER_ID ต้องตั้งค่าuserIdหรือDESTINATION_USER_IDmessage.altText(string): ข้อความทางเลือกที่แสดงเมื่อไม่สามารถแสดงข้อความแบบยืดหยุ่นได้message.contents(any): เนื้อหาของข้อความแบบยืดหยุ่น นี่คือออบเจกต์ JSON ที่กำหนดเค้าโครงและส่วนประกอบของข้อความmessage.contents.type(enum): ประเภทของคอนเทนเนอร์ 'bubble' สำหรับคอนเทนเนอร์เดี่ยว 'carousel' สำหรับบับเบิลที่ปัดได้หลายอัน
-
broadcast_text_message
- กระจายข้อความตัวอักษรธรรมดาผ่าน LINE ไปยังผู้ใช้ทั้งหมดที่ติดตาม LINE Official Account ของคุณ
- อินพุต:
message.text(string): เนื้อหาข้อความตัวอักษรธรรมดาที่จะส่งถึงผู้ใช้
-
broadcast_flex_message
- กระจายข้อความแบบยืดหยุ่นที่ปรับแต่งได้สูงผ่าน LINE ไปยังผู้ใช้ทั้งหมดที่เพิ่ม LINE Official Account ของคุณ
- อินพุต:
message.altText(string): ข้อความทางเลือกที่แสดงเมื่อไม่สามารถแสดงข้อความแบบยืดหยุ่นได้message.contents(any): เนื้อหาของข้อความแบบยืดหยุ่น นี่คือออบเจกต์ JSON ที่กำหนดเค้าโครงและส่วนประกอบของข้อความmessage.contents.type(enum): ประเภทของคอนเทนเนอร์ 'bubble' สำหรับคอนเทนเนอร์เดี่ยว 'carousel' สำหรับบับเบิลที่ปัดได้หลายอัน
-
get_profile
- รับข้อมูลโปรไฟล์โดยละเอียดของผู้ใช้ LINE รวมถึงชื่อที่แสดง, URL รูปโปรไฟล์, ข้อความสถานะ และภาษา
- อินพุต:
userId(string?): รหัสของผู้ใช้ที่คุณต้องการดึงโปรไฟล์ ค่าเริ่มต้นคือ DESTINATION_USER_ID
-
get_message_quota
- รับโควตาข้อความและการใช้งานของ LINE Official Account ซึ่งแสดงขีดจำกัดข้อความรายเดือนและการใช้งานปัจจุบัน
- อินพุต:
- ไม่มี
-
get_rich_menu_list
- รับรายการริชเมนูที่เชื่อมโยงกับ LINE Official Account ของคุณ
- อินพุต:
- ไม่มี
-
delete_rich_menu
- ลบริชเมนูออกจาก LINE Official Account ของคุณ
- อินพุต:
richMenuId(string): รหัสของริชเมนูที่จะลบ
-
set_rich_menu_default
- ตั้งค่าริชเมนูเป็นริชเมนูเริ่มต้น
- อินพุต:
richMenuId(string): รหัสของริชเมนูที่จะตั้งเป็นค่าเริ่มต้น
-
cancel_rich_menu_default
- ยกเลิกริชเมนูเริ่มต้น
- อินพุต:
- ไม่มี
-
create_rich_menu
- สร้างริชเมนูตามการกระทำที่กำหนด สร้างและอัปโหลดรูปภาพ ตั้งเป็นค่าเริ่มต้น
- อินพุต:
chatBarText(string): ข้อความที่แสดงในแถบแชท ใช้เป็นชื่อริชเมนูด้วยactions(array): การกระทำของริชเมนู คุณสามารถระบุได้อย่างน้อย 1 ถึงสูงสุด 6 การกระทำ แต่ละการกระทำสามารถเป็นหนึ่งในประเภทต่อไปนี้:postback: สำหรับส่งการกระทำ postbackmessage: สำหรับส่งข้อความตัวอักษรuri: สำหรับเปิด URLdatetimepicker: สำหรับเปิดตัวเลือกวันที่/เวลาcamera: สำหรับเปิดกล้องcameraRoll: สำหรับเปิดม้วนฟิล์มlocation: สำหรับส่งตำแหน่งปัจจุบันrichmenuswitch: สำหรับสลับไปยังริชเมนูอื่นclipboard: สำหรับคัดลอกข้อความไปยังคลิปบอร์ด
-
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-serverCHANNEL_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 เพื่อทดสอบและดีบักเซิร์ฟเวอร์ภายในเครื่องได้
ข้อกำหนดเบื้องต้น
- โคลนที่เก็บ:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
- ติดตั้งการพึ่งพา:
npm install
- สร้างโปรเจกต์:
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 และทดสอบฟังก์ชันการทำงานของมันได้
การกำหนดเวอร์ชัน
โปรเจกต์นี้เคารพการกำหนดเวอร์ชันเชิงความหมาย
การมีส่วนร่วม
โปรดตรวจสอบ CONTRIBUTING ก่อนทำการมีส่วนร่วม