11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

最速でLINE Messaging APIのMCPサーバーを試す

Last updated at Posted at 2025-04-14

はじめに

本日(2025/4/14)、Messaging APIのMCPサーバー「LINE Bot MCP Server」が公開されました。

本機能についてのQiitaの記事は現時点で存在していないようなので、本記事でその使い方を解説していきます。

公開されたMCPはまだ実験的な機能の段階であり、完全な機能やサポートなどが含まれていないそうなので、ご注意ください

なお、MCPを使ってLINEメッセージを送る試み自体は、こちらの記事で詳細に解説されていましたので、ご参考までに。

公式から発表されるよりも前に、自前でLINEメッセージ送信用のMCPサーバーを実装している、とてもわかりやすい記事で、参考になりました。

事前準備

MCPサーバーを試すにあたって、いくつか準備が必要です。
本記事では以下の項目について解説します。

なお、このほかにNode.js(バージョン20以上)が必要となりますが、こちらは割愛します。

MCPクライアント

MCPを利用するにはMCPクライアントが必要です。本記事ではClaude Desktopを利用します。
以下からダウンロードできます。

LINE関連の設定

アカウント、チャネルの準備

Messaging APIの機能を利用するには

  • LINE公式アカウント
  • Messaging APIチャネル
    の作成が必要です。

こちらの記事で作成方法をまとめていますので、参考にしてください。

チャネルアクセストークンの確認

LINE Developersコンソールの
プロバイダー > チャネル > Messaging API設定タブから確認できます。

なお、初回は以下のように「発行」ボタンが表示されているはずなので、ボタンを押下してください。

LINEユーザーIDの確認

LINEユーザーIDは個人のLINEアカウントIDとは異なります。
Messaging APIを利用してメッセージを送る先を特定するために使用されます。

こちらの確認方法は少し複雑なので順を追って確認します。

  • LINE公式アカウントに、自分の個人LINEアカウントを連携する
  • Webhookから確認する

大別して上記の2通りがありますが、Webhookでの確認は更に複雑なので本記事では割愛します。
(大まかに言うと、Webhookを受け取るサーバーを用意して、webhookを飛ばして、その中身を確認することで取得できます。)

個人LINEアカウントを連携する

LINE Buisiness IDの登録の際、メールアドレスではなく、LINEアカウントで登録している場合、以降の手順は不要です。
Messaging APIチャネルの基本設定タブから、自分のLINE IDを確認することができます。

個人LINEアカウントを連携するには、LINE Developersコンソールから設定します。

コンソールの右上のプロフィールアイコンから、プロフィール設定にアクセスします。
※名前とメールアドレスが表示されている部分をクリック

プロフィール下部の「LINE Buisiness ID」から「LINEビジネスIDプロフィールに移動」を押下します。

プロフィール設定画面に遷移するので、「LINE」の右側にあるリンクマークをクリックします。

※連携済の場合、連携しているLINEアカウントのプロフィール画像と、LINE名が表示されます。

LINEログイン画面へ遷移するので、任意の方法でLINEログインを行ってください。
これで、LINEアカウント連携は完了です。

LINEユーザーIDを確認する

LINE Developersコンソールの
プロバイダー > チャネル > チャネル基本設定タブから確認できます。
画面下部の「あなたのユーザーID」に表示されている項目が、LINEユーザーIDになります。

LINE連携ができていない場合、「あなたのユーザーID」という項目自体が表示されません。
ない場合は、連携の設定を見直してください。

これでようやくMCPを試すための準備が整いました。

Messaging APIのMCPを使ってみる

MCPリポジトリを取得する

任意のディレクトリ上で、MCPリポジトリをクローンします。

git clone https://github.com/line/line-bot-mcp-server.git

クローンしたディレクトリに移動し、依存関係のインストール、およびビルドを行います。

cd line-bot-mcp-server
npm install
npm run build

MCPクライアントを設定する

本記事ではClaude DesktopをMCPクライアントとして使用します。
Claude Desktopを立ち上げ、「設定」から開発者の「構成を編集」を押下します。

フォルダが開くので、claude_desktop_config.jsonを編集します。

ファイルに以下の内容を書き込みます。

claude_desktop_config.json
{
  "mcpServers": {
    "line-bot": {
      "command": "node",
      "args": [
        "{クローンしたディレクトリのパス}/line-bot-mcp-server/dist/index.js"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN": "取得したチャネルアクセストークン",
        "DESTINATION_USER_ID": "取得したLINEユーザーID"
      }
    }
  }
}

