LINE Official Account

公式

LINE Messaging APIを統合し、AIエージェントをLINE Official Accountに接続します。

LINE Official Account MCPで何ができますか?

  • テキストメッセージを送信 — push_text_message で特定のユーザーにプレーンテキストメッセージを送信するか、broadcast_text_message で全フォロワーに一斉送信します。
  • リッチフレックスメッセージを送信 — 高度にカスタマイズ可能なバブルまたはキャラセルメッセージを、push_flex_message または broadcast_flex_message を使用して個別のユーザーに送信するか、一斉送信します。
  • リッチメニューを管理 — ポストバック、URI、カメラなどのアクションを持つリッチメニューを、create_rich_menu、get_rich_menu_list および関連ツールを使用して作成、一覧表示、デフォルト設定、デフォルト解除、削除します。
  • ユーザーおよびグループ情報を取得 — get_profile でユーザーのプロフィール詳細(名前、写真、ステータスメッセージ)を取得するか、get_group_summary でIDやアイコンを含むグループチャットの概要を取得します。
  • メッセージ枠を監視 — get_message_quota を使用して、LINE公式アカウントの月間メッセージ上限と現在の使用量を確認します。
  • フォロワーIDを取得 — get_follower_ids を使用して、アカウントを友だち追加したユーザーIDのページネーション付きリストを取得します。オプションで継続トークンと制限数を指定できます。

ドキュメント

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

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

[!NOTE] このリポジトリはプレビュー版として提供されています。実験的な目的で提供していますが、完全な機能や包括的なサポートが含まれていない場合があることにご注意ください。

ツール

  1. push_text_message

    • LINE を介してユーザーにシンプルなテキストメッセージをプッシュ送信します。
    • 入力:
      • userId (string?): メッセージを受信するユーザー ID。デフォルトは DESTINATION_USER_ID。userId または DESTINATION_USER_ID のいずれかを設定する必要があります。
      • message.text (string): ユーザーに送信するプレーンテキストの内容。
  2. push_flex_message

    • LINE を介してユーザーに高度にカスタマイズ可能なフレックスメッセージをプッシュ送信します。
    • 入力:
      • userId (string?): メッセージを受信するユーザー ID。デフォルトは DESTINATION_USER_ID。userId または DESTINATION_USER_ID のいずれかを設定する必要があります。
      • message.altText (string): フレックスメッセージを表示できない場合に表示される代替テキスト。
      • message.contents (any): フレックスメッセージの内容。メッセージのレイアウトとコンポーネントを定義する JSON オブジェクトです。
      • message.contents.type (enum): コンテナのタイプ。単一コンテナの場合は 'bubble'、複数のスワイプ可能なバブルの場合は 'carousel'。
  3. broadcast_text_message

    • LINE を介して、LINE 公式アカウントをフォローしているすべてのユーザーにシンプルなテキストメッセージを一斉送信します。
    • 入力:
      • message.text (string): ユーザーに送信するプレーンテキストの内容。
  4. broadcast_flex_message

    • LINE を介して、LINE 公式アカウントを友だち追加したすべてのユーザーに高度にカスタマイズ可能なフレックスメッセージを一斉送信します。
    • 入力:
      • message.altText (string): フレックスメッセージを表示できない場合に表示される代替テキスト。
      • message.contents (any): フレックスメッセージの内容。メッセージのレイアウトとコンポーネントを定義する JSON オブジェクトです。
      • message.contents.type (enum): コンテナのタイプ。単一コンテナの場合は 'bubble'、複数のスワイプ可能なバブルの場合は 'carousel'。
  5. get_profile

    • 表示名、プロフィール画像 URL、ステータスメッセージ、言語など、LINE ユーザーの詳細なプロフィール情報を取得します。
    • 入力:
      • 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 公式アカウントを作成する

この MCP サーバーは LINE 公式アカウントを利用します。お持ちでない場合は、こちらの手順 に従って作成してください。

LINE 公式アカウントをお持ちの場合は、こちらの手順 に従って LINE 公式アカウントの Messaging API を有効にしてください。

ステップ 2: AI エージェントを設定する

Claude Desktop や Cline などの AI エージェントに以下の設定を追加してください。

環境変数または引数を次のように設定します:

  • 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 公式アカウントを作成する

この MCP サーバーは LINE 公式アカウントを利用します。お持ちでない場合は、こちらの手順 に従って作成してください。

LINE 公式アカウントをお持ちの場合は、こちらの手順 に従って LINE 公式アカウントの Messaging API を有効にしてください。

ステップ 2: line-bot-mcp-server イメージをビルドする

このリポジトリをクローンします:

git clone git@github.com: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: (必須) チャネルアクセストークン。こちらの手順 に従って確認できます。
  • 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"
      }
    }
  }
}

Inspector を使用したローカル開発

MCP Inspector を使用して、サーバーをローカルでテストおよびデバッグできます。

前提条件

  1. リポジトリをクローンします:
git clone git@github.com: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"

これにより、LINE Bot MCP Server のツールを操作して機能をテストできる MCP Inspector インターフェースが起動します。

バージョニング

このプロジェクトはセマンティックバージョニングに準拠しています。

http://semver.org/ を参照してください。

貢献

貢献を行う前に CONTRIBUTING をご確認ください。