LINE Official Account MCP Server

resmi

AI Ajanını LINE Official Account'a bağlamak için LINE Messaging API'sini entegre eder.

Dokümantasyon

Japonca README için buraya tıklayın

LINE Bot MCP Sunucusu

npmjs

LINE Messaging API'yi entegre ederek bir Yapay Zeka Ajanını LINE Official Account'a bağlayan Model Context Protocol (MCP) sunucu uygulaması.

[!NOTE] Bu depo önizleme sürümü olarak sunulmaktadır. Deneysel amaçlarla sunulmakla birlikte, tam işlevsellik veya kapsamlı destek içermeyebileceğini lütfen unutmayın.

Araçlar

  1. push_text_message

    • LINE üzerinden bir kullanıcıya basit bir metin mesajı gönderir.
    • Girdiler:
      • userId (string?): Mesajı alacak kullanıcı kimliği. Varsayılan olarak DESTINATION_USER_ID kullanılır. userId veya DESTINATION_USER_ID ayarlanmış olmalıdır.
      • message.text (string): Kullanıcıya gönderilecek düz metin içeriği.
  2. push_flex_message

    • LINE üzerinden bir kullanıcıya yüksek düzeyde özelleştirilebilir bir flex mesaj gönderir.
    • Girdiler:
      • userId (string?): Mesajı alacak kullanıcı kimliği. Varsayılan olarak DESTINATION_USER_ID kullanılır. userId veya DESTINATION_USER_ID ayarlanmış olmalıdır.
      • message.altText (string): Flex mesaj görüntülenemediğinde gösterilecek alternatif metin.
      • message.contents (any): Flex mesajın içeriği. Bu, mesajın düzenini ve bileşenlerini tanımlayan bir JSON nesnesidir.
      • message.contents.type (enum): Kapsayıcı türü. Tek kapsayıcı için 'bubble', birden çok kaydırılabilir baloncuk için 'carousel'.
  3. broadcast_text_message

    • LINE Official Account'unuzu takip eden tüm kullanıcılara LINE üzerinden basit bir metin mesajı yayınlar.
    • Girdiler:
      • message.text (string): Kullanıcılara gönderilecek düz metin içeriği.
  4. broadcast_flex_message

    • LINE Official Account'unuzu ekleyen tüm kullanıcılara LINE üzerinden yüksek düzeyde özelleştirilebilir bir flex mesaj yayınlar.
    • Girdiler:
      • message.altText (string): Flex mesaj görüntülenemediğinde gösterilecek alternatif metin.
      • message.contents (any): Flex mesajın içeriği. Bu, mesajın düzenini ve bileşenlerini tanımlayan bir JSON nesnesidir.
      • message.contents.type (enum): Kapsayıcı türü. Tek kapsayıcı için 'bubble', birden çok kaydırılabilir baloncuk için 'carousel'.
  5. get_profile

    • Bir LINE kullanıcısının görünen adı, profil resmi URL'si, durum mesajı ve dili dahil olmak üzere ayrıntılı profil bilgilerini alır.
    • Girdiler:
      • userId (string?): Profilini almak istediğiniz kullanıcının kimliği. Varsayılan olarak DESTINATION_USER_ID kullanılır.
  6. get_message_quota

    • LINE Official Account'un mesaj kotasını ve tüketimini alır. Bu, aylık mesaj limitini ve mevcut kullanımı gösterir.
    • Girdiler:
      • Yok
  7. get_rich_menu_list

    • LINE Official Account'unuzla ilişkili zengin menülerin listesini alır.
    • Girdiler:
      • Yok
  8. delete_rich_menu

    • LINE Official Account'unuzdan bir zengin menüyü siler.
    • Girdiler:
      • richMenuId (string): Silinecek zengin menünün kimliği.
  9. set_rich_menu_default

    • Bir zengin menüyü varsayılan zengin menü olarak ayarlar.
    • Girdiler:
      • richMenuId (string): Varsayılan olarak ayarlanacak zengin menünün kimliği.
  10. cancel_rich_menu_default

    • Varsayılan zengin menüyü iptal eder.
    • Girdiler:
      • Yok
  11. create_rich_menu

    • Verilen eylemlere dayalı bir zengin menü oluşturur. Bir resim oluşturur ve yükler. Varsayılan olarak ayarlar.
    • Girdiler:
      • chatBarText (string): Sohbet çubuğunda görüntülenen metin, aynı zamanda zengin menü adı olarak kullanılır.
      • actions (array): Zengin menünün eylemleri. Minimum 1, maksimum 6 eylem belirtebilirsiniz. Her eylem aşağıdaki türlerden biri olabilir:
        • postback: Bir postback eylemi göndermek için
        • message: Bir metin mesajı göndermek için
        • uri: Bir URL açmak için
        • datetimepicker: Bir tarih/saat seçici açmak için
        • camera: Kamerayı açmak için
        • cameraRoll: Kamera rulosunu açmak için
        • location: Mevcut konumu göndermek için
        • richmenuswitch: Başka bir zengin menüye geçmek için
        • clipboard: Panoya metin kopyalamak için
  12. get_follower_ids

    • LINE Official Account'u arkadaş olarak ekleyen kullanıcıların kullanıcı kimliklerinin bir listesini alır. Bu, mesaj göndermek için kullanıcı kimliklerini manuel olarak hazırlamadan elde etmenizi sağlar.
    • Girdiler:
      • start (string?): Bir sonraki kullanıcı kimliği dizisini almak için devam belirteci. Önceki bir yanıtın next özelliğinde döndürülür.
      • limit (number?): Tek bir istekte alınacak maksimum kullanıcı kimliği sayısı.

