LINE Official Account MCP Server

resmi

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

Dokumentasi

Versi README bahasa Jepang di sini

LINE Bot MCP Server

npmjs

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

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

Alat

  1. push_text_message

    • Kirim pesan teks sederhana ke pengguna melalui LINE.
    • Input:
      • userId (string?): ID pengguna yang akan menerima pesan. Default ke DESTINATION_USER_ID. userId atau DESTINATION_USER_ID harus diatur.
      • message.text (string): Konten teks biasa yang akan dikirim ke pengguna.
  2. push_flex_message

    • Kirim pesan fleksibel yang sangat dapat disesuaikan ke pengguna melalui LINE.
    • Input:
      • userId (string?): ID pengguna yang akan menerima pesan. Default ke DESTINATION_USER_ID. userId atau DESTINATION_USER_ID harus diatur.
      • message.altText (string): Teks alternatif yang ditampilkan saat pesan fleksibel tidak dapat ditampilkan.
      • message.contents (any): Konten pesan fleksibel. Ini adalah objek JSON yang mendefinisikan tata letak dan komponen pesan.
      • message.contents.type (enum): Jenis kontainer. 'bubble' untuk kontainer tunggal, 'carousel' untuk beberapa gelembung yang dapat digeser.
  3. broadcast_text_message

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

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

    • Dapatkan informasi profil detail pengguna LINE termasuk nama tampilan, URL gambar profil, pesan status, dan bahasa.
    • Input:
      • userId (string?): ID pengguna yang profilnya ingin Anda ambil. Default ke DESTINATION_USER_ID.
  6. get_message_quota

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

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

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

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

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

    • Buat rich menu berdasarkan tindakan yang diberikan. Hasilkan dan unggah gambar. Atur sebagai default.
    • Input:
      • chatBarText (string): Teks yang ditampilkan di bilah obrolan, juga digunakan sebagai nama rich menu.
      • actions (array): Tindakan rich menu. Anda dapat menentukan minimal 1 hingga maksimal 6 tindakan. Setiap tindakan dapat berupa salah satu jenis berikut:
        • postback: Untuk mengirim tindakan 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 papan klip
  12. get_follower_ids

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

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 sudah memiliki LINE Official Account, aktifkan Messaging API untuk LINE Official Account Anda dengan mengikuti instruksi ini.

Langkah 2: Konfigurasi Agen AI

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

Atur variabel lingkungan atau argumen sebagai berikut:

  • CHANNEL_ACCESS_TOKEN: (wajib) Token Akses Saluran. Anda dapat mengonfirmasi ini dengan mengikuti instruksi ini.
  • DESTINATION_USER_ID: (opsional) ID pengguna default penerima. Jika input Alat 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 sudah 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 [email protected]:line/line-bot-mcp-server.git

Bangun image Docker:

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

Langkah 3: Konfigurasi Agen AI

Silakan tambahkan konfigurasi berikut untuk Agen AI 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) Token Akses Saluran. Anda dapat mengonfirmasi ini dengan mengikuti instruksi ini.
  • DESTINATION_USER_ID: (opsional) ID pengguna default penerima. Jika input Alat 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 [email protected]: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 alat LINE Bot MCP Server dan menguji fungsionalitasnya.

Pembuatan Versi

Proyek ini menghormati semantic versioning

Lihat http://semver.org/

Berkontribusi

Silakan periksa CONTRIBUTING sebelum memberikan kontribusi.