LINE Official Account

официальный

Интегрирует LINE Messaging API для подключения AI-агента к LINE Official Account.

Что можно делать с LINE Official Account MCP?

  • Send text messages — Push a plain text message to a specific user via push_text_message or broadcast to all followers with broadcast_text_message.
  • Send rich flex messages — Deliver highly customizable bubble or carousel messages to an individual user or broadcast them using push_flex_message or broadcast_flex_message.
  • Manage rich menus — Create, list, set as default, cancel default, or delete rich menus with actions like postback, URI, and camera via create_rich_menu, get_rich_menu_list, and related tools.
  • Retrieve user and group info — Fetch a user's profile details (name, picture, status message) with get_profile, or get group chat summary including ID and icon via get_group_summary.
  • Monitor message quota — Check the monthly message limit and current usage of your LINE Official Account using get_message_quota.
  • Get follower IDs — Retrieve a paginated list of user IDs who added your account as a friend using get_follower_ids, with optional continuation token and limit.

Документация

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Реализация сервера Model Context Protocol (MCP), которая интегрирует LINE Messaging API для подключения AI-агента к LINE Official Account.

[!NOTE] Этот репозиторий предоставляется в качестве предварительной версии. Хотя мы предлагаем его для экспериментальных целей, имейте в виду, что он может не включать полную функциональность или всестороннюю поддержку.

Инструменты

  1. push_text_message

    • Отправка простого текстового сообщения пользователю через LINE.
    • Входные данные:
      • userId (string?): ID пользователя, которому будет отправлено сообщение. По умолчанию используется DESTINATION_USER_ID. Должен быть задан либо userId, либо DESTINATION_USER_ID.
      • message.text (string): Простой текст для отправки пользователю.
  2. push_flex_message

    • Отправка высоконастраиваемого flex-сообщения пользователю через LINE.
    • Входные данные:
      • userId (string?): ID пользователя, которому будет отправлено сообщение. По умолчанию используется DESTINATION_USER_ID. Должен быть задан либо userId, либо DESTINATION_USER_ID.
      • message.altText (string): Альтернативный текст, отображаемый, когда flex-сообщение не может быть показано.
      • message.contents (any): Содержимое flex-сообщения. Это JSON-объект, определяющий макет и компоненты сообщения.
      • message.contents.type (enum): Тип контейнера. 'bubble' для одного контейнера, 'carousel' для нескольких прокручиваемых пузырей.
  3. broadcast_text_message

    • Рассылка простого текстового сообщения через LINE всем пользователям, которые подписались на ваш LINE Official Account.
    • Входные данные:
      • message.text (string): Простой текст для отправки пользователям.
  4. broadcast_flex_message

    • Рассылка высоконастраиваемого flex-сообщения через LINE всем пользователям, которые добавили ваш LINE Official Account.
    • Входные данные:
      • message.altText (string): Альтернативный текст, отображаемый, когда flex-сообщение не может быть показано.
      • message.contents (any): Содержимое flex-сообщения. Это JSON-объект, определяющий макет и компоненты сообщения.
      • message.contents.type (enum): Тип контейнера. 'bubble' для одного контейнера, 'carousel' для нескольких прокручиваемых пузырей.
  5. get_profile

    • Получение подробной информации о профиле пользователя LINE, включая отображаемое имя, URL изображения профиля, статусное сообщение и язык.
    • Входные данные:
      • userId (string?): ID пользователя, профиль которого вы хотите получить. По умолчанию используется DESTINATION_USER_ID.
  6. get_message_quota

    • Получение квоты сообщений и их потребления для LINE Official Account. Это показывает месячный лимит сообщений и текущее использование.
    • Входные данные:
      • Нет
  7. get_rich_menu_list

    • Получение списка rich-меню, связанных с вашим LINE Official Account.
    • Входные данные:
      • Нет
  8. delete_rich_menu

    • Удаление rich-меню из вашего LINE Official Account.
    • Входные данные:
      • richMenuId (string): ID rich-меню для удаления.
  9. set_rich_menu_default

    • Установка rich-меню в качестве меню по умолчанию.
    • Входные данные:
      • richMenuId (string): ID rich-меню для установки в качестве меню по умолчанию.
  10. cancel_rich_menu_default

    • Отмена rich-меню по умолчанию.
    • Входные данные:
      • Нет
  11. create_rich_menu

    • Создание rich-меню на основе заданных действий. Генерация и загрузка изображения. Установка в качестве меню по умолчанию.
    • Входные данные:
      • chatBarText (string): Текст, отображаемый в чат-баре, также используется как имя rich-меню.
      • actions (array): Действия rich-меню. Можно указать от 1 до 6 действий. Каждое действие может быть одного из следующих типов:
        • postback: Для отправки postback-действия
        • message: Для отправки текстового сообщения
        • uri: Для открытия URL
        • datetimepicker: Для открытия выбора даты/времени
        • camera: Для открытия камеры
        • cameraRoll: Для открытия галереи
        • location: Для отправки текущего местоположения
        • richmenuswitch: Для переключения на другое rich-меню
        • clipboard: Для копирования текста в буфер обмена
  12. get_follower_ids

    • Получение списка ID пользователей, которые добавили LINE Official Account в друзья. Это позволяет получить ID пользователей для отправки сообщений без их ручной подготовки.
    • Входные данные:
      • start (string?): Токен продолжения для получения следующего массива ID пользователей. Возвращается в свойстве next предыдущего ответа.
      • limit (number?): Максимальное количество ID пользователей для получения в одном запросе.
  13. get_group_summary

    • Получение сводки группового чата, включая ID группы, имя группы и URL иконки группы, с использованием ID группы.
    • Входные данные:
      • groupId (string): ID группы целевого группового чата.

