LINE Official Account

officiel

Intègre l'API de messagerie LINE pour connecter un agent IA au compte officiel LINE.

Que pouvez-vous faire avec LINE Official Account MCP ?

  • Envoyer des messages texte — Envoyer un message texte brut à un utilisateur spécifique via push_text_message ou diffuser à tous les abonnés avec broadcast_text_message.
  • Envoyer des messages flex riches — Délivrer des messages personnalisables de type bulle ou carrousel à un utilisateur individuel ou les diffuser en utilisant push_flex_message ou broadcast_flex_message.
  • Gérer les menus riches — Créer, lister, définir par défaut, annuler le défaut ou supprimer des menus riches avec des actions comme postback, URI et caméra via create_rich_menu, get_rich_menu_list et les outils associés.
  • Récupérer les informations utilisateur et de groupe — Récupérer les détails du profil d'un utilisateur (nom, photo, message de statut) avec get_profile, ou obtenir le résumé d'un chat de groupe incluant l'ID et l'icône via get_group_summary.
  • Surveiller le quota de messages — Vérifier la limite mensuelle de messages et l'utilisation actuelle de votre compte officiel LINE en utilisant get_message_quota.
  • Obtenir les IDs des abonnés — Récupérer une liste paginée des IDs des utilisateurs qui ont ajouté votre compte comme ami en utilisant get_follower_ids, avec un jeton de continuation et une limite optionnels.

Documentation

日本語版 READMEはこちら

Serveur MCP pour LINE Bot

npmjs

Implémentation de serveur Model Context Protocol (MCP) qui intègre l'API de messagerie LINE pour connecter un agent IA au compte officiel LINE.

[!NOTE] Ce dépôt est fourni en version d'aperçu. Bien que nous le proposions à des fins expérimentales, veuillez noter qu'il peut ne pas inclure toutes les fonctionnalités ou un support complet.

Outils

  1. push_text_message

    • Envoyer un message texte simple à un utilisateur via LINE.
    • Entrées :
      • userId (string?) : L'ID utilisateur qui doit recevoir un message. Par défaut, DESTINATION_USER_ID. userId ou DESTINATION_USER_ID doit être défini.
      • message.text (string) : Le contenu texte brut à envoyer à l'utilisateur.
  2. push_flex_message

    • Envoyer un message flex hautement personnalisable à un utilisateur via LINE.
    • Entrées :
      • userId (string?) : L'ID utilisateur qui doit recevoir un message. Par défaut, DESTINATION_USER_ID. userId ou DESTINATION_USER_ID doit être défini.
      • message.altText (string) : Texte alternatif affiché lorsque le message flex ne peut pas être affiché.
      • message.contents (any) : Le contenu du message flex. Il s'agit d'un objet JSON qui définit la mise en page et les composants du message.
      • message.contents.type (enum) : Type de conteneur. 'bubble' pour un conteneur unique, 'carousel' pour plusieurs bulles défilables.
  3. broadcast_text_message

    • Diffuser un message texte simple via LINE à tous les utilisateurs qui ont suivi votre compte officiel LINE.
    • Entrées :
      • message.text (string) : Le contenu texte brut à envoyer aux utilisateurs.
  4. broadcast_flex_message

    • Diffuser un message flex hautement personnalisable via LINE à tous les utilisateurs qui ont ajouté votre compte officiel LINE.
    • Entrées :
      • message.altText (string) : Texte alternatif affiché lorsque le message flex ne peut pas être affiché.
      • message.contents (any) : Le contenu du message flex. Il s'agit d'un objet JSON qui définit la mise en page et les composants du message.
      • message.contents.type (enum) : Type de conteneur. 'bubble' pour un conteneur unique, 'carousel' pour plusieurs bulles défilables.
  5. get_profile

    • Obtenir des informations détaillées sur le profil d'un utilisateur LINE, y compris le nom d'affichage, l'URL de la photo de profil, le message de statut et la langue.
    • Entrées :
      • userId (string?) : L'ID de l'utilisateur dont vous souhaitez récupérer le profil. Par défaut, DESTINATION_USER_ID.
  6. get_message_quota

    • Obtenir le quota de messages et la consommation du compte officiel LINE. Cela montre la limite mensuelle de messages et l'utilisation actuelle.
    • Entrées :
      • Aucune
  7. get_rich_menu_list

    • Obtenir la liste des menus riches associés à votre compte officiel LINE.
    • Entrées :
      • Aucune
  8. delete_rich_menu

    • Supprimer un menu riche de votre compte officiel LINE.
    • Entrées :
      • richMenuId (string) : L'ID du menu riche à supprimer.
  9. set_rich_menu_default

    • Définir un menu riche comme menu riche par défaut.
    • Entrées :
      • richMenuId (string) : L'ID du menu riche à définir comme par défaut.
  10. cancel_rich_menu_default

    • Annuler le menu riche par défaut.
    • Entrées :
      • Aucune
  11. create_rich_menu

    • Créer un menu riche en fonction des actions données. Générer et télécharger une image. Définir comme par défaut.
    • Entrées :
      • chatBarText (string) : Texte affiché dans la barre de discussion, également utilisé comme nom du menu riche.
      • actions (array) : Les actions du menu riche. Vous pouvez spécifier de 1 à 6 actions maximum. Chaque action peut être de l'un des types suivants :
        • postback : Pour envoyer une action postback
        • message : Pour envoyer un message texte
        • uri : Pour ouvrir une URL
        • datetimepicker : Pour ouvrir un sélecteur de date/heure
        • camera : Pour ouvrir la caméra
        • cameraRoll : Pour ouvrir la galerie photo
        • location : Pour envoyer la position actuelle
        • richmenuswitch : Pour passer à un autre menu riche
        • clipboard : Pour copier du texte dans le presse-papiers
  12. get_follower_ids

    • Obtenir une liste des ID utilisateurs des personnes qui ont ajouté le compte officiel LINE comme ami. Cela permet d'obtenir les ID utilisateurs pour envoyer des messages sans les préparer manuellement.
    • Entrées :
      • start (string?) : Jeton de continuation pour obtenir le prochain tableau d'ID utilisateurs. Renvoyé dans la propriété next d'une réponse précédente.
      • limit (number?) : Le nombre maximal d'ID utilisateurs à récupérer dans une seule requête.
  13. get_group_summary

    • Obtenir le résumé de la discussion de groupe, y compris l'ID du groupe, le nom du groupe et l'URL de l'icône du groupe, en utilisant l'ID du groupe.
    • Entrées :
      • groupId (string) : L'ID du groupe de la discussion de groupe cible.

