Warden Magento MCP Server
Provides tools to interact with Redis, such as flushing all Redis caches (use with caution).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Warden Magento MCP Serverclear the Magento cache"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Warden Magento MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with safe, structured access to Magento 2 operations within Warden environments. Each server instance is bound to a specific Warden project, eliminating confusion when working with multiple environments.
When working with Magento code with this tool enabled, good AI models will call the appropriate tools after edits. The AI knows when to clear cache, run di:compile, and run static:deploy better than most developers. This saves considerable time and eliminates context switching. It also makes accessing logs easier, which is normally a minor pain to do manually.
✨ Features
🎯 Project-specific servers: Each instance serves one Warden environment
🔧 Comprehensive Magento tools: Cache management, setup, deployment, indexing
🐳 Warden integration: Direct container execution via
warden env exec🏷️ Clear identification: All responses show which project was targeted
📊 Production logging: Winston-based logging with file rotation
🔒 Safe execution: Structured inputs only, no arbitrary shell access
Related MCP server: Warden Magento MCP Server
🚀 Quick Start
Option 1: Install from npm (Recommended)
# Install globally
npm install -g mcp-warden-magento
# Or use directly with npx
npx mcp-warden-magento --warden-root /Users/yourname/Documents/GitLab/warden-envsOption 2: Build from source
Install dependencies
pnpm installBuild the project
pnpm run buildTest with MCP Inspector
npx @modelcontextprotocol/inspector mcp-warden-magento --warden-root /Users/yourname/Documents/GitLab/warden-envsDevelopment Mode
For development with auto-reload (local terminal use only):
pnpm run dev --warden-root /Users/yourname/Documents/GitLab/warden-envsNote: pnpm run dev outputs startup messages that break MCP Inspector's stdio protocol. Use the built version (node dist/index.js) for MCP Inspector and client configurations.
📋 Requirements
Node.js ≥ 18
Warden installed and services running (
brew install wardenenv/warden/warden && warden svc up)Warden Magento 2 projects initialized (
warden env-init) and started (warden env start)
⚠️ Important: Zod Compatibility
This project requires Zod 3.x for MCP SDK compatibility. If you encounter keyValidator._parse is not a function errors:
pnpm remove zod && pnpm add zod@^3.23.8
pnpm run build🎯 Primary Supported Clients
1. Cursor IDE (Recommended)
Installation:
Open Cursor settings:
Cmd/Ctrl + ,Search for "MCP" or go to Extensions → MCP
Add server configurations to your workspace or user settings
Configuration Example:
{
"mcp.servers": {
"warden-magento": {
"command": "npx",
"args": ["mcp-warden-magento", "--warden-root", "/Users/yourname/Documents/GitLab/warden-envs"]
},
"warden-anotherwarden": {
"command": "npx",
"args": [
"mcp-warden-magento",
"--warden-root",
"/Users/yourname/Documents/GitLab/anotherwarden/warden-envs-anotherwarden"
]
}
}
}Alternative: Using global installation
{
"mcp.servers": {
"warden-magento": {
"command": "mcp-warden-magento",
"args": ["--warden-root", "/Users/yourname/Documents/GitLab/warden-envs"]
}
}
}Usage in Cursor:
Use
@warden-magentoto target the magento projectUse
@warden-anotherwardento target the anotherwarden projectExample: "Hey @warden-magento, clear the config cache"
2. Claude Desktop
Installation:
Locate your Claude Desktop config:
~/Library/Application Support/Claude/claude_desktop_config.jsonAdd MCP server entries
Configuration Example:
{
"mcpServers": {
"warden-magento": {
"command": "npx",
"args": ["mcp-warden-magento", "--warden-root", "/Users/yourname/Documents/GitLab/warden-envs"]
},
"warden-anotherwarden": {
"command": "npx",
"args": [
"mcp-warden-magento",
"--warden-root",
"/Users/yourname/Documents/GitLab/anotherwarden/warden-envs-anotherwarden"
]
}
}
}Usage in Claude Desktop:
Restart Claude Desktop after configuration changes
Claude will automatically detect available tools from both servers
All responses include project identification:
[magento2 @ magento2.test]
3. Claude Code (VS Code Extension)
Installation:
Install the Claude Code extension from VS Code marketplace
Configure MCP servers in VS Code settings
Configuration Example:
Add to your VS Code settings.json:
{
"claude-code.mcpServers": {
"warden-magento": {
"command": "npx",
"args": ["mcp-warden-magento", "--warden-root", "/Users/yourname/Documents/GitLab/warden-envs"]
},
"warden-anotherwarden": {
"command": "npx",
"args": [
"mcp-warden-magento",
"--warden-root",
"/Users/yourname/Documents/GitLab/anotherwarden/warden-envs-anotherwarden"
]
}
}
}Usage in Claude Code:
Use Claude Code commands to interact with Magento environments
Each server appears as a separate MCP connection
Project identification helps distinguish between environments
🛠️ Available Tools
Magento Operations
magento.cacheClean— Clean Magento cache typesmagento.cacheFlush— Flush Magento cache storagemagento.setupUpgrade— Run setup:upgrade + cache cleanmagento.diCompile— Compile dependency injectionmagento.staticDeploy— Deploy static contentmagento.indexerReindex— Reindex all indexersmagento.modeShow/magento.modeSet— Show/set deploy modemagento.configSet/magento.configShow— Manage configuration
Warden Operations
warden.exec— Execute commands in containerswarden.varnishFlush— Clear Varnish cachewarden.redisFlushAll— Flush Redis (use with caution)warden.logsTail— View recent container logswarden.showEnv— Display sanitized environment variableswarden.projectInfo— Show current project information
🏗️ Multi-Project Setup
Your GitLab Layout
~/Documents/GitLab/
├──
│ ├── warden-envs/ # ← Point --warden-root here
│ ├── app/
│ └── ...
└── anotherwarden/
├── warden-envs-anotherwarden/ # ← Point --warden-root here
├── app/
└── ...Running Multiple Servers
# Terminal 1: magento server
npx mcp-warden-magento --warden-root /Users/yourname/Documents/GitLab/warden-envs
# Terminal 2: anotherwarden server
npx mcp-warden-magento --warden-root /Users/yourname/Documents/GitLab/anotherwarden/warden-envs-anotherwarden
# Or if installed globally:
mcp-warden-magento --warden-root /Users/yourname/Documents/GitLab/warden-envsBenefits
✅ Clear server names:
warden-magento-magentovswarden-magento-anotherwarden✅ No parameter confusion: No need to specify project in every tool call
✅ Concurrent usage: Run operations on both projects simultaneously
✅ Project identification: All responses prefixed with
[project/env @ domain]
📊 Logging
Log Levels & Environment Configuration
Development (
NODE_ENV=development): Debug-level console logging with colors (disabled automatically in MCP stdio mode)Production (
NODE_ENV=production): Warning-level file logging with rotation
File Logging (Production)
When NODE_ENV=production or LOG_TO_FILE=true:
logs/mcp-warden-magento.log— All logs (JSON format, 5MB rotation)logs/mcp-warden-magento-error.log— Error logs only
Environment Variables
NODE_ENV— Set toproductionfor production loggingLOG_TO_FILE— Set totrueto enable file logging in any environmentLOG_DIR— Custom log directory (defaults to./logs)MCP_STDIO_MODE— Whentrue, disables console logging to protect MCP stdio transport
Examples
# Development with debug logging
NODE_ENV=development npx mcp-warden-magento --warden-root /path/to/warden/env
# Production with file logging
NODE_ENV=production npx mcp-warden-magento --warden-root /path/to/warden/env
# Force file logging in development
LOG_TO_FILE=true npx mcp-warden-magento --warden-root /path/to/warden/env🔧 Development
Scripts
pnpm run build— Compile TypeScript todist/pnpm run dev— Run with tsx (development only)pnpm run lint— Check code stylepnpm run format— Format code with Prettier
Testing
# Test with MCP Inspector
npx @modelcontextprotocol/inspector mcp-warden-magento --warden-root /path/to/warden/env
# Test specific tools
# In Inspector UI, try: magento.cacheClean with { "types": ["config"] }
# Or: warden.projectInfo (no parameters needed)Automated Tests
Unit tests (Vitest):
pnpm run test:unitE2E tests (Playwright):
pnpm run test:e2e
Notes:
Unit tests cover env parsing/redaction, output cleaning, and input validation.
E2E scaffolding is in place (Playwright) and ready to extend with a stubbed
wardenbinary and an MCP stdio client.
🔒 Security
Structured inputs only: All tools use Zod validation, no arbitrary shell execution
Container isolation: Commands run inside Warden containers via
warden env execEnvironment validation: Server validates Warden project structure on startup
Smart timeouts: Commands have execution timeouts (5 minutes default, 15 minutes for long operations like DI compile)
Sanitized output: Environment variables are redacted in logs and responses
🚨 Troubleshooting
Common Issues
"keyValidator._parse is not a function"
Install Zod 3.x:
pnpm remove zod && pnpm add zod@^3.23.8
"WARDEN_ENV_NAME missing"
Ensure you're pointing to the correct warden environment folder
Run
warden env-initin your Magento project if needed
"Command not found: warden"
Install Warden?
Start services:
warden svc up
MCP client can't connect
Ensure absolute paths in client configuration
Check that the built
dist/index.jsfile existsVerify Node.js ≥ 18 is installed
"Request timed out" for DI compile or static deploy
These operations can take 10-20 minutes on large projects
MCP Inspector: Increase timeout in Configuration →
MCP_SERVER_REQUEST_TIMEOUTto 1200000 (20 minutes)Cursor/Claude: The server automatically extends timeouts for long operations (20 minutes for DI compile)
If still timing out, the operation may be stuck - check Magento logs
Debug Mode
NODE_ENV=development LOG_TO_FILE=true npx mcp-warden-magento --warden-root /path/to/env
# Check logs/mcp-warden-magento.log for detailed information📦 Publishing to npm
For maintainers:
# Test the package locally
pnpm run publish:dry
# Publish to npm (requires npm login)
npm publish
# Or publish with pnpm
pnpm publishThe prepublishOnly script will automatically run tests, linting, and build before publishing.
🤝 Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
For questions or issues, please open a GitHub issue with:
Your client configuration
Server logs (with sensitive data redacted)
Steps to reproduce the problem
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/seandearnaley/mcp-warden-magento-ts'
If you have feedback or need assistance with the MCP directory API, please join our Discord server