LINE Bot MCP Server

Conecta um agente de IA a uma conta oficial do LINE usando a LINE Messaging API.

Documentação

日本語版 READMEはこちら

LINE Bot MCP Server (com suporte a SSE)

npmjs Docker Hub

Implementação do servidor Model Context Protocol (MCP) que integra a LINE Messaging API para conectar um Agente de IA à conta oficial do LINE.

[!NOTE] Este repositório é um fork do LINE Bot MCP Server oficial com suporte adicional ao transporte SSE (Server-Sent Events). O repositório original suporta apenas o transporte stdio.

🔄 Informações do Fork

[!NOTE] Este repositório é fornecido como uma versão de pré-visualização. Embora seja oferecido para fins experimentais, esteja ciente de que pode não incluir funcionalidade completa ou suporte abrangente.

Suporte a Transporte

Este servidor MCP suporta múltiplos protocolos de transporte:

  • stdio (padrão): Entrada/saída padrão para integrações locais
  • SSE: Server-Sent Events sobre HTTP para integrações baseadas na web

Ferramentas

  1. push_text_message
    • Envia uma mensagem de texto simples para um usuário via LINE.
    • Entradas:
      • user_id (string?): O ID do usuário que receberá a mensagem. O padrão é DESTINATION_USER_ID. Deve ser definido user_id ou DESTINATION_USER_ID.
      • message.text (string): O conteúdo de texto simples para enviar ao usuário.
  2. push_flex_message
    • Envia uma mensagem flexível altamente personalizável para um usuário via LINE.
    • Entradas:
      • user_id (string?): O ID do usuário que receberá a mensagem. O padrão é DESTINATION_USER_ID. Deve ser definido user_id ou DESTINATION_USER_ID.
      • message.altText (string): Texto alternativo exibido quando a mensagem flexível não pode ser apresentada.
      • message.content (any): O conteúdo da mensagem flexível. É um objeto JSON que define o layout e os componentes da mensagem.
      • message.contents.type (enum): Tipo do contêiner. 'bubble' para um único contêiner, 'carousel' para múltiplos balões deslizáveis.
  3. broadcast_text_message
    • Envia uma mensagem de texto simples via LINE para todos os usuários que seguiram sua conta oficial do LINE.
    • Entradas:
      • message.text (string): O conteúdo de texto simples para enviar aos usuários.
  4. broadcast_flex_message
    • Envia uma mensagem flexível altamente personalizável via LINE para todos os usuários que adicionaram sua conta oficial do LINE.
    • Entradas:
      • message.altText (string): Texto alternativo exibido quando a mensagem flexível não pode ser apresentada.
      • message.content (any): O conteúdo da mensagem flexível. É um objeto JSON que define o layout e os componentes da mensagem.
      • message.contents.type (enum): Tipo do contêiner. 'bubble' para um único contêiner, 'carousel' para múltiplos balões deslizáveis.
  5. get_profile
    • Obtém informações detalhadas do perfil de um usuário do LINE, incluindo nome de exibição, URL da imagem de perfil, mensagem de status e idioma.
    • Entradas:
      • user_id (string?): O ID do usuário cujo perfil você deseja recuperar. O padrão é DESTINATION_USER_ID.
  6. get_message_quota
    • Obtém a cota de mensagens e o consumo da conta oficial do LINE. Mostra o limite mensal de mensagens e o uso atual.
    • Entradas:
      • Nenhuma
  7. get_rich_menu_list
    • Obtém a lista de menu rico associado à sua conta oficial do LINE.
    • Entradas:
      • Nenhuma
  8. delete_rich_menu
    • Exclui um menu rico da sua conta oficial do LINE.
    • Entradas:
      • richMenuId (string): O ID do menu rico a ser excluído.
  9. set_rich_menu_default
    • Define um menu rico como menu rico padrão.
    • Entradas:
      • richMenuId (string): O ID do menu rico a ser definido como padrão.
  10. cancel_rich_menu_default
    • Cancela o menu rico padrão.
    • Entradas:
      • Nenhuma

Instalação (usando npx)

Requisitos:

  • Node.js v20 ou superior

Passo 1: Criar uma conta oficial do LINE

Este servidor MCP utiliza uma conta oficial do LINE. Se você não tiver uma, crie uma seguindo estas instruções.

Se você já possui uma conta oficial do LINE, habilite a Messaging API para ela seguindo estas instruções.

Passo 2: Configurar o Agente de IA

