mcpField
D
Docker Techstack Rolldev Mcp Server

Docker Techstack Rolldev Mcp Server

Local
github.com/dockergiantCloud & Infra0Updated 1w ago

About Docker Techstack Rolldev Mcp Server

An MCP server for Magento 2 projects running in RollDev environments. It lets AI clients manage environments and services, run development commands, initialize projects, and inspect read-only performance diagnostics.

Key features

  1. 01Manage RollDev environments and services
  2. 02Run SQL, PHP, Magento CLI, and Composer commands
  3. 03Initialize Magento 2 projects
  4. 04Query Inspector health and performance traces
  5. 05Save command output to log files

Use cases

  1. 01Start or stop a Magento project environment
  2. 02Query a project database or run upgrade commands
  3. 03Investigate slow routes, repeated queries, and service health

MCP support

The server exposes RollDev environment management, development operations, and Inspector query tools to compatible MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"rolldev": {
"command": "npx",
"args": [
"-y",
"@disrex/rolldev-mcp-server"
]
}
}
}
Run commandnpx -y @disrex/rolldev-mcp-server

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@disrex/rolldev-mcp-server

Tools

10

Saved tool list · updated 3w ago

This tool takes no parameters.

Details

From the project README

RollDev MCP Server

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

Trust Score

A Model Context Protocol (MCP) server for RollDev + Magento 2 development environments. This server enables Claude and other LLMs to interact with RollDev projects, manage environments, execute commands, and initialize new Magento 2 projects seamlessly.

Features

Environment Management
  • Environment Control: List, start, and stop RollDev project environments
  • Service Management: Control RollDev system services (database, Redis, OpenSearch, etc.)
  • Project Initialization: Create new Magento 2 projects with automatic configuration
Development Tools
  • Database Operations: Execute SQL queries directly in project databases
  • PHP Script Execution: Run PHP scripts within project containers
  • Magento CLI Access: Execute Magento commands through roll magento
  • Composer Integration: Run Composer commands in project environments
Reliability Features
  • Command Timeouts: All commands have appropriate timeouts to prevent hanging (5-15 min depending on operation)
  • Output File Redirection: Option to save command output to log files for later investigation

Prerequisites

  • RollDev installed and configured
  • Node.js 18+
  • Active RollDev project environments (for some operations)

Installation

Option 1: Using NPM (Recommended)
{
  "mcpServers": {
    "rolldev": {
      "command": "npx",
      "args": [
        "-y",
        "@disrex/rolldev-mcp-server"
      ]
    }
  }
}

Add this configuration to your Claude for Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Option 2: Manual Setup
  1. Clone this repository:
git clone https://github.com/dockergiant/rolldev-mcp-server.git
cd rolldev-mcp-server
  1. Install dependencies:
npm install
  1. Add to Claude configuration:
{
  "mcpServers": {
    "rolldev": {
      "command": "node",
      "args": ["/path/to/rolldev-mcp-server/server.js"]
    }
  }
}

Available Tools

rolldev_list_environments

Lists all running RollDev environments with structured information including project names, paths, URLs, Docker networks, and container counts.

rolldev_start_project

Starts a RollDev project environment.

  • project_path: Path to the project directory
rolldev_stop_project

Stops a RollDev project environment.

  • project_path: Path to the project directory
rolldev_start_svc

Starts RollDev system services.

  • project_path: Path to the project directory
rolldev_stop_svc

Stops RollDev system services.

  • project_path: Path to the project directory
rolldev_db_query

Executes SQL queries in project databases.

  • project_path: Path to the project directory
  • query: SQL query to execute
  • database: Database name (optional, defaults to "magento")
rolldev_php_script

Runs PHP scripts inside project containers.

  • project_path: Path to the project directory
  • script_path: Path to PHP script relative to project root
  • args: Additional arguments (optional)
rolldev_magento_cli

Executes Magento CLI commands (5 minute timeout).

  • project_path: Path to the project directory
  • command: Magento command (without 'bin/magento' prefix)
  • args: Additional arguments (optional)
  • save_output_to_file: Save full output to a log file (optional, default: false)
rolldev_composer

Runs Composer commands in project environments (10 minute timeout).

  • project_path: Path to the project directory
  • command: Composer command (e.g., "install", "update", "require symfony/console")
  • save_output_to_file: Save full output to a log file (optional, default: false)
rolldev_magento2_init

Initializes new Magento 2 projects with automatic configuration (15 minute timeout).

  • project_name: Project name (lowercase, letters, numbers, hyphens only)
  • magento_version: Magento version (optional, defaults to "2.4.x")
  • target_directory: Target directory (optional, defaults to current directory)
