LINE Official Account

oficial

Integra la API de Mensajería de LINE para conectar un Agente de IA a la cuenta oficial de LINE.

¿Qué puedes hacer con LINE Official Account MCP?

  • Enviar mensajes de texto — Envía un mensaje de texto plano a un usuario específico mediante push_text_message o transmítelo a todos los seguidores con broadcast_text_message.
  • Enviar mensajes flex enriquecidos — Entrega mensajes de burbuja o carrusel altamente personalizables a un usuario individual o transmítelos usando push_flex_message o broadcast_flex_message.
  • Gestionar menús enriquecidos — Crea, lista, establece como predeterminado, cancela el predeterminado o elimina menús enriquecidos con acciones como postback, URI y cámara mediante create_rich_menu, get_rich_menu_list y herramientas relacionadas.
  • Recuperar información de usuarios y grupos — Obtén los detalles del perfil de un usuario (nombre, foto, mensaje de estado) con get_profile, o consigue el resumen del chat grupal, incluidos el ID y el icono, mediante get_group_summary.
  • Monitorear la cuota de mensajes — Verifica el límite mensual de mensajes y el uso actual de tu cuenta oficial de LINE usando get_message_quota.
  • Obtener IDs de seguidores — Recupera una lista paginada de IDs de usuarios que agregaron tu cuenta como amigo usando get_follower_ids, con token de continuación y límite opcionales.

Documentación

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Implementación de servidor Model Context Protocol (MCP) que integra la API de Mensajería de LINE para conectar un Agente de IA a la Cuenta Oficial de LINE.

[!NOTE] Este repositorio se proporciona como una versión preliminar. Aunque lo ofrecemos con fines experimentales, tenga en cuenta que puede no incluir funcionalidad completa o soporte integral.

Herramientas

  1. push_text_message

    • Envía un mensaje de texto simple a un usuario a través de LINE.
    • Entradas:
      • userId (string?): El ID de usuario que recibirá el mensaje. Por defecto usa DESTINATION_USER_ID. Debe establecerse userId o DESTINATION_USER_ID.
      • message.text (string): El contenido de texto plano para enviar al usuario.
  2. push_flex_message

    • Envía un mensaje flex altamente personalizable a un usuario a través de LINE.
    • Entradas:
      • userId (string?): El ID de usuario que recibirá el mensaje. Por defecto usa DESTINATION_USER_ID. Debe establecerse userId o DESTINATION_USER_ID.
      • message.altText (string): Texto alternativo que se muestra cuando el mensaje flex no puede mostrarse.
      • message.contents (any): El contenido del mensaje flex. Es un objeto JSON que define el diseño y los componentes del mensaje.
      • message.contents.type (enum): Tipo de contenedor. 'bubble' para un contenedor único, 'carousel' para múltiples burbujas deslizables.
  3. broadcast_text_message

    • Transmite un mensaje de texto simple a través de LINE a todos los usuarios que han seguido su Cuenta Oficial de LINE.
    • Entradas:
      • message.text (string): El contenido de texto plano para enviar a los usuarios.
  4. broadcast_flex_message

    • Transmite un mensaje flex altamente personalizable a través de LINE a todos los usuarios que han agregado su Cuenta Oficial de LINE.
    • Entradas:
      • message.altText (string): Texto alternativo que se muestra cuando el mensaje flex no puede mostrarse.
      • message.contents (any): El contenido del mensaje flex. Es un objeto JSON que define el diseño y los componentes del mensaje.
      • message.contents.type (enum): Tipo de contenedor. 'bubble' para un contenedor único, 'carousel' para múltiples burbujas deslizables.
  5. get_profile

    • Obtiene información detallada del perfil de un usuario de LINE, incluidos nombre para mostrar, URL de imagen de perfil, mensaje de estado e idioma.
    • Entradas:
      • userId (string?): El ID del usuario cuyo perfil desea recuperar. Por defecto usa DESTINATION_USER_ID.
  6. get_message_quota

    • Obtiene la cuota de mensajes y el consumo de la Cuenta Oficial de LINE. Esto muestra el límite mensual de mensajes y el uso actual.
    • Entradas:
      • Ninguna
  7. get_rich_menu_list

    • Obtiene la lista de menús enriquecidos asociados con su Cuenta Oficial de LINE.
    • Entradas:
      • Ninguna
  8. delete_rich_menu

    • Elimina un menú enriquecido de su Cuenta Oficial de LINE.
    • Entradas:
      • richMenuId (string): El ID del menú enriquecido a eliminar.
  9. set_rich_menu_default

    • Establece un menú enriquecido como menú enriquecido predeterminado.
    • Entradas:
      • richMenuId (string): El ID del menú enriquecido a establecer como predeterminado.
  10. cancel_rich_menu_default

    • Cancela el menú enriquecido predeterminado.
    • Entradas:
      • Ninguna
  11. create_rich_menu

    • Crea un menú enriquecido basado en las acciones dadas. Genera y sube una imagen. Establece como predeterminado.
    • Entradas:
      • chatBarText (string): Texto mostrado en la barra de chat, también usado como nombre del menú enriquecido.
      • actions (array): Las acciones del menú enriquecido. Puede especificar un mínimo de 1 y un máximo de 6 acciones. Cada acción puede ser uno de los siguientes tipos:
        • postback: Para enviar una acción postback
        • message: Para enviar un mensaje de texto
        • uri: Para abrir una URL
        • datetimepicker: Para abrir un selector de fecha/hora
        • camera: Para abrir la cámara
        • cameraRoll: Para abrir el carrete de la cámara
        • location: Para enviar la ubicación actual
        • richmenuswitch: Para cambiar a otro menú enriquecido
        • clipboard: Para copiar texto al portapapeles
  12. get_follower_ids

    • Obtiene una lista de IDs de usuario de quienes han agregado la Cuenta Oficial de LINE como amigo. Esto permite obtener IDs de usuario para enviar mensajes sin prepararlos manualmente.
    • Entradas:
      • start (string?): Token de continuación para obtener el siguiente conjunto de IDs de usuario. Se devuelve en la propiedad next de una respuesta anterior.
      • limit (number?): El número máximo de IDs de usuario a recuperar en una sola solicitud.
  13. get_group_summary

    • Obtiene el resumen del chat grupal, incluidos ID del grupo, nombre del grupo y URL del ícono del grupo, usando el ID del grupo.
    • Entradas:
      • groupId (string): El ID del grupo del chat grupal objetivo.

