LINE Official Account

chính thức

Tích hợp LINE Messaging API để kết nối AI Agent với LINE Official Account.

Bạn có thể làm gì với LINE Official Account MCP?

  • Gửi tin nhắn văn bản — Đẩy một tin nhắn văn bản thuần túy đến một người dùng cụ thể qua push_text_message hoặc phát tới tất cả người theo dõi bằng broadcast_text_message.
  • Gửi tin nhắn flex phong phú — Phân phối các tin nhắn dạng bong bóng hoặc carousel có khả năng tùy chỉnh cao đến một người dùng cá nhân hoặc phát tới tất cả bằng push_flex_message hoặc broadcast_flex_message.
  • Quản lý menu phong phú — Tạo, liệt kê, đặt làm mặc định, hủy mặc định hoặc xóa menu phong phú với các hành động như postback, URI và camera qua create_rich_menu, get_rich_menu_list và các công cụ liên quan.
  • Truy xuất thông tin người dùng và nhóm — Lấy chi tiết hồ sơ của người dùng (tên, ảnh, tin nhắn trạng thái) bằng get_profile, hoặc lấy tóm tắt trò chuyện nhóm bao gồm ID và biểu tượng qua get_group_summary.
  • Theo dõi hạn mức tin nhắn — Kiểm tra giới hạn tin nhắn hàng tháng và mức sử dụng hiện tại của Tài khoản chính thức LINE của bạn bằng get_message_quota.
  • Lấy ID người theo dõi — Truy xuất danh sách phân trang các ID người dùng đã thêm tài khoản của bạn làm bạn bè bằng get_follower_ids, với tùy chọn mã tiếp tục và giới hạn.

Tài liệu

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Bản triển khai máy chủ Model Context Protocol (MCP) tích hợp LINE Messaging API để kết nối AI Agent với Tài khoản chính thức LINE.

[!NOTE] Kho lưu trữ này được cung cấp dưới dạng phiên bản xem trước. Mặc dù chúng tôi cung cấp cho mục đích thử nghiệm, xin lưu ý rằng nó có thể không bao gồm đầy đủ chức năng hoặc hỗ trợ toàn diện.

Công cụ

  1. push_text_message

    • Đẩy một tin nhắn văn bản đơn giản đến người dùng qua LINE.
    • Đầu vào:
      • userId (string?): ID người dùng nhận tin nhắn. Mặc định là DESTINATION_USER_ID. Phải đặt userId hoặc DESTINATION_USER_ID.
      • message.text (string): Nội dung văn bản thuần túy để gửi cho người dùng.
  2. push_flex_message

    • Đẩy một tin nhắn flex có khả năng tùy chỉnh cao đến người dùng qua LINE.
    • Đầu vào:
      • userId (string?): ID người dùng nhận tin nhắn. Mặc định là DESTINATION_USER_ID. Phải đặt userId hoặc DESTINATION_USER_ID.
      • message.altText (string): Văn bản thay thế hiển thị khi không thể hiển thị tin nhắn flex.
      • message.contents (any): Nội dung của tin nhắn flex. Đây là một đối tượng JSON xác định bố cục và các thành phần của tin nhắn.
      • message.contents.type (enum): Loại vùng chứa. 'bubble' cho vùng chứa đơn, 'carousel' cho nhiều bong bóng có thể vuốt.
  3. broadcast_text_message

    • Phát một tin nhắn văn bản đơn giản qua LINE đến tất cả người dùng đã theo dõi Tài khoản chính thức LINE của bạn.
    • Đầu vào:
      • message.text (string): Nội dung văn bản thuần túy để gửi cho người dùng.
  4. broadcast_flex_message

    • Phát một tin nhắn flex có khả năng tùy chỉnh cao qua LINE đến tất cả người dùng đã thêm Tài khoản chính thức LINE của bạn.
    • Đầu vào:
      • message.altText (string): Văn bản thay thế hiển thị khi không thể hiển thị tin nhắn flex.
      • message.contents (any): Nội dung của tin nhắn flex. Đây là một đối tượng JSON xác định bố cục và các thành phần của tin nhắn.
      • message.contents.type (enum): Loại vùng chứa. 'bubble' cho vùng chứa đơn, 'carousel' cho nhiều bong bóng có thể vuốt.
  5. get_profile

    • Lấy thông tin hồ sơ chi tiết của người dùng LINE bao gồm tên hiển thị, URL ảnh đại diện, tin nhắn trạng thái và ngôn ngữ.
    • Đầu vào:
      • userId (string?): ID của người dùng có hồ sơ bạn muốn truy xuất. Mặc định là DESTINATION_USER_ID.
  6. get_message_quota

    • Lấy hạn mức tin nhắn và mức tiêu thụ của Tài khoản chính thức LINE. Điều này hiển thị giới hạn tin nhắn hàng tháng và mức sử dụng hiện tại.
    • Đầu vào:
      • Không có
  7. get_rich_menu_list

    • Lấy danh sách các menu phong phú liên kết với Tài khoản chính thức LINE của bạn.
    • Đầu vào:
      • Không có
  8. delete_rich_menu

    • Xóa một menu phong phú khỏi Tài khoản chính thức LINE của bạn.
    • Đầu vào:
      • richMenuId (string): ID của menu phong phú cần xóa.
  9. set_rich_menu_default

    • Đặt một menu phong phú làm menu phong phú mặc định.
    • Đầu vào:
      • richMenuId (string): ID của menu phong phú cần đặt làm mặc định.
  10. cancel_rich_menu_default

    • Hủy menu phong phú mặc định.
    • Đầu vào:
      • Không có
  11. create_rich_menu

    • Tạo một menu phong phú dựa trên các hành động đã cho. Tạo và tải lên hình ảnh. Đặt làm mặc định.
    • Đầu vào:
      • chatBarText (string): Văn bản hiển thị trong thanh trò chuyện, cũng được dùng làm tên menu phong phú.
      • actions (array): Các hành động của menu phong phú. Bạn có thể chỉ định tối thiểu 1 đến tối đa 6 hành động. Mỗi hành động có thể là một trong các loại sau:
        • postback: Để gửi hành động postback
        • message: Để gửi tin nhắn văn bản
        • uri: Để mở URL
        • datetimepicker: Để mở bộ chọn ngày/giờ
        • camera: Để mở camera
        • cameraRoll: Để mở thư viện ảnh
        • location: Để gửi vị trí hiện tại
        • richmenuswitch: Để chuyển sang menu phong phú khác
        • clipboard: Để sao chép văn bản vào clipboard
  12. get_follower_ids

    • Lấy danh sách ID người dùng của những người đã thêm Tài khoản chính thức LINE làm bạn bè. Điều này cho phép bạn lấy ID người dùng để gửi tin nhắn mà không cần chuẩn bị thủ công.
    • Đầu vào:
      • start (string?): Mã thông báo tiếp tục để lấy mảng ID người dùng tiếp theo. Được trả về trong thuộc tính next của phản hồi trước đó.
      • limit (number?): Số lượng ID người dùng tối đa để truy xuất trong một yêu cầu.
  13. get_group_summary

    • Lấy tóm tắt trò chuyện nhóm bao gồm ID nhóm, tên nhóm và URL biểu tượng nhóm, sử dụng ID nhóm.
    • Đầu vào:
      • groupId (string): ID nhóm của cuộc trò chuyện nhóm mục tiêu.

