Warden Magento MCP Server
# 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
1. Clone or download this repository
2. Install dependencies:
```bash
npm install
```
3. Configure your MCP client (see Configuration section below)
## Configuration
### MCP Client Configuration
Add the following configuration to your MCP client settings:
```json
{
"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`:
```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:
```json
{
"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 initialized
- `project_name` (required): Name for the Warden environment
- `environment_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 directory
- `query` (required): SQL query to execute
- `database` (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 directory
- `script_path` (required): Path to the PHP script relative to project root
- `args` (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 directory
- `command` (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 directory
- `config_file` (optional): PHPUnit configuration file (auto-detects phpunit.xml.dist or phpunit.xml)
- `test_path` (optional): Path to specific test file or directory
- `extra_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 directory
- `command` (required): Composer command to execute
**Common Commands:**
- `install` - Install dependencies
- `update` - Update dependencies
- `require package/name` - Add new dependency
- `remove package/name` - Remove dependency
- `require-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](https://github.com/wardenenv/warden) - The Docker-based development environment
- [Model Context Protocol](https://github.com/modelcontextprotocol) - The protocol specification
- [Magento 2](https://github.com/magento/magento2) - The e-commerce platform
TDQS
Scored across 11 tools
Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific action within the Warden Magento environment, such as running commands, managing projects, or controlling services. The descriptions clearly differentiate between database queries, Composer commands, Magento CLI operations, and environment management tasks.
All tools follow a perfect 'warden_verb_noun' pattern throughout. The naming is completely consistent with snake_case used uniformly across all 11 tools. This predictable pattern makes it easy for agents to understand and select the right tool for each operation.
The 11 tools are well-scoped and appropriate for a Magento development environment server. Each tool earns its place by covering essential operations like project initialization, environment management, command execution, and testing. The count is neither too sparse nor overwhelming for the domain.
The tool surface provides complete coverage for Magento development workflows in Warden environments. It includes project lifecycle management (init, start, stop), command execution (Composer, Magento CLI, PHP scripts), database operations, testing capabilities, and service management. No obvious gaps exist for the stated purpose.