Adicione a seguinte configuração para um Agente de IA como Claude Desktop ou Cline.

Defina as variáveis de ambiente ou os argumentos da seguinte forma:

  • CHANNEL_ACCESS_TOKEN: (obrigatório) Token de acesso do canal. Você pode confirmá-lo seguindo estas instruções.
  • DESTINATION_USER_ID: (opcional) O ID de usuário padrão do destinatário. Se a entrada da ferramenta não incluir user_id, DESTINATION_USER_ID é obrigatório. Você pode confirmá-lo seguindo estas instruções.
  • MCP_TRANSPORT: (opcional) Protocolo de transporte a ser usado. Opções: stdio (padrão), sse
  • MCP_PORT: (opcional) Porta para o transporte SSE. Padrão: 3000

Usando transporte stdio (padrão)

{
  "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 o transporte SSE, o servidor iniciará um servidor HTTP com os seguintes endpoints:

  • GET /sse - Estabelecer conexão SSE
  • POST /messages - Enviar mensagens para o servidor
  • GET /health - Endpoint de verificação de saúde

Instalação (usando Docker)

Opção A: Usar imagem Docker pré-construída (recomendado)

Você pode usar a imagem Docker pré-construída do Docker Hub sem construir 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

Opção B: Construir a partir do código-fonte

Passo 1: Criar uma conta oficial do LINE

Este servidor MCP utiliza uma conta oficial do LINE. Se você não tiver uma, crie uma seguindo estas instruções.

Se você já possui uma conta oficial do LINE, habilite a Messaging API para ela seguindo estas instruções.

Passo 2: Construir a imagem line-bot-mcp-server

Clone este repositório:

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

Construa a imagem Docker:

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

Passo 3: Configurar o Agente de IA

Adicione a seguinte configuração para um Agente de IA como Claude Desktop ou Cline.

Defina as variáveis de ambiente ou os argumentos da seguinte forma:

  • mcpServers.args: (obrigatório) O caminho para line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (obrigatório) Token de acesso do canal. Você pode confirmá-lo seguindo estas instruções.
  • DESTINATION_USER_ID: (opcional) O ID de usuário padrão do destinatário. Se a entrada da ferramenta não incluir user_id, DESTINATION_USER_ID é obrigatório. Você pode confirmá-lo seguindo estas instruções.
  • MCP_TRANSPORT: (opcional) Protocolo de transporte a ser usado. Opções: stdio (padrão), sse
  • MCP_PORT: (opcional) Porta para o transporte SSE. Padrão: 3000

Usando transporte SSE (padrão) - imagem do 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 - imagem do 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"
      }
    }
  }
}

Versionamento

Este projeto respeita versionamento semântico

Consulte http://semver.org/

Informações e diferenças do fork

Este repositório é um fork do LINE Bot MCP Server oficial com as seguintes melhorias:

✨ Recursos adicionados

  • Suporte ao transporte SSE (Server-Sent Events): Permite integrações baseadas na web e conexões HTTP
  • Arquitetura de múltiplos transportes: Suporta tanto o transporte stdio (original) quanto o SSE
  • Distribuição via Docker Hub: Imagens Docker pré-construídas disponíveis para implantação fácil
  • Configuração pronta para produção: Otimizado para ambientes de desenvolvimento e produção

🔄 Comparação de transportes

Recursostdio (original)SSE (adicionado)
Caso de usoFerramentas CLI locais, comunicação direta de processosAplicações web, integrações baseadas em HTTP
ConexãoFluxos de entrada/saída padrãoHTTP + Server-Sent Events
ImplantaçãoBaseada em processosBaseada em servidor (HTTP)
PortaNão necessáriaRequer porta (padrão: 3000)
EscalabilidadeProcesso únicoMúltiplas conexões concorrentes

🐳 Docker Hub

  • Repositório: acquojp/line-bot-mcp-server-sse
  • Arquitetura: AMD64 (x86_64) - otimizada para a maioria das plataformas em nuvem
  • Tags: latest, v1.0.0, amd64, arm64

Contribuindo

Consulte CONTRIBUTING antes de fazer uma contribuição.

Contribuindo para este fork

Se você deseja contribuir com os recursos de transporte SSE ou outras melhorias neste fork, siga:

  1. Faça um fork deste repositório
  2. Crie uma branch de recurso
  3. Faça suas alterações
  4. Envie um pull request

Para contribuições ao LINE Bot MCP Server original, visite o repositório oficial.