LINE Bot MCP Server

Conecta un agente de IA a una cuenta oficial de LINE mediante la API de mensajería de LINE.

Documentación

README en japonés

LINE Bot MCP Server (con soporte SSE)

npmjs Docker Hub

Implementación de servidor Model Context Protocol (MCP) que integra la LINE Messaging API para conectar un Agente de IA a la LINE Official Account.

[!NOTE] Este repositorio es un fork del LINE Bot MCP Server oficial con soporte adicional de transporte SSE (Server-Sent Events). El repositorio original solo admite transporte stdio.

🔄 Información del Fork

[!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.

Soporte de Transporte

Este servidor MCP admite múltiples protocolos de transporte:

  • stdio (predeterminado): Entrada/salida estándar para integraciones locales
  • SSE: Server-Sent Events sobre HTTP para integraciones basadas en web

Herramientas

  1. push_text_message
    • Envía un mensaje de texto simple a un usuario a través de LINE.
    • Entradas:
      • user_id (string?): El ID de usuario que recibirá el mensaje. Por defecto, DESTINATION_USER_ID. Debe establecerse user_id 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:
      • user_id (string?): El ID de usuario que recibirá el mensaje. Por defecto, DESTINATION_USER_ID. Debe establecerse user_id o DESTINATION_USER_ID.
      • message.altText (string): Texto alternativo que se muestra cuando el mensaje flex no puede mostrarse.
      • message.content (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 tu LINE Official Account.
    • 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 tu LINE Official Account.
    • Entradas:
      • message.altText (string): Texto alternativo que se muestra cuando el mensaje flex no puede mostrarse.
      • message.content (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, incluyendo nombre para mostrar, URL de imagen de perfil, mensaje de estado e idioma.
    • Entradas:
      • user_id (string?): El ID del usuario cuyo perfil deseas recuperar. Por defecto, DESTINATION_USER_ID.
  6. get_message_quota
    • Obtiene la cuota de mensajes y el consumo de la LINE Official Account. 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 tu LINE Official Account.
    • Entradas:
      • Ninguna
  8. delete_rich_menu
    • Elimina un menú enriquecido de tu LINE Official Account.
    • Entradas:
      • richMenuId (string): El ID del menú enriquecido a eliminar.
  9. set_rich_menu_default
    • Establece un menú enriquecido como el 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

Instalación (Usando npx)

requisitos:

  • Node.js v20 o posterior

Paso 1: Crear una LINE Official Account

Este servidor MCP utiliza una LINE Official Account. Si no tienes una, créala siguiendo estas instrucciones.

Si ya tienes una LINE Official Account, habilita la Messaging API para tu LINE Official Account siguiendo estas instrucciones.

Paso 2: Configurar el Agente de IA

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

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

  • CHANNEL_ACCESS_TOKEN: (obligatorio) Channel Access Token. Puedes confirmarlo siguiendo estas instrucciones.
  • DESTINATION_USER_ID: (opcional) El ID de usuario predeterminado del destinatario. Si la entrada de la herramienta no incluye user_id, se requiere DESTINATION_USER_ID. Puedes confirmarlo siguiendo estas instrucciones.
  • MCP_TRANSPORT: (opcional) Protocolo de transporte a utilizar. Opciones: stdio (predeterminado), sse
  • MCP_PORT: (opcional) Puerto para el transporte SSE. Predeterminado: 3000

Usando transporte stdio (predeterminado)

{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE"
      }
    }
  }
}

Usando transporte SSE

{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE",
        "MCP_TRANSPORT" : "sse",
        "MCP_PORT" : "3000"
      }
    }
  }
}

Para el transporte SSE, el servidor iniciará un servidor HTTP con los siguientes endpoints:

  • GET /sse - Establecer conexión SSE
  • POST /messages - Enviar mensajes al servidor
  • GET /health - Endpoint de verificación de salud

Instalación (Usando Docker)

Opción A: Usar Imagen Docker Preconstruida (Recomendado)

Puedes usar la imagen Docker preconstruida de Docker Hub sin compilar localmente:

# Pull the latest image
docker pull acquojp/line-bot-mcp-server-sse:latest

