PythonとFastMCPで実現するLINE Bot連携型MCPサーバー構築ガイド
本記事は、PythonのFastMCPライブラリを活用し、LINE Botから自身のLINEアカウントへメッセージを送信できるMCP(Messaging Communication Protocol)サーバーの構築方法を詳細に解説している。
【概要】
開発環境として、Linux PCやラズパイなどのシングルボードコンピュータ(SBC)とPython 3、そしてFastMCPライブラリを使用する。このサーバーは、LINE BotのMessaging APIを利用し、Botから特定のユーザーID(自身のLINEアカウント)へメッセージをプッシュ送信する機能を提供する。
【手順と技術的詳細】
1. **事前準備**: まず、LINE Bot(LINE公式アカウント)を作成し、Messaging APIを有効化する。これに伴い、チャネルアクセストークンと自身のユーザーIDを取得する必要がある。
2. **環境構築**: `uv`を用いてプロジェクトを作成し、`fastmcp`と`line-bot-sdk`ライブラリをインストールする。
3. **プログラミング**: `main.py`にPythonスクリプトを記述する。このスクリプトでは、`FastMCP`クラスを初期化し、`@mcp.tool()`デコレータを用いて`send_line_message(message: str)`関数を定義する。この関数が、環境変数から読み込んだアクセストークンとユーザーIDを用いて、実際にLINEメッセージを送信するロジックを担う。
4. **実行**: サーバーは`mcp.run(transport="sse", host="0.0.0.0", port=8020)`という形で起動され、Streamable HTTP (SSE) トランスポートを通じて外部からアクセス可能となる。
【応用事例】
記事の後半では、このMCPサーバーの応用例として、手のひらサイズのコミュニケーションロボット「スタックチャン」が紹介されている。スタックチャンがAIエージェント(MCPホスト)として機能し、音声操作を通じて本MCPサーバーの機能(LINEメッセージ送信)を利用できる構成が示されており、技術的な拡張性と実用性の高さをアピールしている。
背景
MCP(Messaging Communication Protocol)は、異なるアプリケーションやAIエージェント間で機能や情報を標準化されたプロトコルで連携させるための仕組みである。本記事は、このMCPという概念を、具体的なLINE BotのAPI連携という形で実現する方法を解説している。
重要用語解説
- MCP: Messaging Communication Protocolの略。異なるシステムやAIエージェントが、共通のインターフェースを通じて機能や情報をやり取りするための標準的な通信プロトコル。
- FastMCP: PythonでMCPサーバーを容易に実装するためのライブラリ。デコレータ(@mcp.tool())を用いることで、定義した関数を自動的にMCPツールとして公開できる。
- シングルボードコンピュータ(SBC): ラズパイなどに代表される、小型のコンピュータボード。限られたリソースでIoTデバイスやエッジコンピューティングの実験に利用される。
今後の影響
本技術は、LINE Botのような既存のコミュニケーションプラットフォームを、より高度なAIエージェントやロボットの「行動ツール」として組み込むことを可能にする。これにより、単なるチャットボットを超えた、外部連携型の実用的なAIシステム開発が加速すると予想される。今後のIoTやロボティクス分野での応用が期待される。