在 Agent Lab 架設 LINE OA MCP
把開源的 LINE Agent SDK 從 GitHub 部署成你自己的 Agent Lab 專案,設定 Google 登入,接上 Claude Code,再用一句話接上 LINE 官方帳號。
事前準備#
- 一個 Agent Lab 組織。
- 一個你自己擁有的 LINE 官方帳號,或者先用 Sandbox 試。
- Claude Code,或其他支援 MCP 的 AI 工具。
1. 部署#
LINE Agent SDK 的原始碼在 https://github.com/chatbotgang/line-agent-sdk,最上層有 Dockerfile。最快的方式是在已經接上 Agent Lab MCP 的 Claude Code 說(見用 AI 工具部署):
把 https://github.com/chatbotgang/line-agent-sdk 部署到 Agent Lab,網址標籤用 line-oa-mcp。程式需要資料庫:第一次部署時,平台會自己建立一個並連上。要讓之後每次 push 都自動上線,再把專案連結到這個 repository,見從 GitHub 部署。
2. 設定 Google 登入#
任何人都能用 Google 帳號登入,每個人只看得到自己建立的連線。在 Google Cloud 主控台建立一個 OAuth 用戶端 ID:類型選「網頁應用程式」,「已授權的 JavaScript 來源」填專案網址,例如 https://line-oa-mcp--<組織>.hosting.agentlab.run;OAuth 同意畫面選「外部」並發布,只用到基本的登入範圍,不需要送審。再到專案的 設定 › 環境變數 填入 GOOGLE_CLIENT_ID,其他的由平台處理,見專案設定:
| 名稱 | 誰提供 | 用途 |
|---|---|---|
GOOGLE_CLIENT_ID | 你 | Google OAuth 用戶端 ID,用來登入控制台。不是密鑰。 |
ADMIN_GOOGLE_DOMAIN | 你,可不填 | 營運方的 Google Workspace 網域,例如 example.com。這個網域的帳號看得到所有連線和營運頁;只認 Google 回報的 Workspace 網域,不看 email 字尾。 |
ALLOWED_GOOGLE_DOMAIN | 你,可不填 | 只讓某一個 Google Workspace 網域登入。預設空白,任何人都能登入。 |
SESSION_SECRET | 平台產生 | 簽登入 session、加密保存 Channel Secret 的金鑰來源,沒有人需要知道它的值。 |
DATABASE_URL | 平台建立 | 第一次部署時自動建立並連上的 PostgreSQL。 |
AGENTLAB_GATEWAY_KEY | 你,可不填 | Agent Lab AI Gateway 的金鑰。填了,測試帳號傳訊息時由 AI 回覆;沒填就回固定文字。 |
存檔後在專案頁按 重新啟動服務 套用。
還沒設定登入時
服務會啟動,但除了 LINE 的 webhook 和健康檢查之外都回 503,不會在沒有登入的情況下對外開放。
3. 接上 AI 工具#
用 Google 登入控制台,在 Agent 權杖 頁(/tokens)產生一個權杖,只會顯示一次,放進環境變數,再在專案的 .mcp.json 加上 LINE OA MCP:
export LINE_AGENT_SDK_TOKEN='<你的 Agent 權杖>'{
"mcpServers": {
"line-oa-mcp": {
"type": "http",
"url": "https://line-oa-mcp--<組織>.hosting.agentlab.run/mcp",
"headers": { "Authorization": "Bearer ${LINE_AGENT_SDK_TOKEN}" }
}
}
}其他用戶端見 LINE OA MCP 工具。
4. 送出第一則訊息#
在 Claude Code 說:
把我的 LINE 官方帳號接上,做到我的手機收到第一則訊息。AI 會建立連線,給你一個控制台網址填 Channel ID 和 Channel Secret,接著帶你完成每一步:
- 唯讀健檢 讀帳號資訊、聊天模式、webhook、額度與好友數,不改任何設定。
- 選串接模式 只發不收不碰 webhook;轉發把一般客人的訊息照常交給原系統;直接接手給原本沒有系統在用的帳號。
- 打開 Use webhook 在 LINE Developers 打開,服務每 2 秒自動偵測,不用回來按「好了」。
- 配對 用手機掃 QR 加好友、傳配對碼,Agent 立刻回你第一則訊息。
還沒有官方帳號時,請 AI 用 line_new_account_steps 帶你建立,或先用 line_start_sandbox 試。
不要把密鑰貼進對話
Channel ID 和 Channel Secret 只在控制台的頁面上填。AI 工具不會要,也拿不到。