mcpField
L
LINE Bot MCP Server

LINE Bot MCP Server

ローカル
github.com/lineコミュニケーション7931 日前に更新

LINE Bot MCP Server について

LINE Bot MCP Server は、LINE Messaging API を通じて AI エージェントを LINE 公式アカウントに接続する MCP サーバーです。メッセージ送信、リッチメニューの管理、ユーザー情報の取得に対応しています。プレビュー版として提供されており、実験的な利用を想定しています。

主な機能

  1. 01特定ユーザーへのテキストおよび Flex メッセージの送信
  2. 02フォロワー全員へのテキストおよび Flex メッセージの一斉送信
  3. 03ユーザーとグループチャットのプロフィール取得
  4. 04メッセージクォータと利用状況の確認
  5. 05リッチメニューの作成・設定・削除
  6. 06フォロワーのユーザー ID 一覧の取得

活用シーン

  1. 01AI エージェントから LINE ユーザーへの通知送信
  2. 02公式アカウントの全フォロワーへのメッセージ配信
  3. 03LINE 公式アカウントのリッチメニュー管理

MCP 対応

MCP サーバーとして、LINE メッセージ送信、ユーザーおよびグループの情報取得、リッチメニュー管理のツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/inspector

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

日本語版 READMEはこちら

LINE Bot MCP サーバー

npmjs

AI エージェントをLINE公式アカウントに接続する、LINE Messaging APIと統合されたModel Context Protocol (MCP)サーバーの実装です。

README の画像

メモ

このリポジトリはプレビュー版として提供されています。実験目的でご利用いただけますが、すべての機能が揃っていない場合や、包括的なサポートが提供されない場合がありますのでご注意ください。

ツール

  1. push_text_message
    • LINE 経由でユーザーにシンプルなテキストメッセージを送信します。
    • 入力:
      • userId (string?): メッセージを受信するユーザーの ID です。デフォルトは DESTINATION_USER_ID です。userId または DESTINATION_USER_ID のいずれかを設定する必要があります。
      • message.text (string): ユーザーに送信するプレーンテキストの内容です。
  2. 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' を指定します。
  3. broadcast_text_message
    • LINE 公式アカウントをフォローしているすべてのユーザーに、LINE 経由でシンプルなテキストメッセージを一斉送信します。
    • 入力:
      • message.text (string): ユーザーに送信するプレーンテキストの内容です。
  4. broadcast_flex_message
    • LINE 公式アカウントを友だち追加しているすべてのユーザーに、LINE 経由で高度にカスタマイズ可能な Flex メッセージを一斉送信します。
    • 入力:
      • message.altText (string): Flex メッセージを表示できない場合に表示される代替テキストです。
      • message.contents (any): Flex メッセージの内容です。メッセージのレイアウトとコンポーネントを定義する JSON オブジェクトです。
      • message.contents.type (enum): コンテナの種類です。単一のコンテナには 'bubble'、スワイプ可能な複数のバブルには 'carousel' を指定します。
  5. get_profile
    • LINE ユーザーの表示名、プロフィール画像の URL、ステータスメッセージ、言語などの詳細なプロフィール情報を取得します。
    • 入力:
      • userId (string?): プロフィールを取得するユーザーの ID です。デフォルトは DESTINATION_USER_ID です。
  6. get_message_quota
    • LINE 公式アカウントのメッセージの上限数と使用状況を取得します。月間のメッセージ上限数と現在の使用状況を確認できます。
    • 入力:
      • なし
  7. get_rich_menu_list
    • LINE 公式アカウントに関連付けられたリッチメニューの一覧を取得します。
    • 入力:
      • なし
  8. delete_rich_menu
    • LINE 公式アカウントからリッチメニューを削除します。
    • 入力:
      • richMenuId (string): 削除するリッチメニューの ID です。
  9. set_rich_menu_default
    • リッチメニューをデフォルトに設定します。
    • 入力:
      • richMenuId (string): デフォルトに設定するリッチメニューの ID です。
  10. cancel_rich_menu_default
    • デフォルトのリッチメニュー設定を解除します。
    • 入力:
      • なし
  11. create_rich_menu
    • 指定されたアクションに基づいてリッチメニューを作成します。画像を生成してアップロードし、デフォルトに設定します。
    • 入力:
      • chatBarText (string): チャットバーに表示されるテキストで、リッチメニュー名としても使用されます。
      • actions (array): リッチメニューのアクションです。1 つ以上 6 つ以下のアクションを指定できます。各アクションには次のいずれかの種類を指定できます。
        • postback: ポストバックアクションを送信します
        • message: テキストメッセージを送信します
        • uri: URL を開きます
        • datetimepicker: 日付/時刻ピッカーを開きます
        • camera: カメラを開きます
        • cameraRoll: カメラロールを開きます
        • location: 現在地を送信します
        • richmenuswitch: 別のリッチメニューに切り替えます
        • clipboard: テキストをクリップボードにコピーします
  12. get_follower_ids
    • LINE公式アカウントを友だちに追加したユーザーのユーザーID一覧を取得します。これにより、手動で準備することなく、メッセージ送信に使用するユーザーIDを取得できます。
    • 入力:
      • start (string?): 次のユーザーID配列を取得するための継続トークンです。前回のレスポンスのnextプロパティで返されます。
      • limit (number?): 1回のリクエストで取得するユーザーIDの最大数です。
  13. 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 を使用して、サーバーをローカルでテストおよびデバッグできます。

前提条件
  1. リポジトリをクローンします。
git clone [email protected]:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. 依存関係をインストールします。
npm install
  1. プロジェクトをビルドします。
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を確認してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。