LINE Official Account MCP Server

oficial

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

Documentação

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Implementação de 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 funcionalidades completas 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ível 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ível não pode ser mostrada.
      • message.contents (any): O conteúdo da mensagem flexível. 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 bubbles 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í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 mostrada.
      • message.contents (any): O conteúdo da mensagem flexível. 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 bubbles 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 de 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. Mostra o limite mensal de mensagens e o uso atual.
    • Entradas:
      • Nenhuma
  7. get_rich_menu_list

    • Obtém a lista de rich menus associados à sua Conta Oficial do LINE.
    • Entradas:
      • Nenhuma
  8. delete_rich_menu

    • Exclui um rich menu da sua Conta Oficial do LINE.
    • Entradas:
      • richMenuId (string): O ID do rich menu a ser excluído.
  9. set_rich_menu_default

    • Define um rich menu como o rich menu padrão.
    • Entradas:
      • richMenuId (string): O ID do rich menu a ser definido como padrão.
  10. cancel_rich_menu_default

    • Cancela o rich menu padrão.
    • Entradas:
      • Nenhuma
  11. create_rich_menu

    • Cria um rich menu com base nas ações fornecidas. Gera e faz upload de uma imagem. Define como padrão.
    • Entradas:
      • chatBarText (string): Texto exibido na barra de chat, também usado como nome do rich menu.
      • actions (array): As ações do rich menu. Você pode especificar no mínimo 1 e no máximo 6 ações. Cada ação pode ser de 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 rich menu
        • 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ário para enviar mensagens sem prepará-los manualmente.
    • Entradas:
      • start (string?): Token de continuação para obter o próximo array de IDs de usuário. Retornado na propriedade next de uma resposta anterior.
      • limit (number?): O número máximo de IDs de usuário a recuperar em uma única solicitação.

Instalação (Usando npx)

requisitos:

  • Node.js v22 ou posterior

Passo 1: Criar 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ê já possui uma Conta Oficial do LINE, habilite a API de Mensagens para sua Conta Oficial do LINE seguindo estas instruções.

Passo 2: Configurar 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 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 userId, DESTINATION_USER_ID é obrigatório. Você pode confirmá-lo 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)

Passo 1: Criar 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ê já possui uma Conta Oficial do LINE, habilite a API de Mensagens para sua Conta Oficial do LINE seguindo estas instruções.

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

Clone este repositório:

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

Construa a imagem Docker:

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

Passo 3: Configurar 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 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 userId, DESTINATION_USER_ID é obrigatório. Você pode confirmá-lo 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 [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Instale as dependências:
npm install
  1. Construa o projeto:
npm run build

Executar o Inspector

Após construir 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 suas funcionalidades.

Versionamento

Este projeto respeita a versionamento semântico

Veja http://semver.org/

Contribuindo

Por favor, verifique CONTRIBUTING antes de fazer uma contribuição.