Instalación (Usando npx)

requisitos:

  • Node.js v22 o posterior

Paso 1: Crear una Cuenta Oficial de LINE

Este servidor MCP utiliza una Cuenta Oficial de LINE. Si no tiene una, créela siguiendo estas instrucciones.

Si ya tiene una Cuenta Oficial de LINE, habilite la API de Mensajería para su Cuenta Oficial de LINE siguiendo estas instrucciones.

Paso 2: Configurar el Agente de IA

Agregue la siguiente configuración para un Agente de IA como Claude Desktop o Cline.

Establezca las variables de entorno o argumentos de la siguiente manera:

  • CHANNEL_ACCESS_TOKEN: (obligatorio) Token de acceso al canal. Puede confirmarlo siguiendo estas instrucciones.
  • DESTINATION_USER_ID: (opcional) El ID de usuario predeterminado del destinatario. Si la entrada de la Herramienta no incluye userId, se requiere DESTINATION_USER_ID. Puede confirmarlo siguiendo estas instrucciones.
{
  "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"
      }
    }
  }
}

Instalación (Usando Docker)

Paso 1: Crear una Cuenta Oficial de LINE

Este servidor MCP utiliza una Cuenta Oficial de LINE. Si no tiene una, créela siguiendo estas instrucciones.

Si ya tiene una Cuenta Oficial de LINE, habilite la API de Mensajería para su Cuenta Oficial de LINE siguiendo estas instrucciones.

Paso 2: Construir la imagen line-bot-mcp-server

Clone este repositorio:

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

Construya la imagen de Docker:

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

Paso 3: Configurar el Agente de IA

Agregue la siguiente configuración para un Agente de IA como Claude Desktop o Cline.

Establezca las variables de entorno o argumentos de la siguiente manera:

  • mcpServers.args: (obligatorio) La ruta a line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (obligatorio) Token de acceso al canal. Puede confirmarlo siguiendo estas instrucciones.
  • DESTINATION_USER_ID: (opcional) El ID de usuario predeterminado del destinatario. Si la entrada de la Herramienta no incluye userId, se requiere DESTINATION_USER_ID. Puede confirmarlo siguiendo estas instrucciones.
{
  "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"
      }
    }
  }
}

Desarrollo Local con Inspector

Puede usar el MCP Inspector para probar y depurar el servidor localmente.

Requisitos previos

  1. Clone el repositorio:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Instale las dependencias:
npm install
  1. Construya el proyecto:
npm run build

Ejecutar el Inspector

Después de construir el proyecto, puede iniciar el 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"

Esto iniciará la interfaz del MCP Inspector donde puede interactuar con las herramientas del LINE Bot MCP Server y probar su funcionalidad.

Versionado

Este proyecto respeta el versionado semántico

Ver http://semver.org/

Contribuciones

Consulte CONTRIBUTING antes de realizar una contribución.