LINE Official Account

By lineCreated 4 days ago
starstarstarstarstar

Integrate the LINE Messaging API to connect an AI agent to a LINE Official Account.

Visit Project
Share this MCP:
X (Formerly Twitter)RedditblueskyThreads by Instagram

Category

Official MCP Server

Tags

Line Official AccountMessaging ApiAi Integration

ζ—₯本θͺžη‰ˆ READMEはこけら

LINE Bot MCP Server

npmjs

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.

Tools

  1. push_text_message
    • Push a simple text message to a user via LINE.
    • Inputs:
      • 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.
  2. push_flex_message
    • Push a highly customizable flex message to a user via LINE.
    • Inputs:
      • 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.
  3. broadcast_text_message
    • Broadcast a simple text message via LINE to all users who have followed your LINE Official Account.
    • Inputs:
      • message.text (string): The plain text content to send to the users.
  4. broadcast_flex_message
    • Broadcast a highly customizable flex message via LINE to all users who have added your LINE Official Account.
    • Inputs:
      • 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.
  5. get_profile
    • Get detailed profile information of a LINE user including display name, profile picture URL, status message and language.
    • Inputs:
      • user_id (string?): The ID of the user whose profile you want to retrieve. Defaults to DESTINATION_USER_ID.
  6. get_message_quota
    • Get the message quota and consumption of the LINE Official Account. This shows the monthly message limit and current usage.
    • Inputs:
      • None
  7. get_rich_menu_list
    • Get the list of rich menus associated with your LINE Official Account.
    • Inputs:
      • None
  8. delete_rich_menu
    • Delete a rich menu from your LINE Official Account.
    • Inputs:
      • richMenuId (string): The ID of the rich menu to delete.
  9. set_rich_menu_default
    • Set a rich menu as the default rich menu.
    • Inputs:
      • richMenuId (string): The ID of the rich menu to set as default.
  10. cancel_rich_menu_default
    • Cancel the default rich menu.
    • Inputs:
      • None

Installation (Using npx)

requirements:

  • Node.js v20 or later

Step 1: Create LINE Official Account

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.

Step 2: Configure AI Agent

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"
      }
    }
  }
}

Installation (Using Docker)

Step 1: Create LINE Official Account

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.

Step 2: Build line-bot-mcp-server image

Clone this repository:

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

Build the Docker image:

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

Step 3: Configure AI Agent

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"
      }
    }
  }
}

Versioning

This project respects semantic versioning

See http://semver.org/

Contributing

Please check CONTRIBUTING before making a contribution.