LINE Official Account

官方

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

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

  • 傳送文字訊息 — 透過 push_text_message 將純文字訊息推送给特定使用者,或使用 broadcast_text_message 向所有追蹤者廣播。
  • 傳送豐富的 Flex 訊息 — 使用 push_flex_message 或 broadcast_flex_message,向個別使用者或廣播傳送高度可自訂的泡泡或輪播訊息。
  • 管理豐富選單 — 透過 create_rich_menu、get_rich_menu_list 及相關工具,建立、列出、設為預設、取消預設或刪除豐富選單,並支援 postback、URI 和相機等動作。
  • 取得使用者和群組資訊 — 使用 get_profile 取得使用者的個人檔案詳細資料(姓名、大頭照、狀態訊息),或透過 get_group_summary 取得包含 ID 和圖示的群組聊天摘要。
  • 監控訊息配額 — 使用 get_message_quota 檢查您的 LINE 官方帳號的每月訊息上限及目前使用量。
  • 取得追蹤者 ID — 使用 get_follower_ids 取得將您的帳號加為好友的使用者 ID 分頁清單,並可選擇使用接續權杖和限制筆數。

文件

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Model Context Protocol (MCP) 伺服器實作,整合 LINE Messaging API,將 AI Agent 連接到 LINE 官方帳號。

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

工具

  1. push_text_message

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

    • 透過 LINE 向使用者推送高度可自訂的 Flex 訊息。
    • 輸入:
      • userId (string?):接收訊息的使用者 ID。預設為 DESTINATION_USER_ID。必須設定 userId 或 DESTINATION_USER_ID 其中一個。
      • message.altText (string):當 Flex 訊息無法顯示時顯示的替代文字。
      • message.contents (any):Flex 訊息的內容。這是一個定義訊息版面配置和元件的 JSON 物件。
      • message.contents.type (enum):容器的類型。'bubble' 用於單一容器,'carousel' 用於多個可滑動的 bubble。
  3. broadcast_text_message

    • 透過 LINE 向所有已追蹤您 LINE 官方帳號的使用者廣播簡單的文字訊息。
    • 輸入:
      • message.text (string):要傳送給使用者的純文字內容。
  4. broadcast_flex_message

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

    • 取得 LINE 使用者的詳細個人資料資訊,包括顯示名稱、個人圖片 URL、狀態訊息和語言。
    • 輸入:
      • userId (string?):要取得其個人資料的使用者 ID。預設為 DESTINATION_USER_ID。
  6. get_message_quota

    • 取得 LINE 官方帳號的訊息配額和使用量。這會顯示每月訊息限制和目前使用量。
    • 輸入:
      • 無
  7. get_rich_menu_list

    • 取得與您 LINE 官方帳號關聯的 Rich Menu 清單。
    • 輸入:
      • 無
  8. delete_rich_menu

    • 從您的 LINE 官方帳號刪除 Rich Menu。
    • 輸入:
      • richMenuId (string):要刪除的 Rich Menu ID。
  9. set_rich_menu_default

    • 將 Rich Menu 設定為預設 Rich Menu。
    • 輸入:
      • richMenuId (string):要設定為預設的 Rich Menu ID。
  10. cancel_rich_menu_default

    • 取消預設 Rich Menu。
    • 輸入:
      • 無
  11. create_rich_menu

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

    • 取得已將 LINE 官方帳號加入好友的使用者 ID 清單。這讓您無需手動準備即可取得使用者 ID 來傳送訊息。
    • 輸入:
      • start (string?):用於取得下一組使用者 ID 的接續權杖。在先前回應的 next 屬性中傳回。
      • limit (number?):單一請求中要取得的使用者 ID 最大數量。
  13. get_group_summary

    • 使用群組 ID 取得群組聊天摘要,包括群組 ID、群組名稱和群組圖示 URL。
    • 輸入:
      • groupId (string):目標群組聊天的群組 ID。

安裝(使用 npx)

需求:

  • Node.js v22 或更新版本

步驟 1:建立 LINE 官方帳號

此 MCP 伺服器使用 LINE 官方帳號。如果您沒有,請依照此說明建立。

如果您已有 LINE 官方帳號,請依照此說明為您的 LINE 官方帳號啟用 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 官方帳號

此 MCP 伺服器使用 LINE 官方帳號。如果您沒有,請依照此說明建立。

如果您已有 LINE 官方帳號,請依照此說明為您的 LINE 官方帳號啟用 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。