この記事ではMCPに特化して解説します。MCP(Model Context Protocol)全般は MCPサーバーの作り方2026完全ガイド をご覧ください。
LINE Bot MCP Serverとは何か:公式実装の概要と背景
LINE Bot MCP Serverは、LINEが公式リポジトリとして提供するModel Context Protocol(MCP)サーバー実装だ。ClaudeなどのAIエージェントがLINE Messaging APIを直接呼び出せるようにするブリッジとして機能する。GitHubスター数は575(2026年4月現在)、TypeScriptで実装されている。
従来のLINE Bot開発フローを振り返ると、問題の根本が見えてくる。開発者はClaudeにコード生成を依頼し、受け取ったコードをローカル環境で実行し、APIのレスポンスを確認し、問題があればまたClaudeに質問するという往復を繰り返していた。このサイクルはコード生成段階では高速化されていても、検証フェーズで必ず人間の手動操作が挟まっていた。
LINE Bot MCP Serverはこの検証フェーズを自動化する。Claudeがツール呼び出しとして直接LINE Messaging APIを実行し、そのレスポンスを同一セッション内で確認できる。「このユーザーIDにメッセージを送って」という自然言語の指示が、push_text_messageツールの実行として処理され、成功・失敗のレスポンスがその場で返ってくる。
公式READMEには「This repository is provided as a preview version」と記載されている。実験的な提供であり、完全な機能やサポートが含まれない場合がある点に注意が必要だ。
このMCPサーバーが解決する具体的な場面は以下の通りだ。
- Flex Messageの複雑なJSON構造を設計しながら即座に送信テストする
- 複数のユーザーIDに異なるメッセージをプログラマティックに送信する
- リッチメニューを作成・設定しながらUIの見た目を確認する
- メッセージクォータの残量を確認してブロードキャスト戦略を調整する
- フォロワーIDの一覧を取得してセグメント配信の準備をする
実装されている12種類のツール一覧
LINE Bot MCP Serverが提供するツールを詳細に確認しておく。これが実際にClaudeから呼び出せる機能の全体像だ。
メッセージ送信系(4ツール)
| ツール名 | 機能 | 主要パラメータ |
|---|---|---|
push_text_message |
特定ユーザーへのテキスト送信 | userId, message.text |
push_flex_message |
特定ユーザーへのFlex Message送信 | userId, message.altText, message.contents |
broadcast_text_message |
全フォロワーへのテキスト一斉送信 | message.text |
broadcast_flex_message |
全フォロワーへのFlex Message一斉送信 | message.altText, message.contents |
ユーザー情報取得系(2ツール)
| ツール名 | 機能 | 主要パラメータ |
|---|---|---|
get_profile |
ユーザープロフィール取得(名前・アイコン・ステータスメッセージ・言語) | userId |
get_follower_ids |
フォロワーIDの一覧取得(ページネーション対応) | start, limit |
アカウント管理系(1ツール)
| ツール名 | 機能 | 主要パラメータ |
|---|---|---|
get_message_quota |
月間メッセージクォータと現在の使用量取得 | なし |
リッチメニュー管理系(5ツール)
| ツール名 | 機能 | 主要パラメータ |
|---|---|---|
get_rich_menu_list |
リッチメニュー一覧取得 | なし |
create_rich_menu |
リッチメニュー作成・画像生成・デフォルト設定 | chatBarText, actions(最大6つ) |
delete_rich_menu |
リッチメニュー削除 | richMenuId |
set_rich_menu_default |
デフォルトリッチメニュー設定 | richMenuId |
cancel_rich_menu_default |
デフォルトリッチメニュー解除 | なし |
create_rich_menuのactionsパラメータは8種類のアクションタイプをサポートする。postback、message、uri、datetimepicker、camera、cameraRoll、location、richmenuswitch、clipboardの各タイプを最大6つまで組み合わせてメニューを構成できる。
アーキテクチャ:MCPがLINE Messaging APIを橋渡しする仕組み
自然言語で指示"] --> B["Claude Desktop
/ Cline"] B --> C["LINE Bot MCP Server
(TypeScript)"] C --> D["LINE Messaging API
v3"] D --> E["LINE公式アカウント"] E --> F["LINEユーザー"] C --> B B --> A
MCPの通信はStdioトランスポートを基本とする。Claude DesktopはMCP設定ファイルに記述されたコマンドでサーバープロセスを起動し、JSONRPCでツール呼び出しを送信する。サーバー側はClaudeから受け取ったパラメータをLINE Messaging API v3のエンドポイントに転送し、レスポンスをClaudeに返す。
認証はCHANNEL_ACCESS_TOKEN環境変数で管理される。これはLINE DevelopersコンソールのMessaging API設定画面で発行する長期チャネルアクセストークンだ。宛先ユーザーIDのデフォルト値としてDESTINATION_USER_ID環境変数も設定できる。
サーバー本体はTypeScriptで実装されており、npmパッケージ@line/line-bot-mcp-serverとして公開されている。npmパッケージとして実行する場合はnpx経由で即座に利用でき、Dockerイメージとしてコンテナ化して使う方法も公式でサポートされている。
インストールとセットアップ手順(npx方式・所要15分)
前提条件の確認
# Node.js v20以降が必要
node --version
# v20.0.0 以上であればOK
Step 1:LINE公式アカウントの準備
LINE Developersコンソール(https://developers.line.biz/)でプロバイダーとMessaging API チャネルを作成する。既存のLINE公式アカウントがある場合はOAマネージャーからMessaging APIを有効化する。
チャネル作成後、「チャネル設定 > Messaging API > チャネルアクセストークン」から長期アクセストークンを発行する。
Step 2:Claude Desktopの設定ファイルを編集
macOSの場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windowsの場合は %APPDATA%/Claude/claude_desktop_config.json を編集する。
{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": [
"@line/line-bot-mcp-server"
],
"env": {
"NPM_CONFIG_IGNORE_SCRIPTS": "true",
"CHANNEL_ACCESS_TOKEN": "ここにチャネルアクセストークンを入力",
"DESTINATION_USER_ID": "ここにデフォルト宛先ユーザーIDを入力"
}
}
}
}
DESTINATION_USER_IDはオプションだが、テスト送信先が固定されている場合は設定しておくと便利だ。自分のLINEユーザーIDはLINE Developersコンソールの「プロフィール」ページで確認できる。
Step 3:Claude Desktopを再起動して動作確認
設定ファイル保存後にClaude Desktopを完全に再起動する。Claudeとの会話画面でハンマーアイコンが表示されれば、MCPツールが正常に読み込まれている。
Claude: 「テストメッセージをLINEに送ってください」と入力してみてください。
Dockerを使ったインストール方法
コンテナ化して運用したい場合はDocker方式を選ぶ。
# リポジトリをクローン
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
# Dockerイメージをビルド
docker build -t line/line-bot-mcp-server .
Claude Desktopの設定ファイルはこのように記述する:
{
"mcpServers": {
"line-bot": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CHANNEL_ACCESS_TOKEN",
"-e",
"DESTINATION_USER_ID",
"line/line-bot-mcp-server"
],
"env": {
"CHANNEL_ACCESS_TOKEN": "ここにチャネルアクセストークンを入力",
"DESTINATION_USER_ID": "ここにデフォルト宛先ユーザーIDを入力"
}
}
}
}
Docker方式では`--rm`フラグによりコンテナが毎回破棄される。ステートレスな操作が保証される反面、コンテナ起動のオーバーヘッドが毎回発生する。ローカル開発では速度面でnpx方式が有利だ。
ローカル開発とMCP Inspectorを使ったデバッグ
本番環境に繋ぐ前に、MCP Inspectorを使ってツールの動作を安全に確認できる。
# リポジトリをクローン
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
# 依存パッケージをインストール
npm install
# TypeScriptをビルド
npm run build
# MCP Inspectorを起動
npx @modelcontextprotocol/inspector node dist/index.js \
-e CHANNEL_ACCESS_TOKEN="YOUR_CHANNEL_ACCESS_TOKEN" \
-e DESTINATION_USER_ID="YOUR_DESTINATION_USER_ID"
MCP Inspectorはブラウザベースのデバッグインターフェースを提供する。利用可能なツール一覧の確認、パラメータを手動で入力してのテスト実行、レスポンスの詳細確認が行える。Claudeを介さずにAPIの動作を直接確認したい場面で活用できる。
実践的なユースケース
ユースケース1:Flex Messageのプロトタイプ開発
リッチなカード型メッセージを設計する際、JSON構造の試行錯誤がボトルネックになりやすい。MCP Serverを使うと以下のワークフローが可能になる。
- Claudeに「商品カードのFlex Messageを設計して」と依頼
- ClaudeがJSON構造を生成しつつ
push_flex_messageで即座に送信 - LINEアプリで見た目を確認してフィードバックを伝える
- Claudeがその場でJSONを修正して再送信
この反復を同一セッション内で完結できる点が従来のワークフローとの最大の差だ。
ユースケース2:フォロワーへのセグメント配信テスト
get_follower_idsでフォロワーIDを取得し、対象ユーザーを絞り込んでからテストメッセージを送信するワークフローを組める。
指示例:「フォロワーリストを取得して、最初の5名にプロモーションメッセージを送ってください」
Claudeはget_follower_idsでリストを取得し、ループしながらpush_text_messageを各ユーザーに送信する。コードを書かずに自然言語でバッチ送信の動作確認ができる。
ユースケース3:リッチメニューの高速プロトタイプ
指示例:「ECサイト向けのリッチメニューを作って。ボタンは『商品を探す』『注文確認』『サポート』の3つ」
Claudeはcreate_rich_menuを実行してメニューを作成し、画像生成と設定を自動的に行う。メニューが気に入らなければdelete_rich_menuで削除して別のデザインを試せる。
ユースケース4:月次メッセージクォータの監視
指示例:「今月のメッセージ使用量を確認して、残りクォータをレポートして」
get_message_quotaでクォータ情報を取得し、Claudeが残量と使用率を計算してレポートを作成する。ブロードキャスト戦略を調整する際の意思決定に活用できる。
ユースケース5:ユーザープロフィールの一括確認
フォロワーのプロフィール情報を確認してセグメント分析を行う場面にも対応する。get_follower_idsとget_profileを組み合わせることで、フォロワーの言語設定やステータスメッセージを一覧化できる。
LINE Bot MCP Serverを深く理解するにはMCPの基礎知識が役立つ。MCPサーバーの作り方2026完全ガイドでは、MCPサーバーの実装方法とツール定義の詳細を解説している。
競合・代替ツールとの比較
LINE Bot開発を支援するツールは他にも存在する。位置付けを整理して比較しておく。
| ツール | アプローチ | AI統合 | LINE API網羅性 | 適合用途 |
|---|---|---|---|---|
| LINE Bot MCP Server | MCP経由でClaudeが直接実行 | ネイティブ(Claude/Cline対応) | 12ツール(主要操作) | AIアシスト開発・プロトタイプ |
| LINE SDK for Node.js | コードベースのAPI呼び出し | 別途LLM連携が必要 | LINE API全機能 | 本番Bot実装 |
| LINE Developers Console | Webブラウザ上での手動操作 | なし | 設定・確認のみ | 初期設定・デバッグ |
| Messaging API Swagger | RESTful API直接呼び出し | なし | LINE API全機能 | API仕様確認・テスト |
| n8n / Zapier | ノーコードワークフロー | 限定的 | 基本メッセージ送信 | 業務自動化ワークフロー |
LINE Bot MCP Serverが強みを発揮するのはAIアシストによるプロトタイプ段階だ。本番実装では公式SDKへの移行も検討に値するが、設計検証・動作確認のスピードは他の方法より明確に優れている。
LINE Messaging APIの全機能(ユーザー属性取得、受信Webhookの処理、Narrow Cast等)にはまだ対応していない点は把握しておくべきだ。プレビュー版という位置付けから、今後のアップデートで対応ツールが拡充される可能性がある。
よくある質問・つまずきポイント
Q: MCP Serverを起動すると「command not found」エラーが出る
Node.js v20以降がインストールされているか確認する。node --versionでバージョンを確認し、古い場合はアップデートが必要だ。npmのグローバルキャッシュに問題がある場合はnpm cache clean --forceを試す。
Q: CHANNEL_ACCESS_TOKENを設定したのにLINEにメッセージが届かない
トークンの有効期限を確認する。長期チャネルアクセストークンは「なし(無期限)」として発行するタイプを選択しているか確認が必要だ。また、LINE公式アカウントに対してMessaging APIが有効になっているかもチェックする。
Q: DESTINATION_USER_IDが不明で設定できない
LINE Developersコンソールにログインして「あなたのユーザーID」を確認するか、Messaging API Webhookを有効にして自分でLINE公式アカウントにメッセージを送信し、受信したWebhookイベントのsource.userIdフィールドから取得できる。
Q: Claude Desktopを再起動しても「line-bot」ツールが表示されない
設定ファイルのJSONが正しくパースできているか確認する。JSON構文エラー(末尾のカンマや引用符の不一致)が原因で設定ファイル全体が無効になるケースが多い。JSONLint等のツールで検証を行う。
Q: broadcast_text_messageを実行するとエラーが返ってくる
無料プランのLINE公式アカウントでは月次ブロードキャスト数に上限がある。get_message_quotaで現在の残量を確認してから実行する。また、フォロワーが0人の場合もエラーになる。
LINE Messaging APIにはレート制限がある。短時間に大量のpush_text_messageを実行するとレート制限に引っかかる可能性がある。大量送信が必要な場合はbroadcast系ツールを使うか、フォロワー数に応じた適切な送信間隔を設ける必要がある。
AIエージェント開発との統合:より大きな文脈での位置付け
LINE Bot MCP Serverは、AIエージェントがデジタルサービスを自律操作するという大きな流れの中の一事例だ。LINEはアジア、特に日本・タイ・台湾において月間アクティブユーザーが数億人規模のメッセージングプラットフォームだ。このプラットフォームへのアクセスをAIエージェントに開くことの意義は大きい。
AIエージェントフレームワーク比較2026で解説しているように、AIエージェントが外部サービスとインタラクションする際の標準プロトコルとしてMCPが採用されるケースが増えている。LINE Bot MCP Serverはその具体的な実装例として、LINEの生態系への橋渡しを担う。
将来的にMCPサーバーが充実すれば、Claudeが複数のメッセージングプラットフォームを同時に操作してマルチチャネルキャンペーンを実行したり、ユーザーの問い合わせに対して自動的にLINEで返信したりするシナリオが現実的になる。
まとめ
LINE Bot MCP Serverは、LINE公式が提供するプレビュー版MCPサーバーだ。12種類のツールを通じてClaudeがLINE Messaging APIを直接操作でき、メッセージ送信からリッチメニュー管理まで自然言語で指示できる。
セットアップはNode.js v20環境であればnpxを使って15分程度で完了する。Flex Messageのプロトタイプ開発、フォロワーへのセグメント送信テスト、リッチメニューの高速設計など、開発の検証フェーズで特に効果を発揮する。
現時点では全LINE API機能に対応しているわけではなくプレビュー段階だが、公式リポジトリとして継続的な改善が期待できる。LINE Botを開発している、またはこれから始める開発者にとって、AIアシスト開発フローの起点として試す価値がある。