以下3つの情報は、それぞれの環境に合わせて設定してください。
args:MCPのリポジトリを取得したディレクトリのパス
CHANNEL_ACCESS_TOKEN:事前準備で確認したチャネルアクセストークン
DESTINATION_USER_ID:事前準備で確認したLINEユーザーID

以上の設定が完了したら、Claude Desktopを一度終了し、再度立ち上げてください。

成功すると、以下のようにオプションとしてカナヅチのようなマークが表示されます。

こちらをクリックすると利用できるMCPのツールが表示されます。

エラーになった場合 nodeをvoltaやnvmといったバージョン管理ツールを使用してインストールしている場合、以下のようなエラーが表示されることがあります。
エラー文抜粋
MCP line-bot: spawn node ENOENT
Could not connect to MCP server line-bot
MCP line-bot: Server disconnected. For troubleshooting guidance, please visit our debugging documentation

「MCP設定を開く」を押下することで、ログファイルのディレクトリに移動するので、そちらからエラーの詳細を確認できます。

ここでは、nodeコマンドの実行できないことがエラーの原因となっています。
その場合、voltaやnvmで使用しているnodeのパスを直接設定ファイルに指定することで解決できます。

以下のコマンドを実行することで、使用しているnodeがわかります。

which node

私はvoltaを使用していたため、以下のように表示されました。

ここで表示されたパスを、claude_desktop_config.jsoncommandの部分に設定します。

claude_desktop_config.json 設定例
{
  "mcpServers": {
    "line-bot": {
      "command": "/Users/user/.volta/bin/node",
      以降省略
    }
  }
}

設定完了後、Claude Desktopを終了し、立ち上げることでエラーが解消するはずです。

MCPを使う

普通のメッセージを送る

ここまでの設定で、完全に下準備が整いました。

試しに以下のようにClaudeに指示してみます。

実行の許可を求められるので、「このチャットで許可する」とします。

処理が終わったようです。

設定に使用したLINE公式アカウントからメッセージが届いていました。

Flexメッセージを送る

Flexメッセージはテキストだけでなく、画像やボタンなどを組み合わせることができるリッチなメッセージで、キャンペーンのお知らせなどに有効です。

Flex Messageの詳細については以下の記事を参考にしてください。

Flex Messageはできることが多く高い自由度を持つため困ってしまいます。
そこで、まずはどんな案があるか聞いてみましょう。

いい感じの提案がされましたね。
このまま送ってみます。

再びツールの使用許可を求められるので、許可します。
(先ほどとは違うツールを使っているため再度表示されているものと思われます。)

処理が終わったようです。

かなりいい感じのFlex Messageが届いていました。

指示には入れていませんでしたが、画像が使われているので、出どころを聞いてみます。

LINE公式の開発者向けサンプル画像のようです。
はじめにで紹介したニュースの中でも使用されているので、この情報は正しいものだとわかりました。

このように、やり取りしながらメッセージが送れるのは生成AIならではという感じがします。

プロフィールを取得する

最後に、プロフィールを取得してみます。
許可しておきます。

個人アカウントの情報なのでほとんど見せられませんが、正しく取得できました。

これで、現時点で公開されているLINE Messaging APIの機能は以上になります。

まとめ

いまなにかと話題のMCPについて、LINE Messaging APIも公開されていたので、早速試してみました。

初めてMCPを使いましたが、対話形式で使えるのはかなり有用だなと感じました。
特にアイディアの壁打ちをして、その結果をそのままFlex Messageとして送信できる部分は魅力的だと思います。

まだ生成AI自体も使いこなせていませんし、当然MCPも知識が足りていませんが、うまく使えばかなり強力なツールになると感じています。

一方、送信対象のLINEユーザーIDを設定ファイルにいちいち書かなければならない点は少し使いにくさを感じました。
ここは使用するMCPクライアントや、設定でカバーできる部分なのかもしれませんが、複数の送信対象を指定できたり、より簡易的な指定方法があれば、より実践的に使えるのかなと感じています。

とはいえ、まだ実験的な段階とのことなので、今後のアップデートに期待したいです。

もしよければ、いいねやフォローをいただけると大変よろこびます

参考にしたサイト

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?