LINE Official Account MCP Server

officiel

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

Documentation

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Implémentation du serveur Model Context Protocol (MCP) qui intègre l'API LINE Messaging pour connecter un agent IA au compte LINE Official Account.

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

Outils

  1. push_text_message

    • Envoyer un message texte simple à un utilisateur via LINE.
    • Entrées :
      • userId (string?) : L'identifiant de l'utilisateur destinataire du message. Par défaut, DESTINATION_USER_ID. Soit userId, soit 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'identifiant de l'utilisateur destinataire du message. Par défaut, DESTINATION_USER_ID. Soit userId, soit 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 LINE Official Account.
    • 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 LINE Official Account.
    • 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 les informations détaillées du profil d'un utilisateur LINE, y compris le nom d'affichage, l'URL de l'image de profil, le message de statut et la langue.
    • Entrées :
      • userId (string?) : L'identifiant 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 LINE Official Account. Cela indique la limite mensuelle de messages et l'utilisation actuelle.
    • Entrées :
      • Aucune
  7. get_rich_menu_list

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

    • Supprimer un menu enrichi de votre compte LINE Official Account.
    • Entrées :
      • richMenuId (string) : L'identifiant du menu enrichi à supprimer.
  9. set_rich_menu_default

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

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

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

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

Installation (Utilisation de npx)

Prérequis :

  • Node.js v22 ou ultérieur

Étape 1 : Créer un compte LINE Official Account

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

Si vous avez un compte LINE Official Account, activez l'API Messaging pour votre compte LINE Official Account 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 : (requis) Jeton d'accès au canal. Vous pouvez le confirmer en suivant ces instructions.
  • DESTINATION_USER_ID : (optionnel) L'identifiant utilisateur par défaut du destinataire. Si l'entrée de l'outil n'inclut pas userId, DESTINATION_USER_ID est requis. 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 (Utilisation de Docker)

Étape 1 : Créer un compte LINE Official Account

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

Si vous avez un compte LINE Official Account, activez l'API Messaging pour votre compte LINE Official Account en suivant ces instructions.

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

Cloner ce dépôt :

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

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

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

Prérequis

  1. Cloner le dépôt :
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Installer les dépendances :
npm install
  1. Construire le projet :
npm run build

Lancer l'Inspecteur

Après avoir construit le projet, vous pouvez démarrer l'Inspecteur MCP :

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 de l'Inspecteur MCP où vous pourrez interagir avec les outils du serveur LINE Bot MCP et tester leurs fonctionnalités.

Gestion des versions

Ce projet respecte la gestion sémantique de version.

Voir http://semver.org/

Contribution

Veuillez consulter CONTRIBUTING avant de faire une contribution.