LINE Official Account MCP Server

официальный

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

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

日本語版 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?): Идентификатор пользователя, которому нужно отправить сообщение. По умолчанию используется DESTINATION_USER_ID. Должен быть задан либо userId, либо DESTINATION_USER_ID.
      • message.text (string): Простой текст для отправки пользователю.
  2. push_flex_message

    • Отправка гибко настраиваемого flex-сообщения пользователю через LINE.
    • Входные данные:
      • userId (string?): Идентификатор пользователя, которому нужно отправить сообщение. По умолчанию используется 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?): Идентификатор пользователя, профиль которого вы хотите получить. По умолчанию используется DESTINATION_USER_ID.
  6. get_message_quota

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

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

    • Удаление расширенного меню из вашего LINE Official Account.
    • Входные данные:
      • richMenuId (string): Идентификатор расширенного меню для удаления.
  9. set_rich_menu_default

    • Установка расширенного меню в качестве меню по умолчанию.
    • Входные данные:
      • richMenuId (string): Идентификатор расширенного меню для установки по умолчанию.
  10. cancel_rich_menu_default

    • Отмена расширенного меню по умолчанию.
    • Входные данные:
      • Отсутствуют
  11. create_rich_menu

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

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

Установка (с использованием 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: (обязательно) Токен доступа канала. Вы можете узнать его, следуя этой инструкции.
  • DESTINATION_USER_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 [email protected]: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: (обязательно) Токен доступа канала. Вы можете узнать его, следуя этой инструкции.
  • DESTINATION_USER_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 [email protected]: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 перед тем, как внести свой вклад.