LINE Official Account

resmi

Mengintegrasikan LINE Messaging API untuk menghubungkan Agen AI ke LINE Official Account.

Apa yang bisa Anda lakukan dengan LINE Official Account MCP?

  • Mengirim pesan teks — Dorong pesan teks biasa ke pengguna tertentu melalui push_text_message atau siarkan ke semua pengikut dengan broadcast_text_message.
  • Mengirim pesan flex kaya — Kirim pesan bubble atau carousel yang sangat dapat disesuaikan ke pengguna individu atau siarkan menggunakan push_flex_message atau broadcast_flex_message.
  • Mengelola menu kaya — Buat, daftarkan, tetapkan sebagai default, batalkan default, atau hapus menu kaya dengan tindakan seperti postback, URI, dan kamera melalui create_rich_menu, get_rich_menu_list, dan alat terkait.
  • Mengambil info pengguna dan grup — Ambil detail profil pengguna (nama, gambar, pesan status) dengan get_profile, atau dapatkan ringkasan obrolan grup termasuk ID dan ikon melalui get_group_summary.
  • Memantau kuota pesan — Periksa batas pesan bulanan dan penggunaan saat ini dari LINE Official Account Anda menggunakan get_message_quota.
  • Mendapatkan ID pengikut — Ambil daftar ID pengguna yang telah menambahkan akun Anda sebagai teman menggunakan get_follower_ids, dengan token lanjutan dan batas opsional.

Dokumentasi

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Implementasi server Model Context Protocol (MCP) yang mengintegrasikan LINE Messaging API untuk menghubungkan AI Agent dengan LINE Official Account.

[!NOTE] Repositori ini disediakan sebagai versi pratinjau. Meskipun kami menyediakannya untuk tujuan eksperimental, harap disadari bahwa repositori ini mungkin tidak mencakup fungsionalitas lengkap atau dukungan yang komprehensif.

Tools

  1. push_text_message

    • Mengirim pesan teks sederhana kepada pengguna melalui LINE.
    • Input:
      • userId (string?): ID pengguna yang akan menerima pesan. Defaultnya adalah DESTINATION_USER_ID. Salah satu dari userId atau DESTINATION_USER_ID harus diatur.
      • message.text (string): Konten teks biasa yang akan dikirim kepada pengguna.
  2. push_flex_message

    • Mengirim pesan flex yang sangat dapat disesuaikan kepada pengguna melalui LINE.
    • Input:
      • userId (string?): ID pengguna yang akan menerima pesan. Defaultnya adalah DESTINATION_USER_ID. Salah satu dari userId atau DESTINATION_USER_ID harus diatur.
      • message.altText (string): Teks alternatif yang ditampilkan ketika pesan flex tidak dapat ditampilkan.
      • message.contents (any): Isi dari pesan flex. Ini adalah objek JSON yang mendefinisikan tata letak dan komponen pesan.
      • message.contents.type (enum): Jenis kontainer. 'bubble' untuk kontainer tunggal, 'carousel' untuk beberapa bubble yang dapat digeser.
  3. broadcast_text_message

    • Menyiarkan pesan teks sederhana melalui LINE kepada semua pengguna yang telah mengikuti LINE Official Account Anda.
    • Input:
      • message.text (string): Konten teks biasa yang akan dikirim kepada pengguna.
  4. broadcast_flex_message

    • Menyiarkan pesan flex yang sangat dapat disesuaikan melalui LINE kepada semua pengguna yang telah menambahkan LINE Official Account Anda.
    • Input:
      • message.altText (string): Teks alternatif yang ditampilkan ketika pesan flex tidak dapat ditampilkan.
      • message.contents (any): Isi dari pesan flex. Ini adalah objek JSON yang mendefinisikan tata letak dan komponen pesan.
      • message.contents.type (enum): Jenis kontainer. 'bubble' untuk kontainer tunggal, 'carousel' untuk beberapa bubble yang dapat digeser.
  5. get_profile

    • Mendapatkan informasi profil terperinci dari pengguna LINE termasuk nama tampilan, URL gambar profil, pesan status, dan bahasa.
    • Input:
      • userId (string?): ID pengguna yang profilnya ingin Anda ambil. Defaultnya adalah DESTINATION_USER_ID.
  6. get_message_quota

    • Mendapatkan kuota pesan dan konsumsi dari LINE Official Account. Ini menunjukkan batas pesan bulanan dan penggunaan saat ini.
    • Input:
      • Tidak ada
  7. get_rich_menu_list

    • Mendapatkan daftar rich menu yang terkait dengan LINE Official Account Anda.
    • Input:
      • Tidak ada
  8. delete_rich_menu

    • Menghapus rich menu dari LINE Official Account Anda.
    • Input:
      • richMenuId (string): ID rich menu yang akan dihapus.
  9. set_rich_menu_default

    • Mengatur rich menu sebagai rich menu default.
    • Input:
      • richMenuId (string): ID rich menu yang akan diatur sebagai default.
  10. cancel_rich_menu_default

    • Membatalkan rich menu default.
    • Input:
      • Tidak ada
  11. create_rich_menu

    • Membuat rich menu berdasarkan aksi yang diberikan. Menghasilkan dan mengunggah gambar. Mengatur sebagai default.
    • Input:
      • chatBarText (string): Teks yang ditampilkan di bilah obrolan, juga digunakan sebagai nama rich menu.
      • actions (array): Aksi dari rich menu. Anda dapat menentukan minimal 1 hingga maksimal 6 aksi. Setiap aksi dapat berupa salah satu dari jenis berikut:
        • postback: Untuk mengirim aksi postback
        • message: Untuk mengirim pesan teks
        • uri: Untuk membuka URL
        • datetimepicker: Untuk membuka pemilih tanggal/waktu
        • camera: Untuk membuka kamera
        • cameraRoll: Untuk membuka rol kamera
        • location: Untuk mengirim lokasi saat ini
        • richmenuswitch: Untuk beralih ke rich menu lain
        • clipboard: Untuk menyalin teks ke clipboard
  12. get_follower_ids

    • Mendapatkan daftar ID pengguna yang telah menambahkan LINE Official Account sebagai teman. Ini memungkinkan Anda untuk mendapatkan ID pengguna untuk mengirim pesan tanpa menyiapkannya secara manual.
    • Input:
      • start (string?): Token kelanjutan untuk mendapatkan array ID pengguna berikutnya. Dikembalikan dalam properti next dari respons sebelumnya.
      • limit (number?): Jumlah maksimum ID pengguna yang akan diambil dalam satu permintaan.
  13. get_group_summary

    • Mendapatkan ringkasan obrolan grup termasuk ID grup, nama grup, dan URL ikon grup, menggunakan ID grup.
    • Input:
      • groupId (string): ID grup dari obrolan grup target.