Установка (с использованием npx)

Требования:

  • Node.js v22 или новее

Шаг 1: Создание LINE Official Account

Этот MCP-сервер использует LINE Official Account. Если у вас его нет, создайте его, следуя этой инструкции.

Если у вас есть LINE Official Account, включите Messaging API для вашего LINE Official Account, следуя этой инструкции.

Шаг 2: Настройка AI-агента

Пожалуйста, добавьте следующую конфигурацию для AI-агента, такого как Claude Desktop или Cline.

Установите переменные окружения или аргументы следующим образом:

  • CHANNEL_ACCESS_TOKEN: (обязательно) Channel Access Token. Вы можете подтвердить это, следуя этой инструкции.
  • DESTINATION_USER_ID: (необязательно) ID пользователя по умолчанию для получателя. Если входные данные инструмента не включают userId, требуется DESTINATION_USER_ID. Вы можете подтвердить это, следуя этой инструкции.
{
  "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"
      }
    }
  }
}

Установка (с использованием Docker)

Шаг 1: Создание LINE Official Account

Этот MCP-сервер использует LINE Official Account. Если у вас его нет, создайте его, следуя этой инструкции.

Если у вас есть LINE Official Account, включите Messaging API для вашего LINE Official Account, следуя этой инструкции.

Шаг 2: Сборка образа line-bot-mcp-server

Клонируйте этот репозиторий:

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

Соберите Docker-образ:

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

Шаг 3: Настройка AI-агента

Пожалуйста, добавьте следующую конфигурацию для AI-агента, такого как Claude Desktop или Cline.

Установите переменные окружения или аргументы следующим образом:

  • mcpServers.args: (обязательно) Путь к line-bot-mcp-server.
  • CHANNEL_ACCESS_TOKEN: (обязательно) Channel Access Token. Вы можете подтвердить это, следуя этой инструкции.
  • DESTINATION_USER_ID: (необязательно) ID пользователя по умолчанию для получателя. Если входные данные инструмента не включают userId, требуется DESTINATION_USER_ID. Вы можете подтвердить это, следуя этой инструкции.
{
  "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"
      }
    }
  }
}

Локальная разработка с Inspector

Вы можете использовать MCP Inspector для тестирования и отладки сервера локально.

Предварительные требования

  1. Клонируйте репозиторий:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. Установите зависимости:
npm install
  1. Соберите проект:
npm run build

Запуск Inspector

После сборки проекта вы можете запустить 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"

Это запустит интерфейс MCP Inspector, где вы можете взаимодействовать с инструментами LINE Bot MCP Server и тестировать их функциональность.

Версионирование

Этот проект соблюдает семантическое версионирование.

См. http://semver.org/

Вклад в проект

Пожалуйста, ознакомьтесь с CONTRIBUTING перед внесением вклада.