by line
Integrates the LINE Messaging API with a Model Context Protocol server, enabling AI agents to send text, flex, broadcast messages, retrieve user profiles, and manage rich menus on a LINE Official Account.
The project provides a Model Context Protocol (MCP) server that connects an AI agent to a LINE Official Account. It exposes a set of tools for pushing individual or broadcast messages, accessing user profiles, checking message quotas, and handling rich‑menu operations.
CHANNEL_ACCESS_TOKEN (long‑lived token from LINE developer console)DESTINATION_USER_ID (default recipient user ID, optional if always supplied in tool input){
"mcpServers": {
"line-bot": {
"command": "npx",
"args": ["@line/line-bot-mcp-server"],
"env": {
"CHANNEL_ACCESS_TOKEN": "<YOUR_CHANNEL_ACCESS_TOKEN>",
"DESTINATION_USER_ID": "<DEFAULT_USER_ID>"
}
}
}
}
push_text_message, push_flex_message, broadcast_text_message, get_profile, etc., which can be invoked by the connected AI agent.npx @line/line-bot-mcp-server with the required environment variables.DESTINATION_USER_ID?
Use the LINE Messaging API endpoint to retrieve your own user ID or set it manually if you know the target user.Model Context Protocol (MCP) server implementation that integrates the LINE Messaging API to connect an AI Agent to the LINE Official Account.

[!NOTE] This repository is provided as a preview version. While we offer it for experimental purposes, please be aware that it may not include complete functionality or comprehensive support.
user_id (string?): The user ID to receive a message. Defaults to DESTINATION_USER_ID. Either user_id or DESTINATION_USER_ID must be set.message.text (string): The plain text content to send to the user.user_id (string?): The user ID to receive a message. Defaults to DESTINATION_USER_ID. Either user_id or DESTINATION_USER_ID must be set.message.altText (string): Alternative text shown when flex message cannot be displayed.message.content (any): The content of the flex message. This is a JSON object that defines the layout and components of the message.message.contents.type (enum): Type of the container. 'bubble' for single container, 'carousel' for multiple swipeable bubbles.message.text (string): The plain text content to send to the users.message.altText (string): Alternative text shown when flex message cannot be displayed.message.content (any): The content of the flex message. This is a JSON object that defines the layout and components of the message.message.contents.type (enum): Type of the container. 'bubble' for single container, 'carousel' for multiple swipeable bubbles.user_id (string?): The ID of the user whose profile you want to retrieve. Defaults to DESTINATION_USER_ID.richMenuId (string): The ID of the rich menu to delete.richMenuId (string): The ID of the rich menu to set as default.requirements:
This MCP server utilizes a LINE Official Account. If you do not have one, please create it by following this instructions.
If you have a LINE Official Account, enable the Messaging API for your LINE Official Account by following this instructions.
Please add the following configuration for an AI Agent like Claude Desktop or Cline.
Set the environment variables or arguments as follows:
CHANNEL_ACCESS_TOKEN: (required) Channel Access Token. You can confirm this by following this instructions.DESTINATION_USER_ID: (optional) The default user ID of the recipient. If the Tool's input does not include user_id, DESTINATION_USER_ID is required. You can confirm this by following this instructions.{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": [
"@line/line-bot-mcp-server"
],
"env": {
"CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
"DESTINATION_USER_ID" : "FILL_HERE"
}
}
}
}
This MCP server utilizes a LINE Official Account. If you do not have one, please create it by following this instructions.
If you have a LINE Official Account, enable the Messaging API for your LINE Official Account by following this instructions.
Clone this repository:
git clone git@github.com:line/line-bot-mcp-server.git
Build the Docker image:
docker build -t line/line-bot-mcp-server .
Please add the following configuration for an AI Agent like Claude Desktop or Cline.
Set the environment variables or arguments as follows:
mcpServers.args: (required) The path to line-bot-mcp-server.CHANNEL_ACCESS_TOKEN: (required) Channel Access Token. You can confirm this by following this instructions.DESTINATION_USER_ID: (optional) The default user ID of the recipient. If the Tool's input does not include user_id, DESTINATION_USER_ID is required.
You can confirm this by following this instructions.{
"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"
}
}
}
}
You can use the MCP Inspector to test and debug the server locally.
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
npm install
npm run build
After building the project, you can start the MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.js
This will start the MCP Inspector interface where you can interact with the LINE Bot MCP Server tools and test their functionality.
This project respects semantic versioning
Please check CONTRIBUTING before making a contribution.
Please log in to share your review and rating for this MCP.
{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": [
"@line/line-bot-mcp-server"
],
"env": {
"CHANNEL_ACCESS_TOKEN": "<YOUR_CHANNEL_ACCESS_TOKEN>",
"DESTINATION_USER_ID": "<DEFAULT_USER_ID>"
}
}
}
}claude mcp add line-bot npx @line/line-bot-mcp-serverExplore related MCPs that share similar capabilities and solve comparable challenges
by lharries
Enables searching, reading, and sending personal WhatsApp messages and media through a Model Context Protocol (MCP) server, storing all data locally in SQLite and exposing controlled tools for LLMs like Claude.
by iFurySt
Provides authenticated access to XiaoHongShu (RedNote) notes, supporting keyword search, note retrieval by URL, and cookie persistence via a Model Context Protocol server.
by korotovsky
Provides a powerful Model Context Protocol interface for Slack workspaces, enabling message retrieval, search, and optional posting via Stdio or SSE transports without requiring bot permissions.
by ZubeidHendricks
Provides a standardized interface for interacting with YouTube content, enabling video retrieval, transcript access, channel and playlist management, and advanced analytics through the Model Context Protocol.
by InditexTech
Provides Microsoft Teams integration via the Model Context Protocol, enabling reading, creating, replying to messages and mentioning members.
by chigwell
Provides a full‑featured Telegram integration for MCP‑compatible clients, enabling programmatic access to chats, messages, contacts, profile management, and group administration.
by EnesCinr
Interact with Twitter to post tweets and search tweets programmatically via an MCP server.
by pipeboard-co
Provides a standardized interface for AI models to retrieve performance data, visualize creatives, and manage Meta advertising campaigns across Facebook, Instagram, and other Meta platforms.
by chaindead
Manages Telegram dialogs, messages, drafts, and read statuses via the Model Context Protocol, enabling AI assistants to query and interact with Telegram accounts.