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.
- 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
- 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
- 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
- RollDev installed and configured
- Node.js 18+
- Active RollDev project environments (for some operations)
{
"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
- Clone this repository:
git clone https://github.com/dockergiant/rolldev-mcp-server.git
cd rolldev-mcp-server- Install dependencies:
npm install- Add to Claude configuration:
{
"mcpServers": {
"rolldev": {
"command": "node",
"args": ["/path/to/rolldev-mcp-server/server.js"]
}
}
}Lists all running RollDev environments with structured information including project names, paths, URLs, Docker networks, and container counts.
Starts a RollDev project environment.
- project_path: Path to the project directory
Stops a RollDev project environment.
- project_path: Path to the project directory
Starts RollDev system services.
- project_path: Path to the project directory
Stops RollDev system services.
- project_path: Path to the project directory
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")
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)
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)
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)
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)
Here are some example interactions you can try with Claude after setting up the RollDev MCP server:
- "Can you list all my RollDev environments?"
- "Start the project at /path/to/my-magento-project"
- "Stop the services for my current project"
- "Run the query 'SELECT * FROM admin_user LIMIT 5' in my project"
- "Show me all enabled modules in the database"
- "Check the current configuration values for my store"
- "Execute 'cache:flush' Magento command in my project"
- "Run 'setup:upgrade' on my Magento installation"
- "List all available Magento CLI commands"
- "Initialize a new Magento 2.4.7 project called 'my-store'"
- "Create a Magento project with the latest version in /Users/dev/projects"
- "Install dependencies with Composer in my project"
- "Require the symfony/console package in my project"
- "Run setup:upgrade and save the output to a file for investigation"
- "Execute composer install with output saved to a log file"
# Start in development mode with debugging
npm run dev
# Run tests
npm testYou can test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector node server.js- Fork the repository from dockergiant/rolldev-mcp-server
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the GitHub Issues section
- Consult the MCP documentation at modelcontextprotocol.io
- Open a new issue with detailed reproduction steps
