LINE Official Account MCP Server

官方

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

文件

日文版 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 [email protected]: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 [email protected]: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