Kurulum (npx kullanarak)

Gereksinimler:

  • Node.js v22 veya üstü

Adım 1: LINE Official Account Oluşturma

Bu MCP sunucusu bir LINE Official Account kullanır. Eğer bir hesabınız yoksa, bu talimatları izleyerek oluşturun.

Eğer bir LINE Official Account'unuz varsa, bu talimatları izleyerek LINE Official Account'unuz için Messaging API'yi etkinleştirin.

Adım 2: Yapay Zeka Ajanını Yapılandırma

Lütfen Claude Desktop veya Cline gibi bir Yapay Zeka Ajanı için aşağıdaki yapılandırmayı ekleyin.

Ortam değişkenlerini veya argümanları aşağıdaki gibi ayarlayın:

  • CHANNEL_ACCESS_TOKEN: (gerekli) Kanal Erişim Belirteci. Bu talimatları izleyerek bunu doğrulayabilirsiniz.
  • DESTINATION_USER_ID: (isteğe bağlı) Alıcının varsayılan kullanıcı kimliği. Aracın girdisi userId içermiyorsa, DESTINATION_USER_ID gereklidir. Bu talimatları izleyerek bunu doğrulayabilirsiniz.
{
  "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"
      }
    }
  }
}

Kurulum (Docker kullanarak)

Adım 1: LINE Official Account Oluşturma

Bu MCP sunucusu bir LINE Official Account kullanır. Eğer bir hesabınız yoksa, bu talimatları izleyerek oluşturun.

Eğer bir LINE Official Account'unuz varsa, bu talimatları izleyerek LINE Official Account'unuz için Messaging API'yi etkinleştirin.

Adım 2: line-bot-mcp-server imajını oluşturma

Bu depoyu klonlayın:

git clone [email protected]:line/line-bot-mcp-server.git

Docker imajını oluşturun:

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

Adım 3: Yapay Zeka Ajanını Yapılandırma

Lütfen Claude Desktop veya Cline gibi bir Yapay Zeka Ajanı için aşağıdaki yapılandırmayı ekleyin.

Ortam değişkenlerini veya argümanları aşağıdaki gibi ayarlayın:

  • mcpServers.args: (gerekli) line-bot-mcp-server yolu.
  • CHANNEL_ACCESS_TOKEN: (gerekli) Kanal Erişim Belirteci. Bu talimatları izleyerek bunu doğrulayabilirsiniz.
  • DESTINATION_USER_ID: (isteğe bağlı) Alıcının varsayılan kullanıcı kimliği. Aracın girdisi userId içermiyorsa, DESTINATION_USER_ID gereklidir. Bu talimatları izleyerek bunu doğrulayabilirsiniz.
{
  "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 ile Yerel Geliştirme

Sunucuyu yerel olarak test etmek ve hata ayıklamak için MCP Inspector'ı kullanabilirsiniz.

Ön Koşullar

  1. Depoyu klonlayın:
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Bağımlılıkları yükleyin:
npm install
  1. Projeyi derleyin:
npm run build

Inspector'ı Çalıştırma

Projeyi derledikten sonra MCP Inspector'ı başlatabilirsiniz:

npx @modelcontextprotocol/inspector node dist/index.js \
  -e CHANNEL_ACCESS_TOKEN="YOUR_CHANNEL_ACCESS_TOKEN" \
  -e DESTINATION_USER_ID="YOUR_DESTINATION_USER_ID"

Bu, LINE Bot MCP Sunucusu araçlarıyla etkileşim kurabileceğiniz ve işlevlerini test edebileceğiniz MCP Inspector arayüzünü başlatacaktır.

Sürümleme

Bu proje anlamsal sürümlemeye uyar

Bkz. http://semver.org/

Katkıda Bulunma

Katkıda bulunmadan önce lütfen CONTRIBUTING dosyasını inceleyin.