mcpField
D
Docker Techstack Rolldev Mcp Server

Docker Techstack Rolldev Mcp Server

ローカル
github.com/dockergiantクラウド・インフラ01 週間前に更新

Docker Techstack Rolldev Mcp Server について

RollDev 上の Magento 2 開発環境向け MCP サーバーです。AI クライアントから環境やサービスを管理し、開発コマンドの実行、新規プロジェクトの初期化、読み取り専用の性能診断を行えます。

主な機能

  1. 01RollDev 環境とサービスの管理
  2. 02SQL、PHP、Magento CLI、Composer の実行
  3. 03Magento 2 プロジェクトの初期化
  4. 04Inspector の稼働状況と性能トレースの確認
  5. 05コマンド出力のログファイル保存

活用シーン

  1. 01Magento プロジェクト環境の起動や停止
  2. 02プロジェクトデータベースの照会やアップグレードコマンドの実行
  3. 03遅いルート、重複クエリ、サービス状態の調査

MCP 対応

互換性のある MCP クライアントに、RollDev 環境管理、開発操作、Inspector 照会のツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"rolldev": {
"command": "npx",
"args": [
"-y",
"@disrex/rolldev-mcp-server"
]
}
}
}
起動コマンドnpx -y @disrex/rolldev-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@disrex/rolldev-mcp-server

ツール

10

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

RollDev MCP サーバー

npm version License: MIT Node.js CI JavaScript RollDev Magento Docker MCP

Trust Score

RollDev と Magento 2 の開発環境向けの Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、Claude やその他の LLM が RollDev プロジェクトと連携し、環境を管理してコマンドを実行したり、新しい Magento 2 プロジェクトをシームレスに初期化したりできます。

機能

環境管理
  • 環境制御:RollDev プロジェクトの環境の一覧表示、起動、停止
  • サービス管理:RollDev のシステムサービス(データベース、Redis、OpenSearch など)の制御
  • プロジェクトの初期化:自動設定で新しい Magento 2 プロジェクトを作成
開発ツール
  • データベース操作:プロジェクトのデータベースで SQL クエリを直接実行
  • PHP スクリプトの実行:プロジェクトのコンテナ内で PHP スクリプトを実行
  • Magento CLI へのアクセス:roll magento で Magento コマンドを実行
  • Composer 連携:プロジェクト環境で Composer コマンドを実行
信頼性に関する機能
  • コマンドのタイムアウト:ハングを防ぐため、すべてのコマンドに適切なタイムアウトを設定しています(操作に応じて 5~15 分)
  • 出力ファイルへのリダイレクト:後で調査できるよう、コマンドの出力をログファイルに保存するオプション

前提条件

  • RollDev がインストールおよび設定されていること
  • Node.js 18+
  • RollDev のプロジェクト環境が稼働していること(一部の操作に必要)

インストール

オプション 1:NPM を使用(推奨)
{
  "mcpServers": {
    "rolldev": {
      "command": "npx",
      "args": [
        "-y",
        "@disrex/rolldev-mcp-server"
      ]
    }
  }
}

この設定を Claude for Desktop の設定ファイルに追加してください:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
オプション 2:手動セットアップ
  1. このリポジトリをクローンします:
git clone https://github.com/dockergiant/rolldev-mcp-server.git
cd rolldev-mcp-server
  1. 依存関係をインストールします:
npm install
  1. Claude の設定に追加します:
{
  "mcpServers": {
    "rolldev": {
      "command": "node",
      "args": ["/path/to/rolldev-mcp-server/server.js"]
    }
  }
}

利用可能なツール

rolldev_list_environments

プロジェクト名、パス、URL、Docker ネットワーク、コンテナ数などの構造化された情報とともに、実行中の RollDev 環境をすべて一覧表示します。

rolldev_start_project

RollDev プロジェクト環境を起動します。

  • project_path:プロジェクトディレクトリのパス
rolldev_stop_project

RollDev プロジェクト環境を停止します。

  • project_path:プロジェクトディレクトリのパス