Cài đặt (Sử dụng npx)

Yêu cầu:

  • Node.js v22 trở lên

Bước 1: Tạo Tài khoản chính thức LINE

Máy chủ MCP này sử dụng Tài khoản chính thức LINE. Nếu bạn chưa có, vui lòng tạo theo hướng dẫn này.

Nếu bạn đã có Tài khoản chính thức LINE, hãy bật Messaging API cho Tài khoản chính thức LINE của bạn theo hướng dẫn này.

Bước 2: Cấu hình AI Agent

Vui lòng thêm cấu hình sau cho AI Agent như Claude Desktop hoặc Cline.

Đặt các biến môi trường hoặc đối số như sau:

  • CHANNEL_ACCESS_TOKEN: (bắt buộc) Channel Access Token. Bạn có thể xác nhận điều này theo hướng dẫn này.
  • DESTINATION_USER_ID: (tùy chọn) ID người dùng mặc định của người nhận. Nếu đầu vào của Công cụ không bao gồm userId, DESTINATION_USER_ID là bắt buộc. Bạn có thể xác nhận điều này theo hướng dẫn này.
{
  "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"
      }
    }
  }
}

Cài đặt (Sử dụng Docker)

Bước 1: Tạo Tài khoản chính thức LINE

Máy chủ MCP này sử dụng Tài khoản chính thức LINE. Nếu bạn chưa có, vui lòng tạo theo hướng dẫn này.

Nếu bạn đã có Tài khoản chính thức LINE, hãy bật Messaging API cho Tài khoản chính thức LINE của bạn theo hướng dẫn này.

Bước 2: Xây dựng hình ảnh line-bot-mcp-server

Sao chép kho lưu trữ này:

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

Xây dựng hình ảnh Docker:

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

Bước 3: Cấu hình AI Agent

Vui lòng thêm cấu hình sau cho AI Agent như Claude Desktop hoặc Cline.

Đặt các biến môi trường hoặc đối số như sau:

  • mcpServers.args: (bắt buộc) Đường dẫn đến line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (bắt buộc) Channel Access Token. Bạn có thể xác nhận điều này theo hướng dẫn này.
  • DESTINATION_USER_ID: (tùy chọn) ID người dùng mặc định của người nhận. Nếu đầu vào của Công cụ không bao gồm userId, DESTINATION_USER_ID là bắt buộc. Bạn có thể xác nhận điều này theo hướng dẫn này.
{
  "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"
      }
    }
  }
}

Phát triển cục bộ với Inspector

Bạn có thể sử dụng MCP Inspector để kiểm tra và gỡ lỗi máy chủ cục bộ.

Điều kiện tiên quyết

  1. Sao chép kho lưu trữ:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Cài đặt các phụ thuộc:
npm install
  1. Xây dựng dự án:
npm run build

Chạy Inspector

Sau khi xây dựng dự án, bạn có thể khởi động 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"

Điều này sẽ khởi động giao diện MCP Inspector nơi bạn có thể tương tác với các công cụ của LINE Bot MCP Server và kiểm tra chức năng của chúng.

Phiên bản

Dự án này tôn trọng phiên bản ngữ nghĩa

Xem http://semver.org/

Đóng góp

Vui lòng kiểm tra CONTRIBUTING trước khi đóng góp.