LibreChatはオープンソースでセルフホストできるChatGPTクローンです。先日MCP(Model Context Protocol)クライアントとしてツールを呼び出せる機能も実装されました。
▲MCPの公式ページにも掲載されています。ちなみに掲載はとても早く、LibreChatのMCP対応版v0.7.6がリリースされるよりも前に(対応がmainブランチにマージされてからすぐ)掲載されていました。
LibreChatのMCPクライアントとして、すでに公開されているMCPサーバを設定することで、簡単にMCPを体験できます。早速使ってみましょう。
LibreChatの環境構築
まずLibreChatをcloneして、v0.7.6以上のバージョンにチェックアウトします。
$ git checkout v0.7.6
今回はMCPサーバのうち、everythingというサンプル実装を使います。
librechat.yaml
を下記のように記述します。
version: 1.2.0
cache: true
# https://github.com/danny-avila/LibreChat/pull/5015
mcpServers:
everything:
command: npx
args:
- -y
- "@modelcontextprotocol/server-everything"
docker-compose.override.yaml
で、設定ファイルのyamlを読み込むように設定します。なおdeploy-compose.yaml
の方を使う場合はこの変更は必要ありません。
services:
api:
build:
context: .
dockerfile: Dockerfile.multi
target: api-build
restart: 'no'
env_file:
- .env
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
.env
にOPENAI_API_KEY
などをセットしておきます。
準備ができたら起動します。
$ docker compose pull
$ docker compose up --build
http://localhost:3080
でLibreChatにアクセスできます。
LibreChatでMCPを利用するには、LibreChatにv0.7.6から導入されたAgents機能を使います。.env
やlibrechat.yaml
でエンドポイントメニューを管理している場合、agents
が出るように設定しておきましょう。
LibreChatでMCPを呼んでみる
LibreChatの画面が表示されたら、エンドポイントメニュー(画面上部)で「Agents」を選択します。
適当なエージェントを作成します。
「ツールを追加」から、everythingのツールを追加します。ここでは、2つの数値を足し算する「add」を選択しました。
これで準備は完了です。あとはエージェントに対して、適当なプロンプトを投げて実行できます。
実行結果から、everythingをツールとして使ったことが分かります。
まとめ
LibreChatをクライアントとして、MCPでツールを使うことができました。
MCPが今後発展していくかどうかは、まだ分かりません。MCPの公式リポジトリには様々なサーバの実装が公開されていますが、LibreChatの作者には標準入出力を利用するサーバ実装が多い点が指摘されており、まだ課題のある技術であることが分かります。
MCPが今後どうなるかは、MCP自体の発展だけでなく、周辺のツールやサービスがどのように追従するかが重要だと思います。今後もLibreChatのようなMCP周辺ツールの動向が気になります。