最初に読んでくださいできることと、本番のLINEへの影響
つなぐと、どんなことができるか
Claude Codeに、ふだんの言葉で頼むだけで、LINE公式アカウントの作業を進められるようになります。
たとえば次のような頼み方ができます。
- 「先月友だち追加した人のうち、まだタグが付いていない人を一覧にして」
- 「どのQRコードやリンクから、友だち追加が多いか教えて」
- 「初回の来店後7日間に届けるステップ配信の、文章の下書きを作って」
- 「この3人に、初回来店のタグを付けて」
送信や作成など、LINEの中身を変える操作は、STEP 10-3の設定で止めておき、使うときだけ許可する形にします。
この仕組みを使って、ステップ配信や、AIが自動で答えるLINEのチャットボットなども開発できます。
この説明書は、その土台づくりです。
業種ごとの活用例
名前は一例です。お店に合った名前を自由に付けられます。
| 業種 | AIチャットボットの例 | ステップ配信の例 |
|---|---|---|
| 治療院・整体院 | AI院長 院の方針や考え方、施術の流れ、よくある質問に答える。来院後の体調のフォローに返事をする。 | 初回の来院後7日間、セルフケアや通院の目安を順番に届ける。 |
| サロン・エステ | AIコンシェルジュ メニュー、料金、予約の方法、施術後のケアに答える。 | 施術後のホームケアのコツ、次回のご予約のご案内。 |
| 美容室 | AIスタイリスト カラーやパーマの持ち、スタイリングの方法に答える。 | 来店3週間後にお手入れのコツ、2か月後に来店のご案内。 |
| トレーナー・ジム | AIコーチ 食事や運動の質問、続けるコツに答える。 | 入会後の1週間、準備や記録のつけ方を届ける。 |
| 喫茶店・小さなお店 | AI店長 営業時間、メニュー、季節の限定品、駐車場について答える。 | 友だち追加のお礼クーポン、季節のメニューのお知らせ。 |
| 教室・小さな事業 | AI受付 日程、持ち物、料金、申し込みの方法に答える。 | 申し込み後の準備の案内、前日のリマインド。 |
テスト用のLINEで先に試すのがおすすめな理由
いまお客さん(治療院なら患者さん)とやり取りしているLINE公式アカウントに、いきなりつなぐと、お客さんへの返信やあいさつが変わったり、止まったりすることがあります。
お客さんがいないテスト用のLINEで一度動かしておくと、手順と動きが分かり、本番を安心して進められます。
この説明書は、そのまま本番のLINEに入れても進められる書き方にしています。本番で気をつける所には、本番のLINEで行うときの囲みを付けています。
本番のLINEにつないだときに起こりうること
| 起こりうること | 大きさ | 理由と、防ぎ方 |
|---|---|---|
| あいさつ・自動返信が出なくなる、または二重に出る | 大 | L Harnessで返信を制御するため、LINE側の自動返信をオフにします。 オフにする前に、L Harness側で同じ内容を用意します(STEP 7)。 |
| いま使っている別のツールが止まる | 大 | Webhook(受け取り先)は1か所しか登録できません。 ほかのLINEツールがつながっている場合、切り替えた時点で止まります(STEP 6)。 |
| 予約・問診・会員管理などの別システムからの送信が止まる | 大 | チャネルアクセストークン(長期)を発行し直すと、古い鍵が使えなくなることがあります(STEP 5)。 |
| 知らない人がログインできる | 中 | LINEログインのチャネルを公開すると、URLを知っている人なら使えます。 URLを広めないようにします(STEP 8)。 |
| 配信の通数を使いすぎる | 小 | こちらから送るメッセージは、LINEの料金プランの通数に数えられます。 一斉配信は、毎回内容と相手を確認してから行います。 |
お客さんへの影響が出にくい時間(定休日・休診日や、営業時間外)に行ってください。
お店や院の責任者の承認を取ってから進めてください。
用意するもの
- パソコン(MacまたはWindows)とGoogle Chromeページ上部のボタンで、お使いのパソコンに表示を切り替えられます。
- Claude Codeインストールの方法はSTEP 4にあります。
- LINE公式アカウントと、その管理者のLINE(スマホ)本番で使うアカウント。テストで試す場合は、新しく作るアカウント。
- クレジットカードCloudflareの保存機能(R2)を有効にするときに登録します。無料の範囲なら請求はありません。
- パソコンの空き容量 約1GBプログラムの部品を置きます。本体はCloudflare上で動きます。
迷ったら、Claudeに手伝ってもらう初めての方でも、ひとりで抱えなくて大丈夫です
迷った画面のスクリーンショットを撮り、Claude Codeに貼り付けて聞きます。
スクリーンショットは⌘+shift+4Windows+shift+Sで撮れます。
Claude in Chromeは、Chromeに追加して使う、Claudeの拡張機能です。
Chromeの画面を見ながら、クリックや入力を手伝ってくれます。
アカウントの作成、ログイン、パスワードの入力、APIキーやトークンの取得と入力は、最初は本人の操作が必要です。
AIに代わりに入力してもらうことはできないため、その場面ではご自身で操作してください。
スクリーンショットを送る前に、鍵が写っていないか確かめてください。
チャネルシークレット、アクセストークン、APIキーが写っている画面は、AIにも人にも送らないようにします。
エラーの直し方は、よくあるエラーと直し方にもまとめています。
用語集分からない言葉が出たら、ここに戻ってきてください
- L Harnessエル ハーネス
- LINE公式アカウントを自動化する無料のプログラム。ステップ配信、友だち管理などができます。開発者は野田修一さん。以前は LINE Harness という名前でした。
- Cloudflareクラウドフレア
- プログラムを24時間動かしておける場所を貸してくれる会社。L Harnessはここで動きます。
- Workerワーカー
- Cloudflareの上で動くプログラムのこと。L Harnessの本体です。
- D1・R2ディーワン・アールツー
- CloudflareのデータベースがD1、画像などの保存場所がR2です。
- Messaging APIメッセージング エーピーアイ
- LINE公式アカウントを、外のプログラムから動かすための仕組み。
- プロバイダー
- LINE Developersの中で、チャネルをまとめるフォルダのようなもの。あとから別のプロバイダーへは移せません。
- チャネル
- LINEの機能ごとの設定の入れ物。Messaging API用とLINEログイン用の2つを使います。
- LINEログイン・LIFFリフ
- LINEのアカウントで本人確認する仕組みと、LINEの中で開くWebページの仕組み。友だちを正しく記録するために使います。
- Webhookウェブフック
- LINEにメッセージが届いたとき、知らせを送る先のURL。1つのLINEに1か所だけ登録できます。
- チャネルシークレット・アクセストークン
- LINEを操作するための合鍵。人に見せたり、チャットに貼ったりしてはいけません。
- APIキー
- L Harnessの管理画面や、Claude Codeから操作するための合鍵。これも人に見せません。
- MCPエムシーピー
- Claude Codeと外のツールをつなぐ部品。これを登録すると、L Harnessを言葉で操作できます。
- チャットボット
- LINEに届いた質問に、AIが自動で返事をするしくみ。名前は自由です(例 治療院ならAI院長、サロンならAIコンシェルジュ、カフェならAI店長)。
- ステップ配信
- 友だち追加などをきっかけに、決めた順番と日数で、メッセージを自動で届けるしくみ。
- ターミナル
- PowerShellパワーシェル
- Macに入っている、文字で命令を打ち込むアプリ。⌘+spaceで「ターミナル」と入力して開きます。
- Windowsに入っている、文字で命令を打ち込むアプリ。Windowsキーを押して「PowerShell」と入力して開きます。
- コマンド
- 文字で打ち込む命令文。この説明書では、コピーして貼り付けるだけで使えます。
- クリップボード
- コピーした内容が、一時的に置かれる場所。次に何かをコピーすると、前の内容は消えます。
- デプロイ
- プログラムをインターネット上(今回はCloudflare)に置いて、使える状態にすること。
しくみと、作業の順番どこで何をしているのかを先に知っておきます
L Harnessの本体はCloudflare上で24時間動きます。
パソコンは、設定と更新のときだけ使います。
作業の順番
- 1Cloudflareの登録とログイン5〜10分保存機能(R2)を有効にする
- 2LINE公式アカウントの準備3〜5分Messaging APIを有効にする
- 3LINEログインとLIFF5分Messaging APIと同じプロバイダーに作る
- 4パソコンの準備3〜5分必要なソフトの確認と、プログラムの取得
- 5設定ツールでL Harnessを入れる5〜10分質問に答えると、設置まで自動
- 6LINEにURLを設定する5分Webhook、Callback URL、LIFF
- 7LINE側の自動返信を止める3分あいさつメッセージなど
- 8友だち追加で動作確認3分LINEログインのチャネルを公開する
- 9管理画面にログイン2分APIキーで入る
- 10Claude Codeとつなぐ5分MCPの登録と、安全のための設定
- 11接続確認と使い方3分Claude Codeから読み取れたら完成
あなたの値を入れると、コマンドが自動で書き換わります
STEP 4からSTEP 11のコマンドは、ここに入れた値に合わせて書き換わります。
WorkerのURLは、STEP 5の最後に分かります。分かったら、ここに戻って入れてください。
半角の英数字とハイフンだけ、スペースなしにしてください。そのままでも大丈夫です。
iCloudやOneDriveで同期されるフォルダ(書類・ドキュメントなど)は、部品が多く同期が重くなるので避けています。
最後に / を付けずに入れてください。この入力は、あなたのブラウザの中だけで使われ、どこにも送られません。
Cloudflareの登録とログインL Harnessを置く場所をつくります
1-1 アカウントを作る
- Chromeで Cloudflareの登録ページ を開きます。
- メールアドレスとパスワードを入れて登録します。パスワードは、Chromeのパスワードマネージャーに保存しておくと安心です。
- 届いた確認メールのリンクを押して、メールアドレスを確認します。
- ダッシュボード(管理画面のトップ)が開けば、登録は完了です。
1-2 次からのログイン
Cloudflareのログインページ で、登録したメールアドレスとパスワードを入れます。
Googleアカウントで登録した場合は、同じGoogleアカウントでログインします。
1-3 2段階認証をオンにする(おすすめ)
お客さんの情報を置く場所になるので、パスワードのほかに、スマホでも確認する設定にしておきます。
右上の人のマーク、プロフィール、認証(Authentication)の順に開いて設定します。
1-4 保存機能(R2)を有効にする
- 左のメニューの「ストレージとデータベース」を開き、「R2 オブジェクト ストレージ」を押します。
- 有効にするボタンを押し、クレジットカードかPayPalを登録します。
- R2の画面が開けば完了です。保存場所(バケット)は、設定ツールが自動で作るので、自分で作らなくて大丈夫です。

