README
🚀 Warden Magento MCP 服务器
这是一个全面的模型上下文协议(MCP)服务器,可实现 AI 助手与 Warden + Magento 2 开发环境的无缝集成。该服务器使 AI 助手能够直接与由 Warden 管理的 Magento 项目进行交互,自动执行常见的开发任务,并为复杂的工作流程提供智能辅助。
✨ 主要特性
此 MCP 服务器通过以下功能,将您的 AI 助手转变为 Warden + Magento 2 项目强大的开发伙伴:
- 🚀 项目初始化:创建具有可定制 Magento 2 环境的新 Warden 项目。
- 🔧 环境管理:通过智能状态管理启动/停止项目和服务。
- 🗄️ 数据库操作:直接在容器化数据库中执行 SQL 查询。
- 🐘 PHP 开发工具:在配置完善的容器化环境中运行 PHP 脚本。
- 🛠️ Magento CLI 集成:在容器内无缝执行 Magento 命令。
- 🧪 单元测试支持:通过自动检测配置运行 PHPUnit 测试。
- 📦 Composer 集成:在容器内通过完整的命令支持管理依赖项。
- 📊 环境监控:列出并监控正在运行的 Warden 环境。
📦 安装指南
- 克隆或下载此仓库。
- 安装依赖项:
npm install
- 配置您的 MCP 客户端(请参阅下面的“配置”部分)。
📚 详细文档
MCP 客户端配置
将以下配置添加到您的 MCP 客户端设置中:
{
"mcpServers": {
"warden-magento": {
"command": "node",
"args": ["/absolute/path/to/warden-mcp-server/server.js"],
"env": {}
}
}
}
重要提示:请将 /absolute/path/to/warden-mcp-server/server.js 替换为您系统上 server.js 文件的实际绝对路径。
针对 Claude Desktop
添加到您的 claude_desktop_config.json 文件中:
{
"mcpServers": {
"warden-magento": {
"command": "node",
"args": ["/Users/your-username/path/to/warden-mcp-server/server.js"]
}
}
}
针对 Zed 编辑器
添加到您的 Zed 设置中:
{
"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"]
}
}
}
💻 使用示例
配置完成后,您的 AI 助手可以自动使用这些工具来协助进行 Warden + Magento 开发任务。只需描述您想要完成的任务,AI 就会使用相应的工具。
可用工具
环境管理
| 工具名称 | 功能描述 | 参数 | 使用场景 |
| ---- | ---- | ---- | ---- |
| warden_list_environments | 列出所有正在运行的 Warden 环境及其目录和状态信息。 | 无 | - 检查当前正在运行的环境
- 获取其他操作的项目路径
- 监控环境状态 |
| warden_start_project | 启动 Warden 项目环境,启动所有配置的容器。 | project_path(必需):项目目录的路径 | - 启动开发环境
- 恢复项目工作
- 系统重启后启动服务 |
| warden_stop_project | 停止 Warden 项目环境,关闭所有项目容器。 | project_path(必需):项目目录的路径 | - 干净地关闭开发环境
- 释放系统资源
- 为系统维护做准备 |
| warden_start_svc | 启动 Warden 系统服务(如 DNS、代理等共享基础设施)。 | project_path(必需):项目目录的路径 | - 初始化 Warden 基础设施
- 系统重启后启动共享服务
- 为项目启动准备环境 |
| warden_stop_svc | 停止 Warden 系统服务。 | project_path(必需):项目目录的路径 | - 干净地关闭 Warden 基础设施
- 排查服务冲突问题
- 系统维护 |
项目初始化
| 工具名称 | 功能描述 | 参数 | 使用场景 |
| ---- | ---- | ---- | ---- |
| warden_init_project | 初始化一个具有完全配置的 Magento 2 环境的新 Warden 项目。 | project_path(必需):项目应初始化的路径project_name(必需):Warden 环境的名称environment_type(可选):环境类型(默认:"magento2")php_version(可选):PHP 版本(默认:"8.3")mysql_distribution(可选):MySQL 发行版(默认:"mariadb")mysql_version(可选):MySQL 版本(默认:"10.6")node_version(可选):Node.js 版本(默认:"20")composer_version(可选):Composer 版本(默认:"2")opensearch_version(可选):OpenSearch 版本(默认:"2.12")redis_version(可选):Redis 版本(默认:"7.2")enable_redis(可选):启用 Redis(默认:true)enable_opensearch(可选):启用 OpenSearch(默认:true)enable_varnish(可选):启用 Varnish(默认:true)enable_rabbitmq(可选):启用 RabbitMQ(默认:true)enable_xdebug(可选):启用 Xdebug(默认:true) | - 设置新的 Magento 2 开发环境
- 创建具有特定 PHP/MySQL 版本的项目
- 为特定需求配置环境
- 使用自定义服务栈初始化项目 |
数据库操作
| 工具名称 | 功能描述 | 参数 | 使用场景 |
| ---- | ---- | ---- | ---- |
| warden_db_query | 直接在 Warden 数据库容器中执行 SQL 查询。 | project_path(必需):项目目录的路径query(必需):要执行的 SQL 查询database(可选):数据库名称(默认:"magento") | - 执行数据库查询以进行调试
- 检索数据进行分析
- 执行数据库维护任务
- 检查数据库架构或数据 |
PHP 开发
| 工具名称 | 功能描述 | 参数 | 使用场景 |
| ---- | ---- | ---- | ---- |
| warden_php_script | 在配置好环境的 php-fpm 容器内运行 PHP 脚本。 | project_path(必需):项目目录的路径script_path(必需):相对于项目根目录的 PHP 脚本路径args(可选):传递给脚本的额外参数 | - 执行自定义 PHP 脚本
- 运行数据迁移脚本
- 测试 PHP 功能
- 执行维护脚本 |
Magento CLI
| 工具名称 | 功能描述 | 参数 | 使用场景 |
| ---- | ---- | ---- | ---- |
| warden_magento_cli | 在 php-fpm 容器内执行 Magento CLI 命令。 | project_path(必需):项目目录的路径command(必需):Magento CLI 命令(无需 'bin/magento' 前缀)args(可选):命令的额外参数 | - 运行缓存操作(cache:clean、cache:flush)
- 执行设置命令(setup:upgrade、setup:di:compile)
- 管理配置(config:set、config:show)
- 运行索引操作(indexer:reindex)
- 模块管理(module:enable、module:disable) |
测试
| 工具名称 | 功能描述 | 参数 | 使用场景 |
| ---- | ---- | ---- | ---- |
| warden_run_unit_tests | 在 php-fpm 容器内通过自动检测配置运行 PHPUnit 测试。 | project_path(必需):项目目录的路径config_file(可选):PHPUnit 配置文件(自动检测 phpunit.xml.dist 或 phpunit.xml)test_path(可选):特定测试文件或目录的路径extra_args(可选):额外的 PHPUnit 参数 | - 为模块运行单元测试
- 执行特定的测试套件
- 使用自定义配置运行测试
- 通过自动化测试验证代码更改 |
依赖管理
| 工具名称 | 功能描述 | 参数 | 常用命令 | 使用场景 |
| ---- | ---- | ---- | ---- | ---- |
| warden_composer | 在 php-fpm 容器内执行 Composer 命令。 | project_path(必需):项目目录的路径command(必需):要执行的 Composer 命令 | - install - 安装依赖项
- update - 更新依赖项
- require package/name - 添加新依赖项
- remove package/name - 删除依赖项
- require-commerce - 安装 Adobe Commerce(如适用)
- dump-autoload - 重新生成自动加载器 | - 安装项目依赖项
- 向项目添加新包
- 更新现有依赖项
- 管理自动加载
- 安装 Adobe Commerce 组件 |
先决条件
- Warden:必须在您的系统上安装并配置。
- Docker:Warden 正常运行所需。
- Node.js:版本 18.0.0 或更高。
- MCP 客户端:兼容的 MCP 客户端(Claude Desktop、Zed 等)。
故障排除
对于此 MCP 服务器的特定问题,请检查:
- 运行
npm start时的服务器日志。 - MCP 客户端日志以排查连接问题。
- Docker 容器日志:
warden env logs。 - MCP 服务器检查器:https://github.com/modelcontextprotocol/inspector
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
贡献
欢迎贡献代码!请随时提交问题和拉取请求。
相关项目
- Warden - 基于 Docker 的开发环境。
- Model Context Protocol - 协议规范。
- Magento 2 - 电子商务平台。
Scan to join WeChat group