Roll Inspector tools (read-only)

These tools read from Roll Inspector (https://inspector.<TRAEFIK_DOMAIN>) and never change the environment. Each takes project_path, reads ROLL_ENV_NAME, TRAEFIK_DOMAIN and ROLL_INSPECTOR the way roll does (${ROLL_HOME_DIR:-~/.roll}/.env.roll, then .env there, then the nearest project .env.roll, each overriding the one before), and accepts save_output_to_file like the tools above. Output is compact text plus a JSON block. Anything over 60,000 characters is cut off with a hint to use save_output_to_file.

ToolReturns
rolldev_inspector_overviewService health, warnings and their copyable fixes
rolldev_inspector_tracesTrace list with cost split per category. Filters: route, min_ms, sort, limit
rolldev_inspector_traceAnalysis of one trace id: cost per category, hot spans, repeated (N+1) calls, slowest calls. Raw spans only with include_spans, capped at 200 by self time
rolldev_inspector_hotspotsSlowest routes, most expensive operations and repeated calls across all stored traces. limit sets the rows per section
rolldev_inspector_requestTimeline entry for a url (or xid): Varnish result and the PHP, cache and search lanes. limit returns more matches, newest first
rolldev_inspector_servicesection health (default) or info of kind varnish, redis, search or rabbitmq

Connection details:

  • The tool connects with node:https and trusts roll's root CA from ${ROLL_SSL_DIR}/rootca/certs/ca.cert.pem. ROLL_SSL_DIR defaults to ${ROLL_HOME_DIR}/ssl and ROLL_HOME_DIR to ~/.roll, as in bin/roll. Set either variable in the MCP server's environment to override.
  • Requests time out after 10 seconds.
  • With ROLL_INSPECTOR unset or 0, the tool answers with the fix: set ROLL_INSPECTOR=1 in .env.roll and run roll env up.
  • It reports a stopped Inspector container (roll env up), certificate problems (roll sign-certificate <domain>), an unresolvable host and a 403 from the gate in plain words.
  • rolldev_inspector_trace and rolldev_inspector_hotspots need an Inspector image with the analysis and hotspots endpoints. Older images get a message to update.

Trace and hotspot answers need the project's .env.roll to have ROLL_INSPECTOR=1 and ROLL_INSPECTOR_TRACE=1. Varnish HITs have no trace, so rolldev_inspector_request finds nothing for them. User docs: roll-docker-stack/docs/inspector/api-and-extensions.md.

The logic lives in inspector.cjs, and test/inspector.test.js runs it against a fake transport.

Examples

Here are some example interactions you can try with Claude after setting up the RollDev MCP server:

Basic Environment Management
  1. "Can you list all my RollDev environments?"
  2. "Start the project at /path/to/my-magento-project"
  3. "Stop the services for my current project"
Database Operations
  1. "Run the query 'SELECT * FROM admin_user LIMIT 5' in my project"
  2. "Show me all enabled modules in the database"
  3. "Check the current configuration values for my store"
Magento Development
  1. "Execute 'cache:flush' Magento command in my project"
  2. "Run 'setup:upgrade' on my Magento installation"
  3. "List all available Magento CLI commands"
Project Initialization
  1. "Initialize a new Magento 2.4.7 project called 'my-store'"
  2. "Create a Magento project with the latest version in /Users/dev/projects"
Composer Operations
  1. "Install dependencies with Composer in my project"
  2. "Require the symfony/console package in my project"
Output File Redirection
  1. "Run setup:upgrade and save the output to a file for investigation"
  2. "Execute composer install with output saved to a log file"
Roll Inspector

These prompts only read; no Inspector tool purges, flushes or switches anything. 16. "Why is /category-1.html slow? Check the Inspector trace" 17. "Show the Inspector hotspots for this project" 18. "Which routes in this project repeat the same SQL query (N+1)?" 19. "Is RabbitMQ healthy? Ask Inspector for the overview" 20. "Was the last request to /checkout/cart a Varnish MISS, and why?"

Development

# Start in development mode with debugging
npm run dev

# Run tests
npm test

Testing

You can test the server using the MCP Inspector:

npx @modelcontextprotocol/inspector node server.js

Contributing

  1. Fork the repository from dockergiant/rolldev-mcp-server
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions:

  1. Check the GitHub Issues section
  2. Consult the MCP documentation at modelcontextprotocol.io
  3. Open a new issue with detailed reproduction steps
Disrex T-Rex Mascot Waving

Sponsored by

Disrex Logo

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.