この画像は設定が終わったあとのものなので、保存場所が1つできています。
R2には、保存容量10GBなど、毎月の無料枠があります(画面にも表示されます)。
カードを登録しただけでは請求されません。
心配なときは、右側の「予算アラートを追加」で、低い金額の通知を設定しておくと安心です。
LINE公式アカウントの準備Messaging APIを有効にします
- パソコンで LINE公式アカウントの管理画面 を開き、使うアカウントを選びます。
- 右上の「設定」、左の「Messaging API」を開きます。
- まだ有効でなければ「Messaging APIを利用する」を押し、プロバイダーを選びます(初めてなら新しく作ります)。
すでに有効なら、表示されているプロバイダー名を控えておきます。
- LINE公式アカウントの作成ページ で「未認証アカウント」を作ります。名前は「〇〇 テスト」など、テスト用と分かるものにします。
- 上の手順でMessaging APIを有効にします。プロバイダーは、本番と分けるため新しく作るのがおすすめです。
- このあとの手順は、すべてテスト用のアカウントで行います。本番へ移るときはテストから本番へ切り替えるを読みます。
LINE Developers でこのアカウントのMessaging APIのチャネルを開き、「Messaging API設定」タブのWebhook URLを見ます。
何か入っている場合は、ほかのツールがつながっています。L Harnessにつなぐと、そのツールは止まります。元のURLは、戻すときのために控えておきます。
LINEログインとLIFF友だちを正しく記録するための準備です
LINEログインのチャネルは、STEP 2のMessaging APIと同じプロバイダーの中に作ります。
別のプロバイダーに作ると、正しく動きません。
3-1 LINEログインのチャネルを作る
- LINE Developers を開き、STEP 2のプロバイダーを選びます。
- 「新しいチャネルを作成する」、「LINEログイン」の順に選びます。
- チャネル名は「L Harness」など、ほかと区別できる名前にします。アプリタイプは「ウェブアプリ」にチェックします。
- 規約に同意して作成します。
3-2 ウェブアプリでのログインをオンにする
作ったチャネルの「LINEログイン設定」タブで、「ウェブアプリでLINEログインを利用する」をオンにします。
Callback URLは、今は空欄のままで大丈夫です(STEP 6で入れます)。

