warden-mcp-server
A Model Context Protocol (MCP) server implementation for Warden - the development environment orchestration tool for Magento, Laravel, and other PHP applications.
GitHub Stars
5
User Rating
Not Rated
Favorites
0
Views
28
Forks
1
Issues
1
Warden Magento MCP Server
A comprehensive Model Context Protocol (MCP) server that provides seamless integration between AI assistants and Warden + Magento 2 development environments. This server enables AI assistants to interact directly with your Warden-managed Magento projects, automating common development tasks and providing intelligent assistance for complex workflows.
Features
This MCP server transforms your AI assistant into a powerful development companion for Warden + Magento 2 projects by providing:
- ๐ Project Initialization: Create new Warden projects with customizable Magento 2 environments
- ๐ง Environment Management: Start/stop projects and services with intelligent state management
- ๐๏ธ Database Operations: Execute SQL queries directly in containerized databases
- ๐ PHP Development Tools: Run PHP scripts in properly configured containerized environments
- ๐ ๏ธ Magento CLI Integration: Execute Magento commands seamlessly within containers
- ๐งช Unit Testing Support: Run PHPUnit tests with automatic configuration detection
- ๐ฆ Composer Integration: Manage dependencies within containers with full command support
- ๐ Environment Monitoring: List and monitor running Warden environments
Installation
- Clone or download this repository
- Install dependencies:
npm install
- Configure your MCP client (see Configuration section below)
Configuration
MCP Client Configuration
Add the following configuration to your MCP client settings:
{
"mcpServers": {
"warden-magento": {
"command": "node",
"args": ["/absolute/path/to/warden-mcp-server/server.js"],
"env": {}
}
}
}
Important: Replace /absolute/path/to/warden-mcp-server/server.js with the actual absolute path to the server.js file on your system.
For Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"warden-magento": {
"command": "node",
"args": ["/Users/your-username/path/to/warden-mcp-server/server.js"]
}
}
}
For Zed Editor
Add to your Zed settings:
{
"assistant": {
"version": "2",
"provider": {
"name": "anthropic",
"model": "claude-3-5-sonnet-20241022"
}
},
"context_servers": {
"warden-magento": {
"command": "node",
"args": ["/Users/your-username/path/to/warden-mcp-server/server.js"]
}
}
}
Usage
Once configured, your AI assistant can automatically use these tools to help with Warden + Magento development tasks. Simply describe what you want to accomplish, and the AI will use the appropriate tools.
Available Tools
Environment Management
warden_list_environments
Lists all running Warden environments with their directories and status information.
Parameters: None
Use Cases:
- Check which environments are currently running
- Get project paths for other operations
- Monitor environment status
warden_start_project
Starts a Warden project environment, bringing up all configured containers.
Parameters:
project_path(required): Path to the project directory
Use Cases:
- Start development environment
- Resume work on a project
- Bring up services after system restart
warden_stop_project
Stops a Warden project environment, shutting down all project containers.
Parameters:
project_path(required): Path to the project directory
Use Cases:
- Clean shutdown of development environment
- Free up system resources
- Prepare for system maintenance
warden_start_svc
Starts Warden system services (shared infrastructure like DNS, proxy, etc.).
Parameters:
project_path(required): Path to the project directory
Use Cases:
- Initialize Warden infrastructure
- Start shared services after system reboot
- Prepare environment for project startup
warden_stop_svc
Stops Warden system services.
Parameters:
project_path(required): Path to the project directory
Use Cases:
- Clean shutdown of Warden infrastructure
- Troubleshoot service conflicts
- System maintenance
Project Initialization
warden_init_project
Initializes a new Warden project with a fully configured Magento 2 environment.
Parameters:
project_path(required): Path where the project should be initializedproject_name(required): Name for the Warden environmentenvironment_type(optional): Environment type (default: "magento2")php_version(optional): PHP version (default: "8.3")mysql_distribution(optional): MySQL distribution (default: "mariadb")mysql_version(optional): MySQL version (default: "10.6")node_version(optional): Node.js version (default: "20")composer_version(optional): Composer version (default: "2")opensearch_version(optional): OpenSearch version (default: "2.12")redis_version(optional): Redis version (default: "7.2")enable_redis(optional): Enable Redis (default: true)enable_opensearch(optional): Enable OpenSearch (default: true)enable_varnish(optional): Enable Varnish (default: true)enable_rabbitmq(optional): Enable RabbitMQ (default: true)enable_xdebug(optional): Enable Xdebug (default: true)
Use Cases:
- Set up new Magento 2 development environment
- Create project with specific PHP/MySQL versions
- Configure environment for specific requirements
- Initialize project with custom service stack
Database Operations
warden_db_query
Executes SQL queries directly in the Warden database container.
Parameters:
project_path(required): Path to the project directoryquery(required): SQL query to executedatabase(optional): Database name (default: "magento")
Use Cases:
- Execute database queries for debugging
- Retrieve data for analysis
- Perform database maintenance tasks
- Check database schema or data
PHP Development
warden_php_script
Runs PHP scripts inside the php-fpm container with proper environment setup.
Parameters:
project_path(required): Path to the project directoryscript_path(required): Path to the PHP script relative to project rootargs(optional): Additional arguments to pass to the script
Use Cases:
- Execute custom PHP scripts
- Run data migration scripts
- Test PHP functionality
- Execute maintenance scripts
Magento CLI
warden_magento_cli
Executes Magento CLI commands inside the php-fpm container.
Parameters:
project_path(required): Path to the project directorycommand(required): Magento CLI command (without 'bin/magento' prefix)args(optional): Additional arguments for the command
Use Cases:
- Run cache operations (cache:clean, cache:flush)
- Execute setup commands (setup:upgrade, setup:di:compile)
- Manage configuration (config:set, config:show)
- Run indexing operations (indexer:reindex)
- Module management (module:enable, module:disable)
Testing
warden_run_unit_tests
Runs PHPUnit tests inside the php-fpm container with automatic configuration detection.
Parameters:
project_path(required): Path to the project directoryconfig_file(optional): PHPUnit configuration file (auto-detects phpunit.xml.dist or phpunit.xml)test_path(optional): Path to specific test file or directoryextra_args(optional): Additional PHPUnit arguments
Use Cases:
- Run unit tests for modules
- Execute specific test suites
- Run tests with custom configuration
- Validate code changes with automated testing
Dependency Management
warden_composer
Executes Composer commands inside the php-fpm container.
Parameters:
project_path(required): Path to the project directorycommand(required): Composer command to execute
Common Commands:
install- Install dependenciesupdate- Update dependenciesrequire package/name- Add new dependencyremove package/name- Remove dependencyrequire-commerce- Install Adobe Commerce (if applicable)dump-autoload- Regenerate autoloader
Use Cases:
- Install project dependencies
- Add new packages to project
- Update existing dependencies
- Manage autoloading
- Install Adobe Commerce components
Prerequisites
- Warden: Must be installed and configured on your system
- Docker: Required for Warden to function
- Node.js: Version 18.0.0 or higher
- MCP Client: Compatible MCP client (Claude Desktop, Zed, etc.)
Troubleshooting
For issues specific to this MCP server, check:
- Server logs when running
npm start - MCP client logs for connection issues
- Docker container logs:
warden env logs - MCP Server inspector: https://github.com/modelcontextprotocol/inspector
License
MIT License - see LICENSE file for details
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
Related Projects
- Warden - The Docker-based development environment
- Model Context Protocol - The protocol specification
- Magento 2 - The e-commerce platform
41
Followers
20
Repositories
0
Gists
0
Total Contributions