ChatGPT・Claudeと連携する(MCP・API・SDK)
ふだん使っているAI(Claude CodeやChatGPTなど、MCPに対応したAI)から、あなたのお店のLINEを操作できます。「先週の配信の反応を集計して」「金曜の昼に配るクーポンの下書きを作って」と話しかけるだけで、AIがLinsta AIのツールを呼び出して作業します。プロプラン向けの機能です。
現在は、すでに公開済みのリモートMCP接続がおすすめです。 Linstaのnpmパッケージ @linsta/sdk@1.0.0 と @linsta/mcp-server@1.0.0 は公開準備中です。このページのnpm・npx手順は、公開と配布物の検証が完了した後に使ってください。上流の @line-harness/* は別の配布物で、Linstaの安全な直接送信に対応しているとは限りません。
できること
MCPサーバーには約30種類のツールが入っています。会話のなかでAIが必要なものを選んで使います。
- 配信 — 一斉配信の作成・予約、タグやセグメントで絞った配信
- シナリオ — ステップ配信の作成・編集・登録
- 友だち — 検索、詳細の確認、タグの付け外し
- 集計 — 友だち数の推移、リンクのクリック、フォームの回答、コンバージョン
- 作りもの — リッチメニュー、フォーム、計測リンク、テンプレート、画像のアップロード
大事な注意 — AIは「送信」までできます
ツールのなかには、その場で配信を実行できるものが含まれます。AIに任せきりにせず、次の2つを守ってください。
- 配信は「下書きで作って」と頼む。 下書きなら1通も送られません。内容を一斉配信や配信カレンダーで確認してから、自分の手で予約・送信してください。
- AI用のスタッフを分ける。 後述のAPIキーはスタッフごとに発行されます。AI用に権限「スタッフ」のメンバーを1人追加してそのキーを渡してください。アカウント設定やスタッフ管理には触れなくなり、あとで止めたいときもそのスタッフを削除するだけで済みます(配信の作成は権限に関係なくできるので、1の「下書きで作らせる」運用が本体です)。
準備1: APIキーを発行する
- スタッフ管理を開き、AI用のスタッフを追加します(権限は「スタッフ」がおすすめ)
- 追加した直後に表示されるキーをコピーします。この画面でしか表示されません
- 紛失したら「キー再生成」で作り直せます(古いキーは使えなくなります)
このキーがあれば配信の作成までできてしまうので、パスワードと同じ扱いで保管してください。チャットやメールに貼らないこと。
準備2: 接続先のURLを確認する
接続用のURL・コマンドは、管理画面のAI連携(MCP・API)にあなたの環境の実際の値で表示されます。そこからコピーするのが確実です。
手で組み立てる場合: 接続先のURLに、あなたの環境のID(英数字)が入ります。ホームの「友だち追加リンク」のURLで確認できます。
https://linsta.ai/w/ここがあなたのID/auth/line?...
/w/ から次の / までがIDです。以下では あなたのID と書きます。
Claude Codeにつなぐ(インストール不要)
ターミナルで次の1行を実行します(あなたのID と 発行したAPIキー を置き換えてください)。追加のnpmパッケージは不要で、URLと鍵だけで接続できます。
claude mcp add --transport http linsta https://linsta.ai/w/あなたのID/api/mcp --header "Authorization: Bearer 発行したAPIキー"
npxで手元にサーバーを立てる場合は、@linsta/mcp-server@1.0.0 のnpm公開確認後に、Node.js 20以上の環境で次を使います。公開前は上のリモート接続を使ってください。
claude mcp add linsta -e LINSTA_API_URL=https://linsta.ai/w/あなたのID -e LINSTA_API_KEY=発行したAPIキー -- npx -y @linsta/mcp-server@1.0.0
つながったか確かめるには、Claude Codeでこう聞いてみてください。
いまの友だち数と、直近の配信を教えて
数字が返ってくれば接続できています。
そのほかのMCP対応AIにつなぐ
リモートMCP(HTTP)に対応したアプリには、URLと認証ヘッダーだけで登録できます。
{
"mcpServers": {
"linsta": {
"type": "http",
"url": "https://linsta.ai/w/あなたのID/api/mcp",
"headers": { "Authorization": "Bearer 発行したAPIキー" }
}
}
}
リモート接続に対応していないアプリでは、npm公開確認後に次のローカル起動設定を登録します(Claude Desktopの claude_desktop_config.json など)。Node.js 20以上が必要です。公開前に旧上流パッケージへ置き換えて接続しないでください。
{
"mcpServers": {
"linsta": {
"command": "npx",
"args": ["-y", "@linsta/mcp-server@1.0.0"],
"env": {
"LINSTA_API_URL": "https://linsta.ai/w/あなたのID",
"LINSTA_API_KEY": "発行したAPIキー"
}
}
}
}
プログラムから使う(API・SDK)
エンジニアの方向けです。同じAPIキーで、AIを介さず直接呼び出せます。
HTTP API — ベースURLは https://linsta.ai/w/あなたのID、認証は Authorization: Bearer APIキー ヘッダーです。
curl -H "Authorization: Bearer 発行したAPIキー" \
"https://linsta.ai/w/あなたのID/api/friends/count"
TypeScript SDK(npm公開確認後のみ) — npm install @linsta/sdk@1.0.0
import { LineHarness } from '@linsta/sdk'
const client = new LineHarness({
apiUrl: 'https://linsta.ai/w/あなたのID',
apiKey: process.env.LINSTA_API_KEY!,
})
const { count } = await client.friends.count()
APIキーをコードに直接書かず、環境変数から読み込んでください。
旧パッケージから安全に切り替える
Linsta配布物は @linsta/* です。SDKの読み込み元は変わりますが、クラス名 LineHarness は変わりません。ローカルMCPの新しい設定には LINSTA_API_URL・LINSTA_API_KEY、必要なら LINSTA_ACCOUNT_ID を使います。Linsta版は旧 LINE_HARNESS_* 名も読みますが、古い上流パッケージ自体の動作を保証するものではありません。
切り替え前に、自動送信と再試行を一度止めてください。結果が分からない送信は、元の operationId・宛先・本文・会話の版・全オプションを消さずに保管します。更新のためにブラウザの未確定記録を削除したり、新しい送信番号で送り直したりしてはいけません。
直接送信は「履歴を読む → 人が内容を確認 → 送信番号と本文を保存 → 送信」の順です。通信が切れた場合は、届いている可能性があります。承認して再試行するときだけ、保存した情報をそのまま使います。旧クライアントで送信番号を残していなかった場合や、安全な再試行期限を過ぎた場合は、番号を後付けせず配信記録を確認してください。会話が更新されていたら、最新の履歴を人が読み直してから判断します。
よくあるつまずき
- 「外部APIはプロプランの機能です」と言われる — この機能はプロプランに含まれます。契約・プランからプロプランへ変更するとキーがそのまま使えるようになります
- 「認証エラー」と言われる — キーの前後に空白が混ざっていないか確認。再生成した場合は古いキーが無効になっています
- AIが勝手に送りそうで怖い — 「必ず下書きで作って。送信はしないで」と伝え、MCPクライアントの操作承認も有効にしてください。指示やスタッフ権限だけで送信を防げるとは限らないため、外向きの送信は実行前に人が確認します
- npxが見つからない — Node.js(20以上)のインストールが必要です
- **
@linsta/*@1.0.0がnpmで見つからない** — 公開準備中は正常です。公開完了・検証済みの案内を待ち、HTTP対応クライアントではリモートMCPを使ってください