Instalasi (Menggunakan npx)

persyaratan:

  • Node.js v22 atau lebih baru

Langkah 1: Buat LINE Official Account

Server MCP ini menggunakan LINE Official Account. Jika Anda belum memilikinya, silakan buat dengan mengikuti instruksi ini.

Jika Anda memiliki LINE Official Account, aktifkan Messaging API untuk LINE Official Account Anda dengan mengikuti instruksi ini.

Langkah 2: Konfigurasi AI Agent

Silakan tambahkan konfigurasi berikut untuk AI Agent seperti Claude Desktop atau Cline.

Atur variabel lingkungan atau argumen sebagai berikut:

  • CHANNEL_ACCESS_TOKEN: (wajib) Channel Access Token. Anda dapat mengonfirmasi ini dengan mengikuti instruksi ini.
  • DESTINATION_USER_ID: (opsional) ID pengguna default penerima. Jika input Tool tidak menyertakan userId, DESTINATION_USER_ID diperlukan. Anda dapat mengonfirmasi ini dengan mengikuti instruksi ini.
{
  "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"
      }
    }
  }
}

Instalasi (Menggunakan Docker)

Langkah 1: Buat LINE Official Account

Server MCP ini menggunakan LINE Official Account. Jika Anda belum memilikinya, silakan buat dengan mengikuti instruksi ini.

Jika Anda memiliki LINE Official Account, aktifkan Messaging API untuk LINE Official Account Anda dengan mengikuti instruksi ini.

Langkah 2: Bangun image line-bot-mcp-server

Kloning repositori ini:

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

Bangun image Docker:

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

Langkah 3: Konfigurasi AI Agent

Silakan tambahkan konfigurasi berikut untuk AI Agent seperti Claude Desktop atau Cline.

Atur variabel lingkungan atau argumen sebagai berikut:

  • mcpServers.args: (wajib) Jalur ke line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (wajib) Channel Access Token. Anda dapat mengonfirmasi ini dengan mengikuti instruksi ini.
  • DESTINATION_USER_ID: (opsional) ID pengguna default penerima. Jika input Tool tidak menyertakan userId, DESTINATION_USER_ID diperlukan. Anda dapat mengonfirmasi ini dengan mengikuti instruksi ini.
{
  "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"
      }
    }
  }
}

Pengembangan Lokal dengan Inspector

Anda dapat menggunakan MCP Inspector untuk menguji dan men-debug server secara lokal.

Prasyarat

  1. Kloning repositori:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Instal dependensi:
npm install
  1. Bangun proyek:
npm run build

Jalankan Inspector

Setelah membangun proyek, Anda dapat memulai 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"

Ini akan memulai antarmuka MCP Inspector di mana Anda dapat berinteraksi dengan tools LINE Bot MCP Server dan menguji fungsionalitasnya.

Versioning

Proyek ini menghormati semantic versioning

Lihat http://semver.org/

Kontribusi

Silakan periksa CONTRIBUTING sebelum melakukan kontribusi.