rolldev_start_svc

RollDev のシステムサービスを起動します。

  • project_path:プロジェクトディレクトリのパス
rolldev_stop_svc

RollDev のシステムサービスを停止します。

  • project_path:プロジェクトディレクトリのパス
rolldev_db_query

プロジェクトのデータベースで SQL クエリを実行します。

  • project_path:プロジェクトディレクトリのパス
  • query:実行する SQL クエリ
  • database:データベース名(省略可能。既定値は「magento」)
rolldev_php_script

プロジェクトのコンテナ内で PHP スクリプトを実行します。

  • project_path:プロジェクトディレクトリのパス
  • script_path:プロジェクトルートからの相対パスで指定する PHP スクリプトのパス
  • args:追加の引数(省略可能)
rolldev_magento_cli

Magento CLI コマンドを実行します(タイムアウトは 5 分です)。

  • project_path: プロジェクトディレクトリへのパス
  • command: Magento コマンド('bin/magento' のプレフィックスなし)
  • args: 追加の引数(任意)
  • save_output_to_file: 出力全体をログファイルに保存します(任意、デフォルト: false)
rolldev_composer

プロジェクト環境で Composer コマンドを実行します(タイムアウトは 10 分です)。

  • project_path: プロジェクトディレクトリへのパス
  • command: Composer コマンド(例: "install"、"update"、"require symfony/console")
  • save_output_to_file: 出力全体をログファイルに保存します(任意、デフォルト: false)
rolldev_magento2_init

自動設定で新しい Magento 2 プロジェクトを初期化します(タイムアウトは 15 分です)。

  • project_name: プロジェクト名(小文字の英字、数字、ハイフンのみ)
  • magento_version: Magento のバージョン(任意、デフォルトは "2.4.x")
  • target_directory: 対象ディレクトリ(任意、デフォルトは現在のディレクトリ)
Roll Inspector ツール(読み取り専用)

