LINE Official Account

offiziell

Integriert die LINE Messaging API, um einen KI-Agenten mit dem LINE Official Account zu verbinden.

Was kann man mit LINE Official Account MCP machen?

  • Textnachrichten senden — Senden Sie eine Klartextnachricht an einen bestimmten Benutzer über push_text_message oder senden Sie sie an alle Follower mit broadcast_text_message.
  • Rich-Flex-Nachrichten senden — Liefern Sie hochgradig anpassbare Bubble- oder Karussell-Nachrichten an einen einzelnen Benutzer oder senden Sie sie per Broadcast mit push_flex_message oder broadcast_flex_message.
  • Rich-Menüs verwalten — Erstellen, auflisten, als Standard festlegen, Standard aufheben oder Rich-Menüs löschen mit Aktionen wie Postback, URI und Kamera über create_rich_menu, get_rich_menu_list und verwandte Tools.
  • Benutzer- und Gruppeninformationen abrufen — Rufen Sie Profildetails eines Benutzers (Name, Bild, Statusmeldung) mit get_profile ab oder erhalten Sie eine Gruppenchat-Zusammenfassung einschließlich ID und Symbol über get_group_summary.
  • Nachrichtenkontingent überwachen — Überprüfen Sie das monatliche Nachrichtenlimit und die aktuelle Nutzung Ihres LINE Official Account mit get_message_quota.
  • Follower-IDs abrufen — Rufen Sie eine paginierte Liste von Benutzer-IDs ab, die Ihr Konto als Freund hinzugefügt haben, mit get_follower_ids, optional mit Fortsetzungstoken und Limit.

Dokumentation

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Model Context Protocol (MCP) Server-Implementierung, die die LINE Messaging API integriert, um einen AI-Agenten mit dem LINE Official Account zu verbinden.

[!NOTE] Dieses Repository wird als Vorschauversion bereitgestellt. Obwohl wir es für experimentelle Zwecke anbieten, beachten Sie bitte, dass es möglicherweise nicht den vollständigen Funktionsumfang oder umfassenden Support enthält.

Tools

  1. push_text_message

    • Sendet eine einfache Textnachricht über LINE an einen Benutzer.
    • Eingaben:
      • userId (string?): Die Benutzer-ID, die eine Nachricht erhalten soll. Standardmäßig DESTINATION_USER_ID. Entweder userId oder DESTINATION_USER_ID muss gesetzt sein.
      • message.text (string): Der Klartext-Inhalt, der an den Benutzer gesendet werden soll.
  2. push_flex_message

    • Sendet eine hochgradig anpassbare Flex-Nachricht über LINE an einen Benutzer.
    • Eingaben:
      • userId (string?): Die Benutzer-ID, die eine Nachricht erhalten soll. Standardmäßig DESTINATION_USER_ID. Entweder userId oder DESTINATION_USER_ID muss gesetzt sein.
      • message.altText (string): Alternativtext, der angezeigt wird, wenn die Flex-Nachricht nicht angezeigt werden kann.
      • message.contents (any): Der Inhalt der Flex-Nachricht. Dies ist ein JSON-Objekt, das das Layout und die Komponenten der Nachricht definiert.
      • message.contents.type (enum): Typ des Containers. 'bubble' für einen einzelnen Container, 'carousel' für mehrere wischbare Bubbles.
  3. broadcast_text_message

    • Sendet eine einfache Textnachricht über LINE an alle Benutzer, die Ihrem LINE Official Account gefolgt sind.
    • Eingaben:
      • message.text (string): Der Klartext-Inhalt, der an die Benutzer gesendet werden soll.
  4. broadcast_flex_message

    • Sendet eine hochgradig anpassbare Flex-Nachricht über LINE an alle Benutzer, die Ihren LINE Official Account hinzugefügt haben.
    • Eingaben:
      • message.altText (string): Alternativtext, der angezeigt wird, wenn die Flex-Nachricht nicht angezeigt werden kann.
      • message.contents (any): Der Inhalt der Flex-Nachricht. Dies ist ein JSON-Objekt, das das Layout und die Komponenten der Nachricht definiert.
      • message.contents.type (enum): Typ des Containers. 'bubble' für einen einzelnen Container, 'carousel' für mehrere wischbare Bubbles.
  5. get_profile

    • Ruft detaillierte Profilinformationen eines LINE-Benutzers ab, einschließlich Anzeigename, Profilbild-URL, Statusmeldung und Sprache.
    • Eingaben:
      • userId (string?): Die ID des Benutzers, dessen Profil Sie abrufen möchten. Standardmäßig DESTINATION_USER_ID.
  6. get_message_quota

    • Ruft das Nachrichtenkontingent und den Verbrauch des LINE Official Accounts ab. Dies zeigt das monatliche Nachrichtenlimit und die aktuelle Nutzung.
    • Eingaben:
      • Keine
  7. get_rich_menu_list

    • Ruft die Liste der Rich Menus ab, die mit Ihrem LINE Official Account verknüpft sind.
    • Eingaben:
      • Keine
  8. delete_rich_menu

    • Löscht ein Rich Menu von Ihrem LINE Official Account.
    • Eingaben:
      • richMenuId (string): Die ID des Rich Menus, das gelöscht werden soll.
  9. set_rich_menu_default

    • Legt ein Rich Menu als Standard-Rich-Menu fest.
    • Eingaben:
      • richMenuId (string): Die ID des Rich Menus, das als Standard festgelegt werden soll.
  10. cancel_rich_menu_default

    • Hebt das Standard-Rich-Menu auf.
    • Eingaben:
      • Keine
  11. create_rich_menu

    • Erstellt ein Rich Menu basierend auf den angegebenen Aktionen. Generiert und lädt ein Bild hoch. Legt es als Standard fest.
    • Eingaben:
      • chatBarText (string): Text, der in der Chat-Leiste angezeigt wird, wird auch als Rich-Menu-Name verwendet.
      • actions (array): Die Aktionen des Rich Menus. Sie können mindestens 1 und maximal 6 Aktionen angeben. Jede Aktion kann einer der folgenden Typen sein:
        • postback: Zum Senden einer Postback-Aktion
        • message: Zum Senden einer Textnachricht
        • uri: Zum Öffnen einer URL
        • datetimepicker: Zum Öffnen eines Datums-/Zeitauswahlers
        • camera: Zum Öffnen der Kamera
        • cameraRoll: Zum Öffnen der Kamerarolle
        • location: Zum Senden des aktuellen Standorts
        • richmenuswitch: Zum Wechseln zu einem anderen Rich Menu
        • clipboard: Zum Kopieren von Text in die Zwischenablage
  12. get_follower_ids

    • Ruft eine Liste von Benutzer-IDs der Benutzer ab, die den LINE Official Account als Freund hinzugefügt haben. Dies ermöglicht es Ihnen, Benutzer-IDs zum Senden von Nachrichten zu erhalten, ohne sie manuell vorbereiten zu müssen.
    • Eingaben:
      • start (string?): Fortsetzungstoken, um das nächste Array von Benutzer-IDs zu erhalten. Wird in der next-Eigenschaft einer vorherigen Antwort zurückgegeben.
      • limit (number?): Die maximale Anzahl von Benutzer-IDs, die in einer einzelnen Anfrage abgerufen werden sollen.
  13. get_group_summary

    • Ruft die Gruppenchat-Zusammenfassung einschließlich Gruppen-ID, Gruppenname und Gruppenicon-URL mithilfe der Gruppen-ID ab.
    • Eingaben:
      • groupId (string): Die Gruppen-ID des Ziel-Gruppenchats.

