MCP-Mealprep について
MCP-Mealprepは、GitHub上のMCPサーバーをML・AIサービス向けのDocker Composeスタックにまとめます。複数のサーバーを構成して運用する担当者向けで、SSE公開に加え、mcpoによるOpenAPI互換エンドポイントも任意で利用できます。
主な機能
- 01複数のMCPサーバーを構成
- 02Docker Composeでデプロイ
- 03SSE経由でサーバーを公開
- 04mcpoによるOpenAPIエンドポイント
- 05mcp-shieldでセキュリティスキャン
活用シーン
- 01複数のMCPサーバーをスタックとしてデプロイ
- 02SSE経由でクライアントを接続
- 03OpenWebUI向けのOpenAPIエンドポイント提供
- 04mcp-shieldでサーバーコンテナをスキャン
MCP 対応
MCPサーバーを実行し、SSE経由でクライアントに公開します。任意でmcpoを使ってOpenAPI互換のHTTPエンドポイントも提供でき、検索、GitHub、Slack、地図、ウェブ取得などのサーバーが含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-Mealprep
たくさんのコンテナに小さな MCP のおやつを詰めて、あとで食べられるよう冷やしておくプロジェクトです。
このプロジェクトでは、GitHub 上の複数の場所から MCP サーバーを取得して実行し、supergateway と、必要に応じて mcpo を使って提供します。さらに、docker-compose でまとめてスタックとして実行し、ML/AI リソースに利用できます。
新しい V2 バージョン
supergateway と mcpo のプロジェクトのおかげで、全面的に再構築されました。内部および外部の MCP サービスの両方で安全に利用できるようになり、python、mcpo、pip、npx、uv、および個々の MCP サーバーの更新にも対応するはずです。
docker-compose はサーバーの例として利用できます。以下の構文に従って、公開リポジトリから必要な数だけ追加してください。各カスタム GHCR コンテナは、ローカルの STDIO/STOUT 用に MCP サーバーを実行するとともに、これらのサーバーを SSE プロトコルで安全に公開し、必要に応じて OpenWebUI 用の OpenAPI 互換 HTTP サーバーも公開します。ローカルリソースに接続するか、nginx、Traefik、Caddy などのプロキシを経由させてください。公開後は、OpenWebUI、n8n、Flowise、Claude、Cursor などの外部サービスに接続できます。
GHCR コンテナは debian をベースとしており、uv、npx、pip によるインストールで動作するはずです。必要であれば、以前の方法で docker MCP サーバーをインストールすることもできます。詳しくは、以下の「非推奨の Docker プロセス」を参照してください。
mcpo のインストール
mcpo のオプション機能をインストールする場合は、環境変数に「USE_MCPO=true」を追加してください。これにより startup.sh スクリプトが MCP サーバーのコマンドと環境変数を収集し、実行時に mcpo コマンドへ渡します。同時に重複したサーバーが起動し、元のサーバーとは接続されない点にご注意ください。ただし、OpenWebUI と連携する OpenAPI 互換エンドポイントが利用でき、各サーバーの詳細情報は /docs で確認できます。これは必須ではありませんが、必要に応じてサーバーごとに有効にできます。
startup.sh README
この bash スクリプトがコンテナ内で実行されたときに何をするのか詳しく知りたい場合は、処理を一行ずつ説明した「Startup README.md」を参照してください。各 MCP サーバーコンテナで実行されるため、実行に問題がないことを確認してください。
セキュリティスキャン
mcp-shield によるセキュリティスキャン
「startup.sh」スクリプトは、mcp セキュリティスキャナーである mcp-shield を実行するために、現在
"npx mcp-shield >> "mcp-shield.log" 2>&1
を実行し、ログファイルに追記します。詳しくは、ドキュメントを参照してください。問題がないか確認するため、更新後などにコンテナ内でこのコマンドを実行することもできます。
クライアント接続
サーバースタックの実行後、MCP クライアントを IP アドレスまたはドメインとポートに接続できます。簡単な接続方法がない場合は、mcpo コマンドを使って接続することもできます。
N8N
未定
Flowise
未定
Claude、Cursor など
未定
概要
このプロジェクトは、Model Context Protocol(MCP)サーバーを厳選してまとめたもので、Docker および/または Portainer を使って簡単にデプロイできる、AI を活用した包括的なツールとサービスの一式を提供します。公式 MCP Servers リポジトリ、supergateway、および OpenWebUI の mcpo リポジトリ を基盤としており、開発者や AI に関心のある方が、MCP 互換サービスを幅広くすばやく起動できます。
Model Context Protocol とは?
Model Context Protocol(MCP)は、LLM がさまざまなツール、データソース、サービスに安全にアクセスして連携できるようにする、革新的なフレームワークです。AI エージェントが以下を行うための標準的な方法を提供します。
- さまざまなソースから情報を取得する
- さまざまなプラットフォームでアクションを実行する
- 従来の言語モデルを超えて AI の能力を拡張する
含まれる MCP サーバー
この docker-compose コレクションには、以下のサーバーが含まれています。
- ウェブ検索(SearXNG および Brave)
- Everything(MCP のテスト用)
- GitHub 連携
- 電卓
- Slack
- Everart
- Google Maps
- ウェブクロール(Fetch および Puppeteer)
- Sequential Thinking
- Postgres/ベクトル検索(Supabase、Qwant、Pinecone、Memory)
- その他…
前提条件
- Docker
- Portainer(必須ではありませんが、あると便利です)
- 各サービスの API トークン/キー(任意。サーバーによって異なります)
Portainer でのインストール
ステップ 1:Portainer の準備
- Portainer 環境を開きます。通常は「local」です
- 「Stacks」に移動します
- 「Add stack」をクリックします
ステップ 2:スタックのデプロイ
- スタックに名前を付けます(例:「mcp-server-stack」)
- 「Build method」で「Upload a file」または「Web editor」を選択します
- このリポジトリの
docker-compose.ymlをアップロードするか、コピーして貼り付けます - 必要な環境変数を設定します
- Slack Bot Token
- GitLab Personal Access Token
- Google Maps API Key
- Brave Search API Key
- など
- 「Deploy the stack」をクリックします
ステップ 3:各サーバーの設定
- サーバーによっては、個別の設定や API トークンが必要です
- MCP Servers リポジトリにある各サーバーのドキュメントを参照してください
実行
警告
これは、これらの MCP サービスをコンテナ化し、より簡単にデプロイできるようにするための第一歩です。ただし、環境変数の一部や他のサービスとの接続、特にサーバーを追加する場合には、テストと検証が必要です。これらの大半は、少なくとも VPS スタック上で実行して個人的にテストしているため、ベータ版として機能するはずです。また、V2 は V1 よりも良好に動作します。各サーバーは SSE 接続で実行されるため、安全なはずです。ただし、基盤となるシステム、プロキシ、または暗号化の設定にセキュリティ上の不備がある可能性があります。このプロジェクトは、MCP サーバーの機能や安全性を審査するものではなく、サーバーのデプロイと安全なトラフィックを簡単にするためにパッケージ化するものです。MCP サーバーの審査が必要な場合は、MCP Evaluatorをご確認ください。
カスタマイズ
サーバーの追加/削除
docker-compose.ymlのサービスブロックをコメントアウトするか、削除するだけです- 必要な Dockerfile と依存関係が揃っていることを確認してください
環境変数
- 環境変数とコマンド変数の両方にあるプレースホルダートークンを、実際の API キーなど必要な設定に置き換えます
- 必要に応じてポートのマッピングをカスタマイズします。デフォルトでは連番です
セキュリティに関する考慮事項
- API トークンや機密情報は秘密にしてください
- 可能であれば読み取り専用ボリュームを使用してください
- サーバーと依存関係を定期的に更新してください
貢献
新しい MCP サーバーには、npx、uv、または pip によるクリーンなインストールコマンドが必要です。追加してほしいサーバーがある場合は、テスト済みで動作が確認できている docker-compose コンテナーのセクションとともに、プルリクエストまたは issue を送信してください。
このプロジェクトへの新しい MCP サーバーの追加
- サーバーが MCP プロトコルに準拠していることを確認します
- 既知の環境変数と「startup.sh」コマンドをすべて含め、上記の構文に従っていることを確認します
- MCP サーバーの GitHub リポジトリなど、明確なドキュメントを用意します
- 追加案を添えてプルリクエストまたは issue を送信します
廃止された Docker プロセス
V1 MCP Mealprep は各リポジトリの Github Dockerfile を使用し、docker-compose 経由でコンテナー内で実行していました。これは機能しましたが、比較的安全性に欠ける可能性があり、すべてのクライアントとの接続には対応できませんでした。使用したい MCP サーバーが npx、uv、pip などで利用できず、Dockerfile が意図したとおりに安全に動作することを検証できる場合は、この方法を引き続き使用してもかまいません。サーバーのリポジトリに Dockerfile が必要です。また、「uv.lock」ファイルを使用するものは、この方法でのインストールを妨げるようです。docker-compose-old.yml または次の例を参照して、動作方法を確認してください。
version: '3.8'
services:
mcp-server-everything:
build:
context: https://github.com/modelcontextprotocol/servers.git#main
dockerfile: src/everything/Dockerfile
image: mcp-server:latest
container_name: mcp-everything-server
ports:
- "0.0.0.0:8081:8081"
environment:
- NODE_ENV=production
restart: unless-stopped
networks:
- mcp-network
ライセンス
このプロジェクトはオープンソースです。個々の MCP サーバーには、独自のライセンス条件が適用される場合があります。
リソース
免責事項
このコレクションはコミュニティによってメンテナンスされており、Model Context Protocol プロジェクト、OpenWebUI、mcpo、その他のプロジェクトとは、明示的にも黙示的にも公式な提携関係にありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。