これらのツールは Roll Inspector(https://inspector.<TRAEFIK_DOMAIN>)から読み取りを行い、環境を変更することはありません。各ツールは project_path を受け取り、roll と同じ方法で ROLL_ENV_NAME、TRAEFIK_DOMAIN、ROLL_INSPECTOR を読み込みます(${ROLL_HOME_DIR:-~/.roll}/.env.roll、次にその場所の .env、続いて最も近いプロジェクトの .env.roll の順に読み込み、後のファイルが前のファイルを上書きします)。また、上記のツールと同様に save_output_to_file を受け付けます。出力はコンパクトなテキストと JSON ブロックです。60,000 文字を超える部分は省略され、save_output_to_file の使用を促すヒントが表示されます。

ツール戻り値
rolldev_inspector_overviewサービスの稼働状態、警告、およびコピーして使える修正方法
rolldev_inspector_tracesカテゴリ別のコスト内訳を含むトレース一覧。フィルター: route、min_ms、sort、limit
rolldev_inspector_trace1 つのトレース id の分析: カテゴリ別のコスト、ホットスパン、繰り返される(N+1)呼び出し、最も遅い呼び出し。生のスパンは include_spans を指定した場合のみ返され、自己時間順に最大 200 件に制限されます
rolldev_inspector_hotspots保存済みのすべてのトレースにおける、最も遅いルート、最もコストの高い操作、繰り返される呼び出し。limit で各セクションの行数を設定します
rolldev_inspector_requesturl(または xid)のタイムラインエントリー: Varnish の結果と PHP、キャッシュ、検索の各レーン。limit を指定すると、一致した項目を新しい順にさらに返します
rolldev_inspector_servicekind が varnish、redis、search、rabbitmq の場合の section health(デフォルト)または info

接続の詳細:

  • ツールは node:https で接続し、${ROLL_SSL_DIR}/rootca/certs/ca.cert.pem にある roll のルート CA を信頼します。ROLL_SSL_DIR のデフォルトは ${ROLL_HOME_DIR}/ssl、ROLL_HOME_DIR のデフォルトは ~/.roll です(bin/roll と同様)。上書きするには、MCP サーバーの環境でいずれかの変数を設定してください。
  • リクエストは 10 秒後にタイムアウトします。
  • ROLL_INSPECTOR が未設定または 0 の場合、ツールは修正方法を返します。.env.roll に ROLL_INSPECTOR=1 を設定し、roll env up を実行してください。
  • 停止中の Inspector コンテナ(roll env up)、証明書の問題(roll sign-certificate <domain>)、解決できないホスト、ゲートからの 403 を、わかりやすい言葉で報告します。
  • rolldev_inspector_trace と rolldev_inspector_hotspots には、分析およびホットスポットのエンドポイントを備えた Inspector イメージが必要です。古いイメージの場合は、更新を促すメッセージが表示されます。

トレースとホットスポットの回答には、プロジェクトの .env.roll で ROLL_INSPECTOR=1 と ROLL_INSPECTOR_TRACE=1 を設定する必要があります。Varnish HIT にはトレースがないため、rolldev_inspector_request では結果が見つかりません。ユーザードキュメント: roll-docker-stack/docs/inspector/api-and-extensions.md。

ロジックは inspector.cjs にあり、test/inspector.test.js で偽のトランスポートを使って実行します。

例

RollDev MCP サーバーのセットアップ後、Claude で試せるやり取りの例をいくつか紹介します。

基本的な環境管理
  1. 「RollDev の環境をすべて一覧表示できますか?」
  2. 「/path/to/my-magento-project のプロジェクトを起動してください」
  3. 「現在のプロジェクトのサービスを停止してください」
データベース操作
  1. 「プロジェクトでクエリ 'SELECT * FROM admin_user LIMIT 5' を実行する」
  2. 「データベースで有効になっているモジュールをすべて表示する」
  3. 「ストアの現在の設定値を確認する」
Magento 開発
  1. 「プロジェクトで Magento コマンド 'cache:flush' を実行する」
  2. 「Magento のインストール環境で 'setup:upgrade' を実行する」
  3. 「利用可能な Magento CLI コマンドをすべて一覧表示する」
プロジェクトの初期化
  1. 「'my-store' という名前で新しい Magento 2.4.7 プロジェクトを初期化する」
  2. 「最新バージョンの Magento プロジェクトを /Users/dev/projects に作成する」
Composer 操作
  1. 「プロジェクトで Composer を使って依存関係をインストールする」
  2. 「プロジェクトで symfony/console パッケージを要求する」
出力ファイルへのリダイレクト
  1. 「setup:upgrade を実行し、調査用に出力をファイルに保存する」
  2. 「composer install を実行し、出力をログファイルに保存する」
Roll Inspector

これらのプロンプトは読み取り専用です。Inspector ツールが何かを消去、フラッシュ、切り替えすることはありません。 16. 「/category-1.html が遅いのはなぜですか? Inspector のトレースを確認してください」 17. 「このプロジェクトの Inspector のホットスポットを表示してください」 18. 「このプロジェクトで同じ SQL クエリが繰り返されている(N+1)ルートはどれですか?」 19. 「RabbitMQ は正常ですか? Inspector に概要を確認してもらってください」 20. 「/checkout/cart への直近のリクエストは Varnish MISS でしたか? その理由も教えてください」

開発

# Start in development mode with debugging
npm run dev

# Run tests
npm test

テスト

MCP Inspector を使ってサーバーをテストできます。

npx @modelcontextprotocol/inspector node server.js

コントリビューション

  1. dockergiant/rolldev-mcp-server からリポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。

サポート

問題が発生した場合や質問がある場合は、以下をご確認ください。

  1. GitHub Issues セクションを確認する
  2. modelcontextprotocol.io の MCP ドキュメントを参照する
  3. 詳細な再現手順を記載して、新しい issue を作成する
手を振る Disrex T-Rex のマスコット

スポンサー

Disrex のロゴ

コメント

MCP は初めてですか?

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

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