LINE Official Account

官方

整合 LINE Messaging API,將 AI Agent 連接至 LINE Official Account。

你可以用 LINE Official Account MCP 做什麼?

  • 向特定使用者傳送文字訊息 — 請助理使用 push_text_message 推送純文字訊息。
  • 向所有粉絲廣播文字訊息 — 透過 broadcast_text_message 向追蹤您帳號的所有人傳送文字公告。
  • 傳送結構化的 Flex Message — 使用 push_flex_message 向使用者傳送可自訂版型(泡泡或輪播)。
  • 查詢使用者的 LINE 個人檔案 — 透過 get_profile 取得顯示名稱、頭像與狀態訊息。
  • 檢查每月訊息配額 — 使用 get_message_quota 查看已使用的訊息數量與上限。
  • 管理圖文選單 — 使用 create_rich_menuget_rich_menu_listset_rich_menu_defaultdelete_rich_menu 來建立、列出、設為預設或刪除圖文選單。

文件

日文版 README 請點此

LINE Bot MCP Server

npmjs

實作 Model Context Protocol (MCP) 的伺服器,整合 LINE Messaging API,將 AI Agent 連接至 LINE Official Account。

[!NOTE] 此儲存庫為預覽版本。雖然我們提供用於實驗目的,但請注意,它可能不包含完整功能或全面支援。

工具

  1. push_text_message

    • 透過 LINE 推送純文字訊息給使用者。
    • 輸入:
      • userId (string?):接收訊息的使用者 ID。預設為 DESTINATION_USER_ID。必須設定 userIdDESTINATION_USER_ID 其中之一。
      • message.text (string):要傳送給使用者的純文字內容。
  2. push_flex_message

    • 透過 LINE 推送高度可自訂的 Flex 訊息給使用者。
    • 輸入:
      • userId (string?):接收訊息的使用者 ID。預設為 DESTINATION_USER_ID。必須設定 userIdDESTINATION_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

    • 透過 LINE 廣播高度可自訂的 Flex 訊息給所有已加入您 LINE Official Account 的使用者。
    • 輸入:
      • message.altText (string):當 Flex 訊息無法顯示時顯示的替代文字。
      • message.contents (any):Flex 訊息的內容。這是一個定義訊息版面配置與元件的 JSON 物件。
      • message.contents.type (enum):容器的類型。'bubble' 表示單一容器,'carousel' 表示多個可滑動的泡泡。
  5. get_profile

    • 取得 LINE 使用者的詳細個人資料資訊,包括顯示名稱、大頭貼圖片網址、狀態訊息和語言。
    • 輸入:
      • userId (string?):您想擷取其個人資料的使用者 ID。預設為 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):要刪除的圖文選單 ID。
  9. set_rich_menu_default

    • 將圖文選單設為預設圖文選單。
    • 輸入:
      • richMenuId (string):要設為預設的圖文選單 ID。
  10. cancel_rich_menu_default

    • 取消預設圖文選單。
    • 輸入:
  11. create_rich_menu

    • 根據指定的動作建立圖文選單。產生並上傳圖片。設為預設。
    • 輸入:
      • chatBarText (string):顯示在聊天欄中的文字,也用作圖文選單名稱。
      • actions (array):圖文選單的動作。您可以指定最少 1 個,最多 6 個動作。每個動作可以是以下類型之一:
        • postback:用於傳送 postback 動作
        • message:用於傳送文字訊息
        • uri:用於開啟網址
        • datetimepicker:用於開啟日期/時間選擇器
        • camera:用於開啟相機
        • cameraRoll:用於開啟相簿
        • location:用於傳送目前位置
        • richmenuswitch:用於切換到另一個圖文選單
        • clipboard:用於複製文字到剪貼簿
  12. get_follower_ids

    • 取得已將 LINE Official Account 加入好友的使用者 ID 列表。這讓您無需手動準備即可取得用於傳送訊息的使用者 ID。
    • 輸入:
      • start (string?):用於取得下一組使用者 ID 陣列的接續權杖。會在前一次回應的 next 屬性中回傳。
      • limit (number?):單次請求中要擷取的使用者 ID 最大數量。

安裝(使用 npx)

需求:

  • Node.js v22 或更新版本

步驟 1:建立 LINE Official Account

此 MCP 伺服器使用 LINE Official Account。如果您還沒有,請依照此說明建立。

如果您已有 LINE Official Account,請依照此說明為您的 LINE Official Account 啟用 Messaging API。

步驟 2:設定 AI Agent

請為 Claude Desktop 或 Cline 等 AI Agent 新增以下設定。

設定環境變數或引數如下:

  • 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,請依照此說明為您的 LINE Official Account 啟用 Messaging API。

步驟 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 Agent

請為 Claude Desktop 或 Cline 等 AI Agent 新增以下設定。

設定環境變數或引數如下:

  • 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