LINE OA MCP ツール
LINE OA MCP の 10 個のツール、接続方法、典型的な流れ。Claude Code、Codex、Cursor が LINE の接続を作り、各ステップが誰の番かを追い、公開後にメッセージを送ります。認証情報には触れません。
接続先#
LINE OA MCP は自分で動かすプロジェクトの下にあり、Streamable HTTP を使います:
https://line-oa-mcp--<組織>.hosting.agentlab.run/mcp動かし方は Agent Lab で LINE OA MCP を動かすを参照してください。
接続方法#
すべてのリクエストに Authorization: Bearer <Agent トークン> が必要です。Google でコントロールパネルにログインし、Agent トークン ページ(/tokens)で作成して、ファイルや会話ではなく環境変数に入れてください:
export LINE_AGENT_SDK_TOKEN='<あなたの Agent トークン>'Claude Code では、プロジェクトの .mcp.json に次を追加します(${LINE_AGENT_SDK_TOKEN} は起動時に環境変数から展開されます):
{
"mcpServers": {
"line-oa-mcp": {
"type": "http",
"url": "https://line-oa-mcp--<組織>.hosting.agentlab.run/mcp",
"headers": { "Authorization": "Bearer ${LINE_AGENT_SDK_TOKEN}" }
}
}
}Streamable HTTP に対応したほかの MCP クライアントでも、同じ URL に Authorization ヘッダーを付ければ使えます。
ツール#
| ツール | 用途 |
|---|---|
line_connect_account | 既存の LINE 公式アカウントへの接続を作成します。人に渡す setupUrl を返し、人はそのページで Channel ID と Channel Secret を入力します。 |
line_get_connection | 接続の現在の状態を読みます。各ステップが誰の番か、どうなれば完了かがわかります。読むたびに、人が LINE 側で作業を終えたかも確認します。 |
line_list_connections | すべての接続と、それぞれの状態を一覧にします。 |
line_send_message | ペアリング済みのテストユーザーにテキストをプッシュ送信します。接続が公開されてから使えます。プッシュは公式アカウントの月間上限を使います。 |
line_start_sandbox | 公式アカウントがまだないときに、共有サンドボックスの join コードを取得します。 |
line_get_sandbox | サンドボックスの状態を読みます。live が true なら最初のメッセージが届いています。 |
line_configure_bot | AI の答え方を設定します。役割、知っていること、口調、してはいけないこと(最大 4,000 文字)、AI 返信のオン/オフ、返信相手をテストユーザーに戻す設定。次のメッセージから反映されます。 |
line_request_go_live | AI は初期状態ではペアリングしたテストユーザーにだけ返信します。このツールはすべての友だちへの返信の承認を本人に依頼し、本人がサインインして approveUrl で承認するまで何も変わりません。公開済みで mode が direct の接続のみ。 |
line_get_messages | 最近のイベントを新しい順に読みます。テストユーザーが書いた内容と各イベントの処理。ほかの友だちはマスクしたユーザー ID と処理だけを残し、メッセージ本文は残しません。 |
line_new_account_steps | 公式アカウントの作成と Messaging API の有効化の手順。LINE は API でこれらを行わせないため、本人が操作します。 |
どのツールも、まず人に何を伝えるかを 1 文で返し、続けて JSON をすべて返します。JSON の項目は HTTP API の接続オブジェクトと同じです。
典型的な流れ#
- 接続を作る
line_connect_accountを呼び、返ってきたsetupUrlを人に渡します。 - 人の作業を待つ 数秒ごとに
line_get_connectionを呼びます。「Waiting for the person」と返ったら、そのステップの説明とリンクを人に伝えて読み続けます。完了すると自動で次に進むので、「終わりましたか」と聞く必要はありません。 - 運営側の作業 「The service's operator is handling」と返ったら、対応中だと人に伝えます。
- 公開 「Live」と返ったら、最初の LINE メッセージが人のスマートフォンに届いています。以後は
line_send_messageで送ります。
公式アカウントなしでまず試すなら、line_start_sandbox を使い、addFriendUrl と joinText を人に渡して、line_get_sandbox で公開を待ちます。
トークンや認証情報を会話に貼らない
AI ツールに必要なのは接続先の URL と環境変数の Agent トークンだけです。Channel Secret はコントロールパネルのページでだけ入力し、AI ツールが求めることも受け取ることもありません。
エラー#
| 状況 | 応答 | 対応 |
|---|---|---|
| トークンがない、違う、または取り消されている | HTTP 401 | 環境変数と Authorization ヘッダーを確認し、必要なら /tokens で作り直します。 |
| サービスの設定が済んでいない、またはデータを読み込み中 | HTTP 503。理由は error に入ります | 少し待ってから再試行します。環境変数が足りない場合は、サービスを動かしている人が追加します。 |
| 接続が見つからない、まだ公開されていない、入力が正しくない | ツールが isError と理由を返します | 理由に従います。まだ公開されていなければ次のステップを続けます。 |