この画像はSTEP 6まで終わったあとなので、Callback URLが入っています。
3-3 リンクする公式アカウントを選ぶ
「チャネル基本設定」タブのいちばん下にある「リンク先のLINE公式アカウント」で「編集」を押し、STEP 2のアカウントを選んで「アップデート」を押します。

3-4 LIFFアプリを追加する
「LIFF」タブで「追加」を押し、次のとおりに入れて、いちばん下の「追加」を押します。
- LIFFアプリ名「Lハーネス」など。「LINE」という言葉は使えません(使うとエラーになります)。
- サイズFull
- エンドポイントURL今は仮で
https://example.comと入れます。STEP 6で本物に変えます。 - スコープopenid と profile にチェック
- 友だち追加オプションOn (Aggressive)


Chromeの自動翻訳がオンだと、Fullが「満杯」、Aggressiveが「攻撃的な」のように表示されることがあります。
3-5 次のSTEPで使う値の場所
次の値をSTEP 5でコピーして使います。
LINE Developersの画面を開いたままにしておくと楽です。値はメモ帳やチャットに貼らないでください。
| 値 | ある場所 |
|---|---|
| Messaging APIのチャネルID | Messaging APIのチャネル、「チャネル基本設定」タブ |
| Messaging APIのチャネルシークレット | 同じタブの下のほう |
| チャネルアクセストークン(長期) | 同じチャネルの「Messaging API設定」タブのいちばん下(STEP 5-1) |
| LINEログインのチャネルID | LINEログインのチャネル、「チャネル基本設定」タブ |
| LIFF ID | LINEログインのチャネル、「LIFF」タブの一覧 |
名前の似たチャネルが複数あるときは、取り違えに注意してください。
チャネルIDは、そのチャネルを開いたときのアドレスの末尾の数字と同じです。
パソコンの準備ターミナルPowerShellを使います
4-1 ターミナルPowerShellを開く
⌘+space を押して「ターミナル」と入力し、returnで開きます。
このあとのコマンドは、コピーボタンで写し、ターミナルに貼り付けて(⌘+V)、returnで実行します。
Windowsキーを押して「PowerShell」と入力し、Enterで開きます(管理者として実行する必要はありません)。
このあとのコマンドは、コピーボタンで写し、PowerShellに貼り付けて(Ctrl+V、または右クリック)、Enterで実行します。
複数行のコマンドも、そのまま全部貼り付けられます。
4-2 必要なソフトが入っているか確かめる
node -v; git --version; claude --version
node -v; git --version; claude --version
3つとも番号が出ればOKです。出ないものは、次の方法で入れます。
| ソフト | 入れ方(Mac) |
|---|---|
| Node.js | v22 以上が必要です。Node.jsの公式サイト からLTS版をダウンロードして入れます。 |
| Git | 確認のコマンドを実行すると、Macが「インストールしますか」と聞いてくるので、インストールします。 |
| Claude Code | 下のコマンドで入れます(公式の手順)。デスクトップアプリを使う場合も、ターミナルで使えるようにこちらを入れておきます。 |
curl -fsSL https://claude.ai/install.sh | bash
| ソフト | 入れ方(Windows) |
|---|---|
| Node.js | v22 以上が必要です。Node.jsの公式サイト からLTS版のインストーラーを入れます。 |
| Git | Git for Windows を入れます。Claude Codeも、これがあると使える機能が増えます。 |
| Claude Code | 下のコマンドで入れます(公式の手順)。 |
winget install -e --id OpenJS.NodeJS.LTS winget install -e --id Git.Git
irm https://claude.ai/install.ps1 | iex
入れたあとは、PowerShellを一度閉じて開き直してから、4-2の確認をもう一度行います。
4-3 L Harnessのプログラムを取得する
公式のプログラムを、パソコンのフォルダに取得します。
最新版の番号は 公式のリリースページ で確認できます(この説明書は v0.26.1 で確認しています)。
git clone --depth 1 --branch v0.26.1 https://github.com/Shudesu/line-harness-oss.git ~/line-harnessgit clone --depth 1 --branch v0.26.1 https://github.com/Shudesu/line-harness-oss.git $HOME\line-harness容量は、取得とSTEP 5のあとで約1GBになります(ほとんどが部品)。
あとで更新や設定変更に使うので、消さずに残してください。
設定ツールでL Harnessを入れる質問に答えると、Cloudflareへの設置まで自動で進みます
5-1 チャネルアクセストークン(長期)を用意する
LINE Developersで、Messaging APIのチャネルを開き、「Messaging API設定」タブのいちばん下を見ます。
まだ発行していなければ、チャネルアクセストークン(長期)の「発行」を押します。