# Run directly
docker run --rm -p 3000:3000 \
  -e CHANNEL_ACCESS_TOKEN="your_token" \
  -e DESTINATION_USER_ID="your_user_id" \
  acquojp/line-bot-mcp-server-sse:latest

Opción B: Compilar desde el Código Fuente

Paso 1: Crear una LINE Official Account

Este servidor MCP utiliza una LINE Official Account. Si no tienes una, créala siguiendo estas instrucciones.

Si ya tienes una LINE Official Account, habilita la Messaging API para tu LINE Official Account siguiendo estas instrucciones.

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

Clona este repositorio:

git clone https://github.com/your-username/line-bot-mcp-server.git

Compila la imagen Docker:

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

Paso 3: Configurar el Agente de IA

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

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

  • mcpServers.args: (obligatorio) La ruta a line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (obligatorio) Channel Access Token. Puedes confirmarlo siguiendo estas instrucciones.
  • DESTINATION_USER_ID: (opcional) El ID de usuario predeterminado del destinatario. Si la entrada de la herramienta no incluye user_id, se requiere DESTINATION_USER_ID. Puedes confirmarlo siguiendo estas instrucciones.
  • MCP_TRANSPORT: (opcional) Protocolo de transporte a utilizar. Opciones: stdio (predeterminado), sse
  • MCP_PORT: (opcional) Puerto para el transporte SSE. Predeterminado: 3000

Usando transporte SSE (predeterminado) - Imagen de Docker Hub

{
  "mcpServers": {
    "line-bot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "3000:3000",
        "-e",
        "CHANNEL_ACCESS_TOKEN",
        "-e",
        "DESTINATION_USER_ID",
        "acquojp/line-bot-mcp-server-sse:latest"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE"
      }
    }
  }
}

Usando transporte stdio - Imagen de Docker Hub

{
  "mcpServers": {
    "line-bot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CHANNEL_ACCESS_TOKEN",
        "-e",
        "DESTINATION_USER_ID",
        "-e",
        "MCP_TRANSPORT",
        "acquojp/line-bot-mcp-server-sse:latest"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE",
        "MCP_TRANSPORT" : "stdio"
      }
    }
  }
}

Versionado

Este proyecto respeta el versionado semántico

Ver http://semver.org/

Información del Fork y Diferencias

Este repositorio es un fork del LINE Bot MCP Server oficial con las siguientes mejoras:

✨ Funcionalidades Añadidas

  • Soporte de Transporte SSE (Server-Sent Events): Permite integraciones basadas en web y conexiones HTTP
  • Arquitectura Multi-Transporte: Admite tanto transporte stdio (original) como SSE
  • Distribución en Docker Hub: Imágenes Docker preconstruidas disponibles para una implementación fácil
  • Configuración Lista para Producción: Optimizado para entornos de desarrollo y producción

🔄 Comparación de Transportes

Característicastdio (Original)SSE (Añadido)
Caso de UsoHerramientas CLI locales, comunicación directa entre procesosAplicaciones web, integraciones basadas en HTTP
ConexiónFlujos de entrada/salida estándarHTTP + Server-Sent Events
ImplementaciónBasada en procesosBasada en servidor (HTTP)
PuertoNo requeridoRequiere puerto (predeterminado: 3000)
EscalabilidadProceso únicoMúltiples conexiones concurrentes

🐳 Docker Hub

  • Repositorio: acquojp/line-bot-mcp-server-sse
  • Arquitectura: AMD64 (x86_64) - optimizado para la mayoría de plataformas en la nube
  • Etiquetas: latest, v1.0.0, amd64, arm64

Contribuciones

Consulta CONTRIBUTING antes de realizar una contribución.

Contribuir a Este Fork

Si deseas contribuir a las funcionalidades de transporte SSE u otras mejoras en este fork, por favor:

  1. Haz un fork de este repositorio
  2. Crea una rama de funcionalidad
  3. Realiza tus cambios
  4. Envía una solicitud de extracción (pull request)

Para contribuciones al LINE Bot MCP Server original, visita el repositorio oficial.