LINE MCPサーバー:Model Context ProtocolでAIエージェントをLINEに接続
公式LINE Bot MCPサーバーを使用して、ClaudeやGeminiなどのAIエージェントをLINE公式アカウントに接続する完全チュートリアル。セットアップ、設定、Flex Message、自然言語によるボット制御を学びましょう。

#MCPとLINEの紹介
AIエージェントが外部サービスと連携する方法が根本的に変わりつつあります。これまで、ClaudeやGeminiのようなAIアシスタントをLINEのようなメッセージングプラットフォームに接続するには、カスタムWebhookコード、APIラッパー、そして多大な開発工数が必要でした。Model Context Protocol(MCP) と公式 LINE Bot MCPサーバー の登場により、状況は一変しました。
MCPは現在、AIエージェント統合のデファクトスタンダード であり、月間 9,700万以上のSDKダウンロード と 5,800以上のMCPサーバー のエコシステムを持っています。OpenAI、Google、Microsoftを含む主要AI企業がMCPを採用しています。LINE上でビジネスを展開する企業にとって、AIエージェントが自然言語でLINE公式アカウントを直接制御できるようになったことを意味します。
#LINEビジネスにとっての重要性
LINEは日本、タイ、台湾、インドネシアにわたる 2億人以上の月間アクティブユーザー を持っています。LINE公式アカウントを使用する企業は、AIエージェントを活用して以下が可能です:
- メッセージ送信 - 自然言語コマンドで顧客にメッセージを送信
- リッチビジュアルコンテンツの作成 - Flex Messageを自動生成
- ユーザープロファイルの取得 - インタラクションのパーソナライズ
- キャンペーンワークフローの自動化 - LINE APIコードを書かずに
- カスタマーサポートのスケール - AIアシスタントをLINEに直接接続
AI搭載のLINE統合を構築する準備はできましたか?LINE開発サービスをご覧ください。
#Model Context Protocolとは?
Model Context Protocol(MCP) は、Anthropicが開発したオープンスタンダードで、AIエージェントが外部ツールやサービスと通信する方法を定義しています。ユニバーサルアダプターと考えてください -- すべてのAIモデルとすべてのサービスにカスタム統合を構築する代わりに、MCPはどのAIエージェントでも使用できる標準化されたインターフェースを提供します。
#MCPの仕組み
AIエージェント(Claude、Gemini、GPTなど)
|
v
MCPクライアント(AIエージェントに内蔵)
|
v
MCPプロトコル(標準化されたJSON-RPC)
|
v
MCPサーバー(LINE Bot MCPサーバー)
|
v
LINE Messaging API
|
v
LINE公式アカウント --> ユーザー
#主要コンセプト
| コンセプト | 説明 | 例 |
|---|---|---|
| MCPホスト | 接続を開始するAIアプリケーション | Claude Desktop、Cursor IDE |
| MCPクライアント | ホスト内のプロトコルハンドラー | 接続ライフサイクルを管理 |
| MCPサーバー | MCPを介してツールを公開するサービス | LINE Bot MCPサーバー |
| ツール | サーバーが提供する特定のアクション | send_text_message、send_flex_message |
| リソース | サーバーが公開できるデータ | ユーザープロファイル、メッセージ履歴 |
#2026年のMCPエコシステム
MCPエコシステムは急速に成長しています:
- 5,800以上のMCPサーバー - データベース、API、SaaSツール、メッセージングプラットフォームをカバー
- 月間9,700万以上のSDKダウンロード - Python、TypeScript、Java、Goに対応
- すべての主要AIプロバイダーが採用:OpenAI、Google、Microsoft、Anthropic
- エンタープライズ対応:認証、認可、監査ログがプロトコルに組み込み
- トランスポートオプション:ローカル用のstdio、リモート用のHTTP+SSE
LINE API開発について詳しくはLINE API統合チュートリアルをご覧ください。
#LINE Bot MCPサーバーの概要
LINE Bot MCPサーバー は、LINE株式会社が github.com/line/line-bot-mcp-server で公開している公式実装です。AIエージェントとLINE Messaging APIを橋渡しし、自然言語でLINE公式アカウントを制御できるようにします。
#サポートされるツール
| ツール | 説明 | パラメータ |
|---|---|---|
push_text_message | ユーザーにテキストメッセージを送信 | user_id、message |
push_flex_message | Flex Messageを送信 | user_id、flex_content、alt_text |
broadcast_text_message | 全フォロワーにテキストを送信 | message |
broadcast_flex_message | Flex Messageをブロードキャスト | flex_content、alt_text |
get_profile | ユーザーのLINEプロファイルを取得 | user_id |
get_message_quota | 残りメッセージ数量を確認 | -- |
get_followers_count | フォロワー総数を取得 | -- |
#従来の統合との違い
// 従来のアプローチ:カスタムWebhook + APIコード
import { Client } from "@line/bot-sdk";
const client = new Client({
channelAccessToken: process.env.LINE_CHANNEL_ACCESS_TOKEN!,
});
app.post("/webhook", async (req, res) => {
const events = req.body.events;
for (const event of events) {
if (event.type === "message" && event.message.type === "text") {
await client.replyMessage(event.replyToken, {
type: "text",
text: "こんにちは!",
});
}
}
res.sendStatus(200);
});
// MCPアプローチ:AIエージェントがLINEを直接制御
// Claudeに自然言語で指示するだけ:
「ユーザーU1234567890にLINEでウェルカムメッセージを送信してください。
'当店へようこそ!新しい春コレクションを
今週20%オフでご覧ください。'」
// AIエージェントがMCP経由でpush_text_messageを自動呼び出し
このパラダイムシフトにより、ビジネスオペレーター、マーケター、非技術者がAIを通じてLINEボットを制御できるようになります。LINEチャットボットサービスをご覧ください。
#セットアップ&設定ガイド
LINE Bot MCPサーバーのセットアップには、LINE APIの認証情報とMCPサーバーの2つが必要です。
#ステップ1:LINE公式アカウントとチャネルの作成
- LINE Developers Consoleにアクセス
- 新しい Provider を作成
- 新しい Messaging API Channel を作成
- Messaging APIタブから Channel Access Token(長期)をメモ
- Basic Settingsタブから Channel Secret をメモ
詳細についてはLINE公式アカウントの設定をご覧ください。
#ステップ2:npxでインストール(開発推奨)
# インストール不要 -- 直接実行
npx @line/line-bot-mcp-server
#ステップ3:Dockerでインストール(本番推奨)
# 公式イメージを取得
docker pull ghcr.io/line/line-bot-mcp-server:latest
# 環境変数で実行
docker run -it --rm \
-e CHANNEL_ACCESS_TOKEN=your_channel_access_token \
-e DESTINATION=your_user_id \
ghcr.io/line/line-bot-mcp-server:latest
#ステップ4:Claude Desktopでの設定
{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": ["-y", "@line/line-bot-mcp-server"],
"env": {
"CHANNEL_ACCESS_TOKEN": "your_channel_access_token_here",
"DESTINATION": "your_default_user_id_here"
}
}
}
}
#ステップ5:DockerでのClaude Desktop設定
{
"mcpServers": {
"line-bot": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "CHANNEL_ACCESS_TOKEN",
"-e", "DESTINATION",
"ghcr.io/line/line-bot-mcp-server:latest"
],
"env": {
"CHANNEL_ACCESS_TOKEN": "your_channel_access_token_here",
"DESTINATION": "your_default_user_id_here"
}
}
}
}
#ステップ6:接続の確認
あなた:「LINEにテストメッセージを送信して、AIからこんにちは」
Claude:LINEアカウントにメッセージを送信します。
[push_text_messageを呼び出し「AIからこんにちは」]
メッセージ送信成功!
#環境変数リファレンス
| 変数 | 必須 | 説明 |
|---|---|---|
CHANNEL_ACCESS_TOKEN | はい | LINE Developers Consoleの長期トークン |
DESTINATION | いいえ | プッシュメッセージのデフォルトユーザーID |
設定のサポートが必要ですか?LINEアプリ開発サービスをご覧ください。
#機能とユースケース
接続後、AIエージェントは自然言語コマンドでLINE公式アカウントの操作が可能になります。
#テキストメッセージの送信
プロンプト:「ユーザーU1234567890にメッセージを送信:
ご注文ありがとうございます!追跡番号はTH20260402001です。
配送予定日:2026年4月5日」
#Flex Messageの作成と送信
プロンプト:「春のセール用のFlex Messageを作成してください:
- ヒーロー画像バナー
- タイトル:Spring Collection 2026
- 20%割引バッジ
- 'Shop Now'ボタン(https://shop.example.com)
ユーザーU1234567890に送信」
#実際のユースケースシナリオ
| シナリオ | AIエージェントプロンプト | MCPツール |
|---|---|---|
| 注文確認 | 「発送済み注文を顧客に通知」 | push_text_message |
| プロモーション | 「春セールバナーを全ユーザーに送信」 | broadcast_flex_message |
| 顧客検索 | 「このユーザーのプロファイルを表示」 | get_profile |
| パーソナライズオファー | 「誕生日クーポンを送信」 | push_flex_message |
| クォータ確認 | 「あと何通送信できますか?」 | get_message_quota |
LINE自動化サービスでこれらのワークフローを大規模に自動化する方法を発見してください。
#高度な統合パターン
#MCPとWebhookハンドラーの組み合わせ
双方向通信には、MCPサーバー(送信)とWebhookハンドラー(受信)を組み合わせます:
// app/api/webhooks/line/route.ts
import { NextRequest, NextResponse } from "next/server";
import crypto from "crypto";
const CHANNEL_SECRET = process.env.LINE_CHANNEL_SECRET!;
function verifySignature(body: string, signature: string): boolean {
const hash = crypto
.createHmac("SHA256", CHANNEL_SECRET)
.update(body)
.digest("base64");
return hash === signature;
}
export async function POST(req: NextRequest) {
const body = await req.text();
const signature = req.headers.get("x-line-signature") || "";
if (!verifySignature(body, signature)) {
return NextResponse.json({ error: "無効な署名" }, { status: 401 });
}
const { events } = JSON.parse(body);
for (const event of events) {
if (event.type === "message" && event.message.type === "text") {
await forwardToAIAgent(event);
}
}
return NextResponse.json({ status: "ok" });
}
#マルチエージェントアーキテクチャ
顧客がLINEでメッセージ送信
|
v
Webhookハンドラー(受信)
|
v
AIルーターエージェント
|
+---> セールスエージェント(商品問い合わせ)
| |---> MCP: push_flex_message
|
+---> サポートエージェント(問題解決)
| |---> MCP: push_text_message
|
+---> マーケティングエージェント(キャンペーン管理)
|---> MCP: broadcast_flex_message
#カスタムMCPツールの構築
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({
name: "custom-line-tools",
version: "1.0.0",
});
server.tool(
"send_order_status",
"注文ステータスの更新と追跡情報をLINEユーザーに送信",
{
user_id: z.string().describe("LINE user ID"),
order_id: z.string().describe("Order ID"),
status: z.enum(["confirmed", "shipped", "delivered"]),
tracking_number: z.string().optional(),
},
async ({ user_id, order_id, status, tracking_number }) => {
const flexMessage = buildOrderStatusFlex(order_id, status, tracking_number);
await lineClient.pushMessage(user_id, flexMessage);
return { content: [{ type: "text", text: `ステータス送信完了` }] };
}
);
高度なチャットボットアーキテクチャについてはLINEチャットボット開発チュートリアルをご覧ください。
#ベストプラクティスとセキュリティ
#セキュリティの考慮事項
| リスク | 軽減策 | 実装 |
|---|---|---|
| トークン漏洩 | トークンをハードコードしない | 環境変数とシークレットマネージャーを使用 |
| 不正アクセス | MCPサーバーのアクセスを制限 | ローカルまたは認証プロキシの背後で実行 |
| メッセージなりすまし | Webhook署名を検証 | x-line-signatureを検証 |
| レート制限 | LINE APIの制限を遵守 | トークンバケットまたはスライディングウィンドウ |
| データ漏洩 | プロンプト内のデータを最小化 | 機密ユーザーデータをAIエージェントに渡さない |
#パフォーマンス最適化
- 開発にはstdioトランスポートを使用:最速、オーバーヘッド最小
- リモートにはHTTP+SSEを使用:複数のAIエージェント接続を同時にサポート
- ユーザープロファイルをキャッシュ:同じユーザーへの
get_profileの重複呼び出しを回避 - ブロードキャストを賢く:LINEはプランに基づいてブロードキャストメッセージを制限
- メッセージクォータを監視:大規模キャンペーン前に
get_message_quotaを使用
#LineBot.proで始める
MCPとLINEの統合セットアップには、AIエージェントエコシステムとLINEプラットフォームAPIの両方の理解が必要です。LineBot.proはこのワークフロー全体を簡素化します。
#LineBot.proが提供するもの
- MCP対応統合:管理された認証情報とモニタリング付きの事前設定済みLINE Bot MCPサーバー
- AIチャットボットビルダー:NLP、感情分析、多言語サポート内蔵のインテリジェントLINEボット
- リッチメッセージジェネレーター:Flex Messageをビジュアルまたはプロンプトでデザイン
- キャンペーン自動化:ブロードキャストのスケジュール、オーディエンスセグメント、メッセージの自動トリガー
- 分析ダッシュボード:リアルタイムインサイト
#プランと料金
| 機能 | 無料 | Starter(299 THB/月) | Pro(799 THB/月) |
|---|---|---|---|
| AIメッセージ | 50/月 | 500/月 | 2,000/月 |
| MCP統合 | 基本 | フル | フル + カスタムツール |
| Flex Message | 10/月 | 100/月 | 無制限 |
| リッチメニュー | 1 | 5 | 無制限 |
#今すぐ構築を始めましょう
- 無料アカウントを作成 -- 50無料AIクレジットを入手
- LINE公式アカウントを接続 -- ワンクリック統合
- MCP統合を有効化 -- AIエージェントのアクセスを設定
- メッセージ送信を開始 -- 自然言語でLINEボットを制御