予約・問診・会員管理などの別のシステムが、このトークンでLINEに送っていることがあります。
発行し直すと古いトークンが使えなくなり、そのシステムの送信が止まるおそれがあります。
すでに表示されているトークンを使うか、システムの管理者に確認してから進めてください。
トークンが表示された画面は、スクリーンショットに撮らないでください。
5-2 設定ツールを動かす
cd ~/line-harness && npx --yes create-line-harness@latestcd $HOME\line-harness
npx.cmd --yes create-line-harness@latestWindowsでは npx の代わりに npx.cmd と書いています。PowerShellの設定によって、npxがエラーで止まるのを避けるためです。
5-3 Cloudflareへのログインを許可する
ブラウザが開き、「Wranglerがあなたのアカウントにアクセスしようとしています」と出ます。
Wrangler(ラングラー)は、Cloudflareが公式に出している道具です。
アドレスが dash.cloudflare.com で、右側が自分のアカウントであることを確かめて、「承認する」を押します。

許可は、あとからCloudflareのプロフィールのアクセス管理で取り消せます。
5-4 質問に答える

R2はSTEP 1で有効にしてあるので、そのままreturnEnterを押します。
画面はMacの例です。Windowsでも同じ文字が表示されます。
質問は、次の順番で出てきます。
シークレットやトークンを貼る欄は、貼り付けても画面に何も表示されません。それで正常です。
| 質問 | 入れるもの |
|---|---|
| R2の有効化が完了したらEnter | そのままreturnEnter |
| プロジェクト名 | 半角英数字(例 myshop-lh)。WorkerのURLの一部になります |
| Channel ID(数字) | Messaging APIのチャネルID |
| チャネルシークレット | Messaging APIのチャネルシークレット(表示されない欄) |
| チャネルアクセストークン(長期) | 5-1のトークン(表示されない欄) |
| チャネル ID(数字) | LINEログインのチャネルID(Messaging APIとは別の番号) |
| LIFF ID | LIFFタブのID(チャネルID-英数字 の形) |
| MCP設定を .mcp.json に追加しますか | No(矢印キー→で選んで決定)。STEP 10で、鍵をファイルに残さない方法でつなぎます |
質問の順番や言葉は、ツールの版によって少し変わることがあります。画面の案内を優先してください。