Installation (mit npx)

Anforderungen:

  • Node.js v22 oder höher

Schritt 1: LINE Official Account erstellen

Dieser MCP-Server nutzt einen LINE Official Account. Wenn Sie keinen haben, erstellen Sie bitte einen, indem Sie diesen Anweisungen folgen.

Wenn Sie einen LINE Official Account haben, aktivieren Sie die Messaging API für Ihren LINE Official Account, indem Sie diesen Anweisungen folgen.

Schritt 2: AI-Agenten konfigurieren

Bitte fügen Sie die folgende Konfiguration für einen AI-Agenten wie Claude Desktop oder Cline hinzu.

Setzen Sie die Umgebungsvariablen oder Argumente wie folgt:

  • CHANNEL_ACCESS_TOKEN: (erforderlich) Channel Access Token. Sie können dies bestätigen, indem Sie diesen Anweisungen folgen.
  • DESTINATION_USER_ID: (optional) Die Standard-Benutzer-ID des Empfängers. Wenn die Tool-Eingabe kein userId enthält, ist DESTINATION_USER_ID erforderlich. Sie können dies bestätigen, indem Sie diesen Anweisungen folgen.
{
  "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"
      }
    }
  }
}

Installation (mit Docker)

Schritt 1: LINE Official Account erstellen

Dieser MCP-Server nutzt einen LINE Official Account. Wenn Sie keinen haben, erstellen Sie bitte einen, indem Sie diesen Anweisungen folgen.

Wenn Sie einen LINE Official Account haben, aktivieren Sie die Messaging API für Ihren LINE Official Account, indem Sie diesen Anweisungen folgen.

Schritt 2: line-bot-mcp-server-Image erstellen

Klonen Sie dieses Repository:

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

Erstellen Sie das Docker-Image:

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

Schritt 3: AI-Agenten konfigurieren

Bitte fügen Sie die folgende Konfiguration für einen AI-Agenten wie Claude Desktop oder Cline hinzu.

Setzen Sie die Umgebungsvariablen oder Argumente wie folgt:

  • mcpServers.args: (erforderlich) Der Pfad zu line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (erforderlich) Channel Access Token. Sie können dies bestätigen, indem Sie diesen Anweisungen folgen.
  • DESTINATION_USER_ID: (optional) Die Standard-Benutzer-ID des Empfängers. Wenn die Tool-Eingabe kein userId enthält, ist DESTINATION_USER_ID erforderlich. Sie können dies bestätigen, indem Sie diesen Anweisungen folgen.
{
  "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"
      }
    }
  }
}

Lokale Entwicklung mit Inspector

Sie können den MCP Inspector verwenden, um den Server lokal zu testen und zu debuggen.

Voraussetzungen

  1. Klonen Sie das Repository:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Installieren Sie die Abhängigkeiten:
npm install
  1. Erstellen Sie das Projekt:
npm run build

Inspector ausführen

Nachdem Sie das Projekt erstellt haben, können Sie den MCP Inspector starten:

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

Dadurch wird die MCP-Inspector-Oberfläche gestartet, in der Sie mit den LINE Bot MCP Server-Tools interagieren und deren Funktionalität testen können.

Versionierung

Dieses Projekt respektiert semantische Versionierung

Siehe http://semver.org/

Mitwirken

Bitte überprüfen Sie CONTRIBUTING, bevor Sie einen Beitrag leisten.