LINE Official Account

oficial

Integra a API de Mensagens do LINE para conectar um Agente de IA à Conta Oficial do LINE.

O que você pode fazer com LINE Official Account MCP?

  • Enviar mensagens de texto — Envie uma mensagem de texto simples para um usuário específico via push_text_message ou transmita para todos os seguidores com broadcast_text_message.
  • Enviar mensagens flex ricas — Entregue mensagens de bolha ou carrossel altamente personalizáveis para um usuário individual ou transmita-as usando push_flex_message ou broadcast_flex_message.
  • Gerenciar menus ricos — Crie, liste, defina como padrão, cancele o padrão ou exclua menus ricos com ações como postback, URI e câmera via create_rich_menu, get_rich_menu_list e ferramentas relacionadas.
  • Recuperar informações de usuário e grupo — Busque os detalhes do perfil de um usuário (nome, foto, mensagem de status) com get_profile, ou obtenha o resumo do chat em grupo incluindo ID e ícone via get_group_summary.
  • Monitorar cota de mensagens — Verifique o limite mensal de mensagens e o uso atual da sua conta oficial do LINE usando get_message_quota.
  • Obter IDs de seguidores — Recupere uma lista paginada de IDs de usuários que adicionaram sua conta como amigo usando get_follower_ids, com token de continuação e limite opcionais.

Documentação

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

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

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

Ferramentas

  1. push_text_message

    • Envia uma mensagem de texto simples para um usuário via LINE.
    • Entradas:
      • userId (string?): O ID do usuário que receberá a mensagem. O padrão é DESTINATION_USER_ID. userId ou DESTINATION_USER_ID deve ser definido.
      • message.text (string): O conteúdo de texto simples a ser enviado ao usuário.
  2. push_flex_message

    • Envia uma mensagem flex altamente personalizável para um usuário via LINE.
    • Entradas:
      • userId (string?): O ID do usuário que receberá a mensagem. O padrão é DESTINATION_USER_ID. userId ou DESTINATION_USER_ID deve ser definido.
      • message.altText (string): Texto alternativo exibido quando a mensagem flex não pode ser exibida.
      • message.contents (any): O conteúdo da mensagem flex. Este é um objeto JSON que define o layout e os componentes da mensagem.
      • message.contents.type (enum): Tipo do contêiner. 'bubble' para contêiner único, 'carousel' para múltiplos balões deslizáveis.
  3. broadcast_text_message

    • Transmite 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 a ser enviado aos usuários.
  4. broadcast_flex_message

    • Transmite uma mensagem flex 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 não pode ser exibida.
      • message.contents (any): O conteúdo da mensagem flex. Este é um objeto JSON que define o layout e os componentes da mensagem.
      • message.contents.type (enum): Tipo do contêiner. 'bubble' para contêiner único, '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 foto do perfil, mensagem de status e idioma.
    • Entradas:
      • userId (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. Isso mostra o limite mensal de mensagens e o uso atual.
    • Entradas:
      • Nenhuma
  7. get_rich_menu_list

    • Obtém a lista de menus ricos associados à 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 o 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
  11. create_rich_menu

    • Cria um menu rico com base nas ações fornecidas. Gera e envia uma imagem. Define como padrão.
    • Entradas:
      • chatBarText (string): Texto exibido na barra de chat, também usado como nome do menu rico.
      • actions (array): As ações do menu rico. Você pode especificar no mínimo 1 e no máximo 6 ações. Cada ação pode ser um dos seguintes tipos:
        • postback: Para enviar uma ação de postback
        • message: Para enviar uma mensagem de texto
        • uri: Para abrir uma URL
        • datetimepicker: Para abrir um seletor de data/hora
        • camera: Para abrir a câmera
        • cameraRoll: Para abrir o rolo da câmera
        • location: Para enviar a localização atual
        • richmenuswitch: Para alternar para outro menu rico
        • clipboard: Para copiar texto para a área de transferência
  12. get_follower_ids

    • Obtém uma lista de IDs de usuários que adicionaram a Conta Oficial do LINE como amigo. Isso permite obter IDs de usuários para enviar mensagens sem prepará-los manualmente.
    • Entradas:
      • start (string?): Token de continuação para obter o próximo array de IDs de usuários. Retornado na propriedade next de uma resposta anterior.
      • limit (number?): O número máximo de IDs de usuários a serem recuperados em uma única solicitação.
  13. get_group_summary

    • Obtém o resumo do chat em grupo, incluindo ID do grupo, nome do grupo e URL do ícone do grupo, usando o ID do grupo.
    • Entradas:
      • groupId (string): O ID do grupo do chat em grupo de destino.

Instalação (usando npx)

requisitos:

  • Node.js v22 ou posterior

Etapa 1: Criar uma Conta Oficial do LINE

Este servidor MCP utiliza uma Conta Oficial do LINE. Se você não tiver uma, crie-a seguindo estas instruções.

Se você tiver uma Conta Oficial do LINE, ative a API de Mensagens para sua Conta Oficial do LINE seguindo estas instruções.

Etapa 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 argumentos da seguinte forma:

  • CHANNEL_ACCESS_TOKEN: (obrigatório) Token de Acesso do Canal. Você pode confirmar isso 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 userId, DESTINATION_USER_ID é obrigatório. Você pode confirmar isso seguindo estas instruções.
{
  "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"
      }
    }
  }
}

Instalação (usando Docker)

Etapa 1: Criar uma Conta Oficial do LINE

Este servidor MCP utiliza uma Conta Oficial do LINE. Se você não tiver uma, crie-a seguindo estas instruções.

Se você tiver uma Conta Oficial do LINE, ative a API de Mensagens para sua Conta Oficial do LINE seguindo estas instruções.

Etapa 2: Criar a imagem line-bot-mcp-server

Clone este repositório:

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

Crie a imagem Docker:

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

Etapa 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 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 confirmar isso 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 userId, DESTINATION_USER_ID é obrigatório. Você pode confirmar isso seguindo estas instruções.
{
  "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"
      }
    }
  }
}

Desenvolvimento Local com Inspector

Você pode usar o MCP Inspector para testar e depurar o servidor localmente.

Pré-requisitos

  1. Clone o repositório:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Instale as dependências:
npm install
  1. Compile o projeto:
npm run build

Executar o Inspector

Após compilar o projeto, você pode iniciar o 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"

Isso iniciará a interface do MCP Inspector, onde você pode interagir com as ferramentas do LINE Bot MCP Server e testar sua funcionalidade.

Versionamento

Este projeto respeita o versionamento semântico

Veja http://semver.org/

Contribuindo

Verifique CONTRIBUTING antes de fazer uma contribuição.