LINE Official Account MCP Server

oficial

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

Documentación

README en japonés aquí

LINE Bot MCP Server

npmjs

Implementación de servidor del Protocolo de Contexto de Modelo (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 ofrece como versión preliminar. Si bien lo proporcionamos con fines experimentales, tenga en cuenta que puede no incluir la funcionalidad completa ni un soporte exhaustivo.

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 del usuario que recibirá el mensaje. Por defecto usa DESTINATION_USER_ID. Se debe establecer userId o DESTINATION_USER_ID.
      • message.text (string): El contenido de texto plano a 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 del usuario que recibirá el mensaje. Por defecto usa DESTINATION_USER_ID. Se debe establecer userId o DESTINATION_USER_ID.
      • message.altText (string): Texto alternativo que se muestra cuando el mensaje flex no puede visualizarse.
      • message.contents (any): El contenido del mensaje flex. Es un objeto JSON que define la disposición y los componentes del mensaje.
      • message.contents.type (enum): Tipo de contenedor. 'bubble' para un solo contenedor, 'carousel' para múltiples burbujas deslizables.
  3. broadcast_text_message

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

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

    • Obtiene información detallada del perfil de un usuario de LINE, incluyendo nombre visible, URL de la imagen de perfil, mensaje de estado e idioma.
    • Entradas:
      • userId (string?): El ID del usuario cuyo perfil deseas 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. 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 Cuenta Oficial de LINE.
    • Entradas:
      • Ninguna
  8. delete_rich_menu

    • Elimina un menú enriquecido de tu Cuenta Oficial de LINE.
    • 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
  11. create_rich_menu

    • Crea un menú enriquecido basado en las acciones dadas. Genera y sube una imagen. Lo 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. Puedes especificar de 1 a 6 acciones como mínimo y máximo. Cada acción puede ser uno de los siguientes tipos:
        • postback: Para enviar una acción de 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 amigos. Esto te permite obtener IDs de usuario para enviar mensajes sin prepararlos manualmente.
    • Entradas:
      • start (string?): Token de continuación para obtener el siguiente arreglo 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.

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 tienes una, créala siguiendo estas instrucciones.

Si ya tienes una Cuenta Oficial de LINE, habilita la API de Mensajería para tu Cuenta Oficial de LINE 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: (requerido) Token de Acceso del Canal. Puedes 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. Puedes 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 tienes una, créala siguiendo estas instrucciones.

Si ya tienes una Cuenta Oficial de LINE, habilita la API de Mensajería para tu Cuenta Oficial de LINE siguiendo estas instrucciones.

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

Clona este repositorio:

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

Construye la imagen Docker:

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

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: (requerido) La ruta a line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (requerido) Token de Acceso del Canal. Puedes 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. Puedes 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

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

Prerrequisitos

  1. Clona el repositorio:
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Instala las dependencias:
npm install
  1. Construye el proyecto:
npm run build

Ejecutar el Inspector

Después de construir el proyecto, puedes iniciar el Inspector MCP:

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 Inspector MCP donde puedes interactuar con las herramientas del Servidor MCP de LINE Bot y probar su funcionalidad.

Versionado

Este proyecto respeta el versionado semántico

Ver http://semver.org/

Contribuciones

Por favor revisa CONTRIBUTING antes de realizar una contribución.