ここは No を選びます。
5-5 完了画面で、URLとAPIキーを確認する

- WorkerのURLは、
https://〇〇〇.〇〇〇.workers.devの形です(Callback URLの/auth/callbackより前の部分)。入力欄に入れておくと、このあとのコマンドが書き換わります。 - APIキーは、この画面でしか表示されません。すぐにChromeのパスワードマネージャーなど、安全な場所に保存します。
管理画面へのログイン(STEP 9)と、Claude Codeとの連携(STEP 10)で使います。
完了画面は、スクリーンショットに撮ったり、人に送ったりしないでください。
APIキーが写っています。
人に伝えるのは、URLだけを文字で。
保存し忘れたときや、人に見られたときは、STEP 10の方法Bで作り直せます。
LINEにURLを設定するLINEとL Harnessをつなぎます
完了画面に出たURLを、LINE Developersの3か所に入れます。(Worker名) の部分は、あなたのWorkerのURLに置き換えてください。
| 入れる場所 | 入れる値 |
|---|---|
| Messaging APIのチャネル、「Messaging API設定」タブのWebhook URL | https://(Worker名).workers.dev/webhook |
| LINEログインのチャネル、「LINEログイン設定」タブのCallback URL | https://(Worker名).workers.dev/auth/callback |
| LINEログインのチャネル、「LIFF」タブのアプリのエンドポイントURL | https://(Worker名).workers.dev?liffId=(LIFF ID) |
6-1 Webhookを設定して、検証する
Webhook URLを書き換えた時点で、前につながっていたツールには知らせが届かなくなります。
STEP 2で控えた元のURLがあれば、戻すときに使います。
- Webhook URLの「編集」を押してURLを入れ、「更新」を押します。
- 「検証」を押し、「成功」と出ればつながっています。
- 「Webhookの利用」をオンにします。


6-2 Callback URLとLIFFのURLを入れる
LINEログインのチャネルで、Callback URLの「編集」から入れて「更新」します。
「LIFF」タブでアプリを開き、エンドポイントURLの「編集」から、仮の https://example.com を本物のURLに書き換えて「更新」します。
Callback URLが空のままだと、パソコンからQRコードで友だち追加した人が、エラーで止まってしまいます。
LINE側の自動返信を止める返信をL Harnessにまかせます
あいさつメッセージを止めると、新しく友だち追加したお客さんに、何も届かなくなります。
止める前に、L Harnessの管理画面(STEP 9)の「友だち追加時設定」で、同じ内容のメッセージを用意してください。
LINE公式アカウントの管理画面 でアカウントを開き、右上の「設定」、左の「応答設定」を開きます。
- あいさつメッセージ オフにします。
- Webhook オンになっていることを確認します。
- 応答方法 「手動チャット」にします(自動の応答メッセージが動かない状態)。

スイッチを押すと、左下に「保存しました」と出ます。
友だち追加で動作確認スマホのLINEで試します
8-1 LINEログインのチャネルを公開する
LINEログインのチャネルは、作った直後は「開発中」です。
開発中のままだと、開発者として登録されていないLINEアカウントでは使えず、エラーになります(お客さんも使えません)。
チャネル名の横にある「開発中(Developing)」を押し、確認画面で「公開」を押します。


8-2 スマホで友だち追加して、メッセージを送る
- 次のURLを、スマホのLINEで開きます(自分宛てのLINEのトークや、メモに貼って押すと開きやすいです)。
https://(Worker名).workers.dev/auth/line?ref=setup - LINEログインの確認画面で「許可」を押します。
- アカウントのトークで、「こんにちは」などを送ります。
まだ返信の仕組みを作っていないので、返事は来ません。それで正常です。
友だち追加をやり直す必要はありません。
メッセージを送ると、L Harnessが自動で友だちとして記録します。
これから友だち追加してもらうときも、QRコードを直接読んでもらうより、このURL(友だち追加URL)を通してもらうと、流入経路などが正しく記録されます。
管理画面にログイン友だちが記録されたかを確かめます
- 完了画面に出た「管理画面」のURLを開きます。
- 緑のログイン画面に、STEP 5-5で保存したAPIキーを入れて「ログイン」を押します。
- 左の「友だち管理」に、あなたが表示されていれば、ここまでの設定は成功です。


デプロイの途中に出た Deployment alias URL、つまり先頭に head. が付いたURLを開きます。
例 https://head.(プロジェクト名)-admin-〇〇〇.pages.dev

