LINE Official Account MCP Server
официальныйИнтегрирует LINE Messaging API для подключения AI-агента к LINE Official Account.
Документация
LINE Bot MCP Server
Реализация сервера Model Context Protocol (MCP), интегрирующая LINE Messaging API для подключения AI-агента к LINE Official Account.

[!NOTE] Этот репозиторий предоставляется в виде предварительной версии. Мы предлагаем его для экспериментальных целей, однако имейте в виду, что он может не включать полную функциональность или всестороннюю поддержку.
Инструменты
-
push_text_message
- Отправка простого текстового сообщения пользователю через LINE.
- Входные данные:
userId(string?): Идентификатор пользователя, которому нужно отправить сообщение. По умолчанию используется DESTINATION_USER_ID. Должен быть задан либоuserId, либоDESTINATION_USER_ID.message.text(string): Простой текст для отправки пользователю.
-
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' для нескольких перелистываемых пузырей.
-
broadcast_text_message
- Широковещательная рассылка простого текстового сообщения через LINE всем пользователям, подписавшимся на ваш LINE Official Account.
- Входные данные:
message.text(string): Простой текст для отправки пользователям.
-
broadcast_flex_message
- Широковещательная рассылка гибко настраиваемого flex-сообщения через LINE всем пользователям, добавившим ваш LINE Official Account.
- Входные данные:
message.altText(string): Альтернативный текст, отображаемый, если flex-сообщение не может быть показано.message.contents(any): Содержимое flex-сообщения. Это JSON-объект, определяющий макет и компоненты сообщения.message.contents.type(enum): Тип контейнера. 'bubble' для одиночного контейнера, 'carousel' для нескольких перелистываемых пузырей.
-
get_profile
- Получение подробной информации профиля пользователя LINE, включая отображаемое имя, URL изображения профиля, статусное сообщение и язык.
- Входные данные:
userId(string?): Идентификатор пользователя, профиль которого вы хотите получить. По умолчанию используется DESTINATION_USER_ID.
-
get_message_quota
- Получение квоты сообщений и потребления для LINE Official Account. Показывает месячный лимит сообщений и текущее использование.
- Входные данные:
- Отсутствуют
-
get_rich_menu_list
- Получение списка расширенных меню, связанных с вашим LINE Official Account.
- Входные данные:
- Отсутствуют
-
delete_rich_menu
- Удаление расширенного меню из вашего LINE Official Account.
- Входные данные:
richMenuId(string): Идентификатор расширенного меню для удаления.
-
set_rich_menu_default
- Установка расширенного меню в качестве меню по умолчанию.
- Входные данные:
richMenuId(string): Идентификатор расширенного меню для установки по умолчанию.
-
cancel_rich_menu_default
- Отмена расширенного меню по умолчанию.
- Входные данные:
- Отсутствуют
-
create_rich_menu
- Создание расширенного меню на основе заданных действий. Генерация и загрузка изображения. Установка по умолчанию.
- Входные данные:
chatBarText(string): Текст, отображаемый в строке чата, также используется как имя расширенного меню.actions(array): Действия расширенного меню. Можно указать от 1 до 6 действий. Каждое действие может быть одного из следующих типов:postback: Для отправки действия postbackmessage: Для отправки текстового сообщенияuri: Для открытия URLdatetimepicker: Для открытия выбора даты/времениcamera: Для открытия камерыcameraRoll: Для открытия фотоплёнкиlocation: Для отправки текущего местоположенияrichmenuswitch: Для переключения на другое расширенное менюclipboard: Для копирования текста в буфер обмена
-
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 для тестирования и отладки сервера локально.
Предварительные требования
- Клонируйте репозиторий:
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
- Установите зависимости:
npm install
- Соберите проект:
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 и тестировать их функциональность.
Версионирование
Этот проект соблюдает принципы семантического версионирования
Участие в разработке
Пожалуйста, ознакомьтесь с CONTRIBUTING перед тем, как внести свой вклад.