LINE Bot MCP Server について
LINE Bot MCP Server は、LINE Messaging API を通じて AI エージェントを LINE 公式アカウントに接続する MCP サーバーです。メッセージ送信、リッチメニューの管理、ユーザー情報の取得に対応しています。プレビュー版として提供されており、実験的な利用を想定しています。
主な機能
- 01特定ユーザーへのテキストおよび Flex メッセージの送信
- 02フォロワー全員へのテキストおよび Flex メッセージの一斉送信
- 03ユーザーとグループチャットのプロフィール取得
- 04メッセージクォータと利用状況の確認
- 05リッチメニューの作成・設定・削除
- 06フォロワーのユーザー ID 一覧の取得
活用シーン
- 01AI エージェントから LINE ユーザーへの通知送信
- 02公式アカウントの全フォロワーへのメッセージ配信
- 03LINE 公式アカウントのリッチメニュー管理
MCP 対応
MCP サーバーとして、LINE メッセージ送信、ユーザーおよびグループの情報取得、リッチメニュー管理のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
LINE Bot MCP サーバー
AI エージェントをLINE公式アカウントに接続する、LINE Messaging APIと統合されたModel Context Protocol (MCP)サーバーの実装です。

メモ
このリポジトリはプレビュー版として提供されています。実験目的でご利用いただけますが、すべての機能が揃っていない場合や、包括的なサポートが提供されない場合がありますのでご注意ください。
ツール
- push_text_message
- LINE 経由でユーザーにシンプルなテキストメッセージを送信します。
- 入力:
userId(string?): メッセージを受信するユーザーの ID です。デフォルトは DESTINATION_USER_ID です。userIdまたは DESTINATION_USER_ID のいずれかを設定する必要があります。message.text(string): ユーザーに送信するプレーンテキストの内容です。
- push_flex_message
- LINE 経由でユーザーに高度にカスタマイズ可能な Flex メッセージを送信します。
- 入力:
userId(string?): メッセージを受信するユーザーの ID です。デフォルトは DESTINATION_USER_ID です。userIdまたは DESTINATION_USER_ID のいずれかを設定する必要があります。message.altText(string): Flex メッセージを表示できない場合に表示される代替テキストです。message.contents(any): Flex メッセージの内容です。メッセージのレイアウトとコンポーネントを定義する JSON オブジェクトです。message.contents.type(enum): コンテナの種類です。単一のコンテナには 'bubble'、スワイプ可能な複数のバブルには 'carousel' を指定します。
- broadcast_text_message
- LINE 公式アカウントをフォローしているすべてのユーザーに、LINE 経由でシンプルなテキストメッセージを一斉送信します。
- 入力:
message.text(string): ユーザーに送信するプレーンテキストの内容です。
- broadcast_flex_message
- LINE 公式アカウントを友だち追加しているすべてのユーザーに、LINE 経由で高度にカスタマイズ可能な Flex メッセージを一斉送信します。
- 入力:
message.altText(string): Flex メッセージを表示できない場合に表示される代替テキストです。message.contents(any): Flex メッセージの内容です。メッセージのレイアウトとコンポーネントを定義する JSON オブジェクトです。message.contents.type(enum): コンテナの種類です。単一のコンテナには 'bubble'、スワイプ可能な複数のバブルには 'carousel' を指定します。
- get_profile
- LINE ユーザーの表示名、プロフィール画像の URL、ステータスメッセージ、言語などの詳細なプロフィール情報を取得します。
- 入力:
userId(string?): プロフィールを取得するユーザーの ID です。デフォルトは DESTINATION_USER_ID です。
- get_message_quota
- LINE 公式アカウントのメッセージの上限数と使用状況を取得します。月間のメッセージ上限数と現在の使用状況を確認できます。
- 入力:
- なし
- get_rich_menu_list
- LINE 公式アカウントに関連付けられたリッチメニューの一覧を取得します。
- 入力:
- なし
- delete_rich_menu
- LINE 公式アカウントからリッチメニューを削除します。
- 入力:
richMenuId(string): 削除するリッチメニューの ID です。
- set_rich_menu_default
- リッチメニューをデフォルトに設定します。
- 入力:
richMenuId(string): デフォルトに設定するリッチメニューの ID です。
- cancel_rich_menu_default
- デフォルトのリッチメニュー設定を解除します。
- 入力:
- なし
- create_rich_menu
- 指定されたアクションに基づいてリッチメニューを作成します。画像を生成してアップロードし、デフォルトに設定します。
- 入力:
chatBarText(string): チャットバーに表示されるテキストで、リッチメニュー名としても使用されます。actions(array): リッチメニューのアクションです。1 つ以上 6 つ以下のアクションを指定できます。各アクションには次のいずれかの種類を指定できます。postback: ポストバックアクションを送信しますmessage: テキストメッセージを送信しますuri: URL を開きますdatetimepicker: 日付/時刻ピッカーを開きますcamera: カメラを開きますcameraRoll: カメラロールを開きますlocation: 現在地を送信しますrichmenuswitch: 別のリッチメニューに切り替えますclipboard: テキストをクリップボードにコピーします
- get_follower_ids
- LINE公式アカウントを友だちに追加したユーザーのユーザーID一覧を取得します。これにより、手動で準備することなく、メッセージ送信に使用するユーザーIDを取得できます。
- 入力:
start(string?): 次のユーザーID配列を取得するための継続トークンです。前回のレスポンスのnextプロパティで返されます。limit(number?): 1回のリクエストで取得するユーザーIDの最大数です。
- get_group_summary
- グループIDを使用して、グループID、グループ名、グループアイコンのURLを含むグループチャットの概要を取得します。
- 入力:
groupId(string): 対象グループチャットのグループIDです。
インストール(npx を使用)
要件:
- Node.js v22 以降
ステップ 1:LINE Official Account を作成する
この MCP サーバーは LINE Official Account を利用します。お持ちでない場合は、こちらの手順に従って作成してください。
LINE Official Account をお持ちの場合は、こちらの手順に従って、LINE Official Account の Messaging API を有効にしてください。
ステップ 2:AI エージェントを設定する
Claude Desktop や Cline などの AI エージェントに、以下の設定を追加してください。
環境変数または引数を次のように設定します。
CHANNEL_ACCESS_TOKEN:(必須)Channel Access Token です。こちらの手順に従って確認できます。DESTINATION_USER_ID:(任意)受信者のデフォルトのユーザーIDです。ツールの入力にuserIdが含まれていない場合は、DESTINATION_USER_IDが必要です。こちらの手順に従って確認できます。
{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": [
"@line/line-bot-mcp-server"
],
"env": {
"NPM_CONFIG_IGNORE_SCRIPTS": "true",
"CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
"DESTINATION_USER_ID" : "FILL_HERE"
}
}
}
}
インストール(Docker を使用)
ステップ 1:LINE Official Account を作成する
この MCP サーバーは LINE Official Account を利用します。お持ちでない場合は、こちらの手順に従って作成してください。
LINE Official Account をお持ちの場合は、こちらの手順に従って、LINE Official Account の Messaging API を有効にしてください。
ステップ 2:line-bot-mcp-server イメージをビルドする
このリポジトリをクローンします。
git clone [email protected]:line/line-bot-mcp-server.git
Docker イメージをビルドします。
docker build -t line/line-bot-mcp-server .
ステップ 3:AI エージェントを設定する
Claude Desktop や Cline などの AI エージェントに、以下の設定を追加してください。
環境変数または引数を次のように設定します。
mcpServers.args:(必須)line-bot-mcp-serverへのパスです。CHANNEL_ACCESS_TOKEN:(必須)Channel Access Token です。こちらの手順に従って確認できます。DESTINATION_USER_ID:(任意)受信者のデフォルトのユーザーIDです。ツールの入力にuserIdが含まれていない場合は、DESTINATION_USER_IDが必要です。 こちらの手順に従って確認できます。
{
"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" : "FILL_HERE",
"DESTINATION_USER_ID" : "FILL_HERE"
}
}
}
}
MCP Inspector を使ったローカル開発
MCP Inspector を使用して、サーバーをローカルでテストおよびデバッグできます。
前提条件
- リポジトリをクローンします。
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
- 依存関係をインストールします。
npm install
- プロジェクトをビルドします。
npm run build
Inspector を実行する
プロジェクトをビルドした後、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 のインターフェースが起動し、LINE Bot MCP Server のツールを操作して、その機能をテストできます。
バージョン管理
このプロジェクトではセマンティックバージョニングに準拠しています。
http://semver.org/ を参照してください。
コントリビューション
貢献する前に、CONTRIBUTINGを確認してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。