head. を付けます。ダッシュボードの友だち数(LINEの集計)は、前日時点の数字です。
L Harnessを入れる前から友だちの人は、メッセージを送るまでL Harnessには記録されないため、数がずれることがあります。
Claude CodeとつなぐMCPの登録と、安全のための設定
APIキーを使って、Claude CodeにL Harnessをつなぐ部品(MCP)を登録します。
どちらか1つの方法で行います。入力欄にWorkerのURLを入れてから、コピーしてください。
10-1 方法A 保存したAPIキーで登録する(ふつうはこちら)
コマンドを実行すると「APIキーを貼り付けてEnter」と出て止まります。
パスワードマネージャーからAPIキーをコピーし、貼り付けてreturnEnterを押します。
貼り付けても画面には何も表示されません。それで正常です。
cd ~/line-harness && read -s "LHKEY?APIキーを貼り付けてEnter: " && echo && { claude mcp remove --scope local line-harness >/dev/null 2>&1; true; } && claude mcp add --scope local line-harness -e LINE_HARNESS_API_URL=https://(あなたのWorker名).workers.dev -e LINE_HARNESS_API_KEY="$LHKEY" -- npx -y @line-harness/mcp-server@latest && unset LHKEY && echo "登録しました" || echo "失敗しました。上に出た文章を確認してください"
& {
cd $HOME\line-harness
$s = Read-Host "APIキーを貼り付けてEnter" -AsSecureString
$k = [Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($s))
claude mcp remove --scope local line-harness 2>$null
claude mcp add --scope local line-harness -e LINE_HARNESS_API_URL=https://(あなたのWorker名).workers.dev -e "LINE_HARNESS_API_KEY=$k" -- cmd /c npx -y @line-harness/mcp-server@latest
if ($LASTEXITCODE -eq 0) { Write-Host "登録しました" } else { Write-Host "失敗しました。上に出た文章を確認してください" }
}10-2 方法B APIキーを作り直して登録する(キーをなくした、見られたとき)
新しいAPIキーを作り、Cloudflareのキーを差し替え、Claude Codeに登録するところまでを1回で行います。
新しいキーは画面に表示せず、最後にクリップボードへコピーします。
古いキーは使えなくなります。
cd ~/line-harness && NEWKEY=$(openssl rand -hex 32) && printf '%s' "$NEWKEY" | npx wrangler secret put API_KEY --config apps/worker/wrangler.toml && { claude mcp remove --scope local line-harness >/dev/null 2>&1; true; } && claude mcp add --scope local line-harness -e LINE_HARNESS_API_URL=https://(あなたのWorker名).workers.dev -e LINE_HARNESS_API_KEY="$NEWKEY" -- npx -y @line-harness/mcp-server@latest && printf '%s' "$NEWKEY" | pbcopy && unset NEWKEY && echo "完了。新しいAPIキーをクリップボードにコピーしました" || echo "失敗しました。上に出た文章を確認してください"
& {
cd $HOME\line-harness
$b = New-Object byte[] 32
[Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($b)
$NEWKEY = -join ($b | ForEach-Object { $_.ToString("x2") })
$NEWKEY | npx.cmd wrangler secret put API_KEY --config apps/worker/wrangler.toml
if ($LASTEXITCODE -ne 0) { Write-Host "失敗しました。上に出た文章を確認してください"; return }
claude mcp remove --scope local line-harness 2>$null
claude mcp add --scope local line-harness -e LINE_HARNESS_API_URL=https://(あなたのWorker名).workers.dev -e "LINE_HARNESS_API_KEY=$NEWKEY" -- cmd /c npx -y @line-harness/mcp-server@latest
if ($LASTEXITCODE -ne 0) { Write-Host "失敗しました。上に出た文章を確認してください"; return }
Set-Clipboard -Value $NEWKEY
Write-Host "完了。新しいAPIキーをクリップボードにコピーしました"
}「完了」と出たら、ほかの文字をコピーする前に、管理画面のログイン欄に貼り付けてログインし、パスワードマネージャーに保存(更新)します。
ブラウザが古いキーを自動で入れている場合は、欄を空にしてから貼り付けます。
10-3 送信などの操作を止める設定を置く
L HarnessのMCPには、読み取り専用のモードがありません。
そこで、Claude Codeの許可設定で、メッセージ送信や一斉配信などを禁止し、管理系の操作は毎回確認にします。
ステップ配信を作るときなどは、必要なものだけ、あとで禁止を外します。
mkdir -p ~/line-harness/.claude && cat > ~/line-harness/.claude/settings.local.json <<'EOF' { "permissions": { "deny": [ "mcp__line-harness__send_message", "mcp__line-harness__broadcast", "mcp__line-harness__create_scenario", "mcp__line-harness__enroll_in_scenario", "mcp__line-harness__create_form", "mcp__line-harness__create_rich_menu", "mcp__line-harness__create_tracked_link", "mcp__line-harness__upload_image" ], "ask": [ "mcp__line-harness__manage_friends", "mcp__line-harness__manage_tags", "mcp__line-harness__manage_scenarios", "mcp__line-harness__manage_broadcasts", "mcp__line-harness__manage_rich_menus", "mcp__line-harness__manage_forms", "mcp__line-harness__manage_tracked_links", "mcp__line-harness__manage_staff", "mcp__line-harness__manage_ad_platforms" ] } } EOF echo "許可設定を作りました"
$d = "$HOME\line-harness\.claude"
New-Item -ItemType Directory -Force -Path $d | Out-Null
[IO.File]::WriteAllText("$d\settings.local.json", @'
{
"permissions": {
"deny": [
"mcp__line-harness__send_message",
"mcp__line-harness__broadcast",
"mcp__line-harness__create_scenario",
"mcp__line-harness__enroll_in_scenario",
"mcp__line-harness__create_form",
"mcp__line-harness__create_rich_menu",
"mcp__line-harness__create_tracked_link",
"mcp__line-harness__upload_image"
],
"ask": [
"mcp__line-harness__manage_friends",
"mcp__line-harness__manage_tags",
"mcp__line-harness__manage_scenarios",
"mcp__line-harness__manage_broadcasts",
"mcp__line-harness__manage_rich_menus",
"mcp__line-harness__manage_forms",
"mcp__line-harness__manage_tracked_links",
"mcp__line-harness__manage_staff",
"mcp__line-harness__manage_ad_platforms"
]
}
}
'@)
Write-Host "許可設定を作りました"この説明書の登録方法(--scope local)では、L Harnessのフォルダで作業するときだけ、Claude CodeからL Harnessを使えます。
ほかの作業中に、うっかりLINEへ送ってしまうことを防ぐためです。
接続確認と使い方Claude Codeから読み取れたら、完成です
MCPは、新しく始めたClaude Codeのセッションで読み込まれます。
L Harnessのフォルダで、Claude Codeを始めます。
- ターミナルPowerShellで使う場合 下のコマンドを実行します。
- デスクトップアプリで使う場合 新しいセッションを作り、作業フォルダにL Harnessのフォルダを選びます。
cd ~/line-harness && claudecd $HOME\line-harness
claudeClaude Codeが開いたら、次の文を貼り付けて送ります。
このフォルダに登録したMCPのline-harnessを使って、接続を確認してください。 ・使ってよいのは、読み取りだけのツールです(account_summary、list_friends など)。 ・メッセージ送信、一斉配信、シナリオ作成など、LINEの中身を変えるツールは使わないでください。 ・APIキーやトークンなどの秘密の値は、画面にもファイルにも書かないでください。 ・ファイルは変更しないでください。 確認できたら、使えたツール、友だちの人数、管理画面の人数と合っているかを、日本語で短く教えてください。
- Claude Codeが、友だちの人数と、あなたの表示名を答える。
- 管理画面の「友だち管理」の人数と合っている。
途中で「このツールを使ってよいですか」と聞かれたら、内容を読んでから許可してください。
つながったら、こんな頼み方ができます
読み取りで答えられる頼み方の例です。そのまま貼り付けて使えます。
line-harnessで、この1か月に友だち追加した人を、追加された経路(QRコードやリンク)ごとに人数で表にしてください。読み取りだけで行ってください。
line-harnessで、タグが1つも付いていない友だちを一覧にして、どんなタグを付けると整理しやすいか、案を3つ出してください。タグを付ける操作はまだしないでください。
初回のご来店(来院)後7日間に届けるステップ配信の文章を、1日目、3日目、7日目の3通で下書きしてください。お店は〇〇(業種)です。まだL Harnessには登録しないでください。
友だちにタグを付ける、ステップ配信を登録するなど、LINEの中身を変える頼み方は、10-3の設定で確認や禁止になっています。
使うときは、内容を確かめてから許可してください。
ここまでできたら、準備は完成です
LINE公式アカウントでL Harnessが動き、Claude Codeから操作できる状態になりました。
次は、ステップ配信や、AIチャットボット(治療院ならAI院長など)づくりに進めます。
テスト用アカウントで設定した場合、本番のLINEへ切り替えるときは、下の手順を読んでから進めてください。
テスト用から、本番の公式LINEへテスト用アカウントで設定した方向けです
テストでの確認が終わったら、本番のLINE公式アカウントで、STEP 2からSTEP 11までを、同じように行います。
そのとき、次の点に気をつけます。
- 変える前に、いまの状態を記録する本番のプロバイダー名、Messaging APIのチャネル名とチャネルID、いまのWebhook URL、あいさつメッセージなど応答設定の内容。戻すときに使います。
- LINEログインとLIFFは、本番と同じプロバイダーに新しく作るプロバイダーが違うと、同じお客さんでもLINEのIDが別になります。テストで集めた友だちの情報は、本番には引き継がれません。
- L Harnessは、同じものに追加するか、本番用にもう1つ入れるL Harnessは、1つの管理画面で複数のLINE公式アカウントを扱えます。テストと本番のデータを完全に分けたいときは、別のフォルダとプロジェクト名でSTEP 4〜5をもう一度行います。
- チャネルアクセストークンを発行し直さないほかのシステムが使っていれば、そのシステムの送信が止まります(STEP 5-1)。
- あいさつを先に用意してから、LINE側の自動返信を止めるSTEP 7の注意のとおりです。
- 切り替えたあとに確かめるスタッフのスマホで友だち追加してあいさつが届くか、メッセージが管理画面に届くか、予約・問診などほかのシステムがこれまでどおり動くか。
うまくいかないときの戻し方
記録しておいた内容に戻します。
Webhook URLを元のURLに戻し、応答設定を元に戻せば、L Harnessを入れる前の動きに戻ります。
よくあるエラーと直し方迷ったらClaudeに手伝ってもらう方法も使ってください
| こんなとき | 原因と、直し方 |
|---|---|
| LIFFアプリを追加すると「This name contains a reserved term」と出る | アプリ名に「LINE」が入っています。LINEを含まない名前にします(STEP 3-4)。 |
| スマホで「400 Bad Request」「developing status」と出る | LINEログインのチャネルが開発中です。STEP 8-1の手順で公開します。 |
| LINE Developersのボタンの名前が、説明書と違う | Chromeの自動翻訳で、言葉が変わっていることがあります(発行が「問題」、Fullが「満杯」など)。翻訳を切ると、英語の元の表示になります。 |
| Webhookの検証で失敗する | URLの最後が /webhook になっているか、WorkerのURLに打ち間違いがないかを確かめます。 |
| 管理画面を開くと「まだ何もここにはない」 | URLの先頭に head. を付けて開きます(STEP 9)。 |
| 管理画面で「APIキーが正しくありません」 | ブラウザが、前に保存した古いキーを自動で入れていることがあります。欄を空にしてから貼り付けます。 キーが分からないときは、STEP 10の方法Bで作り直します。 |
| キーを貼り付けても、何も表示されない | 鍵の欄は、見えないように表示しない作りです。貼り付けたら、そのまま決定キーを押します。 |
| コマンドの途中で止まってしまった | Ctrl+C で中止できます(MacもWindowsも同じ)。もう一度、最初からコマンドを実行します。 |
| 「'&&' は有効なステートメント区切りではありません」と出る | Mac用のコマンドを貼っています。ページ上部で Windows を選び、Windows用のコマンドをコピーします。 |
| 「スクリプトの実行が無効になっているため、npx.ps1 を読み込むことができません」と出る | PowerShellの安全設定です。この説明書のように npx.cmd と書けば動きます。または Set-ExecutionPolicy -Scope CurrentUser RemoteSigned を実行してから、もう一度試します。 |
| Claude CodeからL Harnessにつながらない | 登録のコマンドが -- cmd /c npx ... の形になっているか確かめ、STEP 10をもう一度実行します。 |
Windows向けの手順は、公式の資料をもとに作っています。実際の画面の文言は、お使いの環境で少し違うことがあります。
よくある質問Cloudflareのこと、ほかのサービスとの違いなど
ほかのサービス(Supabase、Firebase、AWSなど)ではだめですか
L Harnessを使うなら、Cloudflareが前提です。
L Harnessは、CloudflareのWorker(プログラムを動かす場所)、D1(データベース)、R2(画像の保存場所)、Pages(管理画面)を組み合わせて動くように作られていて、設定ツールもCloudflareへの設置を自動で行います。
Supabase、Firebase、AWS、自社のサーバーなどに置き換えるには、プログラムを大きく書き換える必要があり、公式には対応していません。
書き換えると、今後のL Harnessの更新も受けられなくなります。
ただし、ほかのサービスが使えなくなるわけではありません。
すでに予約・顧客管理などで使っているサービスは、そのまま使い続けられます。
必要になったら、L Harnessとプログラムでつないで、一緒に使う形にできます。
Cloudflareにしている理由は何ですか
自分のCloudflareに入れる方法と、クラウド版の違いは
開発元が用意した場所を借りる、無料のクラウド版(L Harness Cloud)もあります。
すぐ始められる反面、お客さんの情報が開発元の環境に置かれ、自作の機能(AIチャットボットなど)を足せる範囲が限られます。
この説明書は、自分のCloudflareに入れる方法です。
テスト用のアカウントは、必ず作る必要がありますか
必須ではありません。
この説明書は、本番のLINEにそのまま入れても進められる書き方にしています。
ただ、本番のLINEは、お客さんへの返信やあいさつに影響が出るため、慣れていない方は、テスト用で一度試すと安心です(+約15分)。
パソコンの容量は、どのくらい使いますか
約1GBです(ほとんどがプログラムの部品)。
L Harnessの本体はCloudflare上で動くので、パソコンの中にデータが増え続けることはありません。
お金がかかるのは、どこですか
L Harness自体は無料です。
LINE公式アカウントは、こちらから送るメッセージの通数に応じて、LINEの料金プランがかかります(管理画面のダッシュボードに、残りの通数が出ます)。
Claude Codeは、ご自身のプランの範囲で使います。
AIチャットボットを作る場合は、AIの利用料が別にかかることがあります。
参考にした公式の情報
- L Harness 公式リポジトリ(初期セットアップ、MCPサーバー)
- LINE Developers Messaging APIを始めよう、役割の管理
- Claude Code のインストール、MCP
- Cloudflare R2 の料金
画面の写真は、個人情報やアカウントの情報を塗りつぶしています。
画面の表示や言葉は、LINEやCloudflareの更新で変わることがあります。