Installation (avec npx)

Prérequis :

  • Node.js v22 ou version ultérieure

Étape 1 : Créer un compte officiel LINE

Ce serveur MCP utilise un compte officiel LINE. Si vous n'en avez pas, veuillez en créer un en suivant ces instructions.

Si vous avez un compte officiel LINE, activez l'API de messagerie pour votre compte officiel LINE en suivant ces instructions.

Étape 2 : Configurer l'agent IA

Veuillez ajouter la configuration suivante pour un agent IA comme Claude Desktop ou Cline.

Définissez les variables d'environnement ou les arguments comme suit :

  • CHANNEL_ACCESS_TOKEN : (obligatoire) Jeton d'accès au canal. Vous pouvez le confirmer en suivant ces instructions.
  • DESTINATION_USER_ID : (facultatif) L'ID utilisateur par défaut du destinataire. Si l'entrée de l'outil n'inclut pas userId, DESTINATION_USER_ID est obligatoire. Vous pouvez le confirmer en suivant ces instructions.
{
  "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 (avec Docker)

Étape 1 : Créer un compte officiel LINE

Ce serveur MCP utilise un compte officiel LINE. Si vous n'en avez pas, veuillez en créer un en suivant ces instructions.

Si vous avez un compte officiel LINE, activez l'API de messagerie pour votre compte officiel LINE en suivant ces instructions.

Étape 2 : Construire l'image line-bot-mcp-server

Clonez ce dépôt :

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

Construisez l'image Docker :

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

Étape 3 : Configurer l'agent IA

Veuillez ajouter la configuration suivante pour un agent IA comme Claude Desktop ou Cline.

Définissez les variables d'environnement ou les arguments comme suit :

  • mcpServers.args : (obligatoire) Le chemin vers line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN : (obligatoire) Jeton d'accès au canal. Vous pouvez le confirmer en suivant ces instructions.
  • DESTINATION_USER_ID : (facultatif) L'ID utilisateur par défaut du destinataire. Si l'entrée de l'outil n'inclut pas userId, DESTINATION_USER_ID est obligatoire. Vous pouvez le confirmer en suivant ces instructions.
{
  "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"
      }
    }
  }
}

Développement local avec Inspector

Vous pouvez utiliser l'outil MCP Inspector pour tester et déboguer le serveur localement.

Prérequis

  1. Clonez le dépôt :
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Installez les dépendances :
npm install
  1. Construisez le projet :
npm run build

Exécuter l'Inspector

Après avoir construit le projet, vous pouvez démarrer l'outil 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"

Cela démarrera l'interface MCP Inspector où vous pourrez interagir avec les outils du serveur MCP LINE Bot et tester leurs fonctionnalités.

Versioning

Ce projet respecte le versionnage sémantique.

Voir http://semver.org/

Contribution

Veuillez consulter CONTRIBUTING avant de faire une contribution.