mcpField
L
LibreChat MCP Servers

LibreChat MCP Servers

ローカル
github.com/wally-kroeker開発ツール2590 週間前に更新

LibreChat MCP Servers について

LibreChat MCP Servers は、LibreChat の Docker 環境で MCP サーバーを動かすための構成例をまとめたディレクトリです。Supergateway を使い、stdio 方式の MCP サーバーを SSE 経由で公開し、各サーバーを個別のコンテナで実行します。Docker Compose で LibreChat を運用する利用者に適しています。

主な機能

  1. 01Supergateway による stdio から SSE への変換
  2. 02MCP サーバーごとの個別コンテナ
  3. 03librechat_default ネットワークへの接続
  4. 04librechat.yaml での mcpServers 設定

活用シーン

  1. 01Docker 版 LibreChat に Brave Search を追加する
  2. 02新しい MCP サーバー用の Dockerfile と Compose 設定を作成する

MCP 対応

stdio 方式の MCP サーバーを SSE エンドポイントとして包み、LibreChat が librechat.yaml の mcpServers 設定からこれらへ接続します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

LibreChat MCP サーバー

このディレクトリには、Supergateway ブリッジを通じて LibreChat の機能を拡張する Model Context Protocol(MCP)サーバーの実装が含まれています。

これらは私が連携させようとしているプロジェクトです。

ディレクトリ構成

mcp/
├── brave-search/          # Brave Search API integration
│   ├── Dockerfile
│   └── README.md
├── [future-server]/      # Template for future MCP servers
│   ├── Dockerfile
│   └── README.md
└── README.md             # This file

新しい MCP サーバーの追加

  1. mcp/ の下にサーバー用の新しいディレクトリを作成します
  2. 必要なファイルを追加します:
    • Dockerfile - サーバーのビルド設定
    • README.md - サーバー固有のドキュメント
  3. docker-compose.override.yml を更新してサービスを追加します
  4. librechat.yaml を更新して MCP サーバーを設定します

共通設定

各 MCP サーバーは、次の要件を満たす必要があります:

  1. Supergateway をブリッジとして使用します(stdio から SSE への変換)
  2. 一貫したポート番号を使用します(8003 以降)
  3. librechat_default ネットワークに接続します
  4. 機密データには環境変数を使用します

ポートの割り当て

  • 8003:Brave Search
  • 8004-8099:今後の MCP サーバー用に予約

セキュリティのベストプラクティス

  1. API キーや機密データをコミットしないでください
  2. シークレットには環境変数を使用します
  3. 最小権限の原則に従います
  4. サービスを分離して維持します
  5. 依存関係を定期的に更新します

Supergateway を使用した LibreChat への MCP サーバーの追加

このガイドでは、Supergateway をブリッジとして使用し、任意の MCP サーバーを LibreChat に追加する手順を説明します。

概要

Supergateway を使用すると、stdio ベースの MCP サーバーを SSE(Server-Sent Events)経由で実行できるため、Docker 環境で MCP サーバーを LibreChat と連携するのに適しています。

前提条件

  1. LibreChat が稼働していること
  2. Docker と Docker Compose
  3. 連携する MCP サーバーのパッケージ

実装手順

1. サーバーディレクトリの作成

MCP サーバー用のディレクトリを作成します:

mkdir mcp-server-name
2. Dockerfile の作成

mcp-server-name/Dockerfile を作成します:

FROM node:18

WORKDIR /app

# Install both supergateway and your MCP server package
RUN npm install -g supergateway @organization/mcp-server-package

# The command runs supergateway as a bridge between your stdio MCP server and SSE
# --stdio: The command to run your MCP server
# --port: The port supergateway will listen on
CMD ["npx", "-y", "supergateway", "--stdio", "npx -y @organization/mcp-server-package", "--port", "8002"]
3. docker-compose.override.yml の更新

MCP サーバーのサービスを追加します:

services:
  mcp-server-name:
    build:
      context: ./mcp-server-name
    ports:
      - "8002:8002"  # Adjust port as needed
    networks:
      - librechat_default
    environment:
      - API_KEY=${YOUR_API_KEY}  # If your server needs API keys
    volumes:
      - ./mcp-server-name:/app  # If your server needs access to local files
4. librechat.yaml の更新

MCP サーバーの設定を追加します:

mcpServers:
  server-name:
    type: sse
    url: "http://mcp-server-name:8002/sse"

アーキテクチャの概要

  1. stdio から SSE へのブリッジ:

    • MCP サーバーは stdio 経由で通信します
    • Supergateway がブリッジとして機能し、stdio を SSE に変換します
    • LibreChat は SSE エンドポイントに接続します
  2. Docker ネットワーキング:

    • すべてのサービスは librechat_default ネットワーク上で実行されます
    • サービス名をホスト名として使用し、サービス間で通信できます
    • 必要なポートのみを公開します
  3. 設定の流れ:

    • LibreChat は librechat.yaml から mcpServers の設定を読み込みます
    • Supergateway の SSE エンドポイントに接続します
    • Supergateway はリクエストを MCP サーバーに転送します

よくある設定

1. 基本的な MCP サーバー
mcpServers:
  basic-server:
    type: sse
    url: "http://basic-server:8002/sse"
2. API キーを使用する MCP サーバー
# docker-compose.override.yml
services:
  api-server:
    environment:
      - API_KEY=${API_KEY}

# librechat.yaml
mcpServers:
  api-server:
    type: sse
    url: "http://api-server:8002/sse"
3. ファイルアクセスを使用する MCP サーバー
# docker-compose.override.yml
services:
  file-server:
    volumes:
      - ./data:/app/data

# librechat.yaml
mcpServers:
  file-server:
    type: sse
    url: "http://file-server:8002/sse"

トラブルシューティング

  1. 接続の問題:

    • ネットワーク設定を確認します
    • コンテナログを確認します:docker compose logs mcp-server-name
    • ポートが競合していないことを確認します
  2. サーバーが起動しない:

    • Dockerfile でパッケージがインストールされていることを確認します
    • 環境変数を確認します
    • サーバーログを確認します
  3. 通信の問題:

    • すべての設定でサービス名が一致していることを確認します
    • コンテナ間のネットワーク接続を確認します
    • SSE エンドポイントが正しいことを確認します

ベストプラクティス

  1. セキュリティ:

    • API キーや機密データをコミットしないでください
    • シークレットには環境変数を使用してください
    • コンテナの権限を制限してください
  2. ネットワーク:

    • 必要なポートのみを公開してください
    • 可能な場合は Docker の内部ネットワークを使用してください
    • 最小権限の原則に従ってください
  3. 設定:

    • 設定をモジュール化してください
    • 環境変数について説明してください
    • 設定にバージョン管理を使用してください
  4. モニタリング:

    • 重要なイベントをログに記録してください
    • リソース使用状況を監視してください
    • ヘルスチェックを設定してください

例:完全なセットアップ

新しい MCP サーバーを追加する完全な例を紹介します。

  1. ディレクトリ構成:
librechat/
├── mcp-server/
│   └── Dockerfile
├── docker-compose.override.yml
└── librechat.yaml
  1. Dockerfile:
FROM node:18
WORKDIR /app
RUN npm install -g supergateway @org/mcp-server
CMD ["npx", "-y", "supergateway", "--stdio", "npx -y @org/mcp-server", "--port", "8002"]
  1. docker-compose.override.yml:
services:
  mcp-server:
    build:
      context: ./mcp-server
    ports:
      - "8002:8002"
    networks:
      - librechat_default
    environment:
      - API_KEY=${MCP_API_KEY}
  1. librechat.yaml:
mcpServers:
  mcp-server:
    type: sse
    url: "http://mcp-server:8002/sse"

参考資料

コメント

MCP は初めてですか?

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

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