DDEV MCP
A. 生产就绪 模型上下文协议(MCP)服务器,为AI助手提供DDEV开发环境自动化。使用官方MCP SDK使用TypeScript构建。
\*\*13个基本工具\*\*
针对AI模型优化的简化工具集。支持所有DDEV项目类型,包括Drupal、WordPress、Laravel、Symfony、TYPO3、CakePHP、Magento等等 ddev_exec 命令!
完成DDEV开发自动化
此DDEV MCP服务器为任何web项目提供全面的开发环境自动化:
- 环境管理:启动、停止、重新启动DDEV项目
- 数据库操作:导入/导出、快照、迁移
- CMS特定工作流程:Drupal、WordPress、Laravel等
文档
- 工具参考 --每个MCP工具的功能、参数和完整内容
ddev help输出。使用此功能查看AI看到的内容以及工具如何映射到DDEV CLI。
特性
环境管理
- 启动、停止、重新启动DDEV项目
- 获取项目状态和详细信息
- 访问容器日志和SSH进入服务
数据库操作
- 导入/导出各种格式的数据库
- 支持压缩数据库文件
- 在多数据库设置中针对特定数据库
命令执行器(exec)
- 单
ddev_exec工具 处理所有CMS/框架命令 - 猪跑:执行Drush命令(
drush cr,drush cex等等) - WordPress:WP-CLI命令(
wp plugin list,wp core update等等) - 拉瑞维尔:Artisan命令(
php artisan migrate等等) - 交响乐:控制台命令(
symfony console cache:clear等等) - 作曲家:包管理(
composer install,composer update等等) - Redis、Solr、MySQL:直接服务命令
- 测试:剧作家、赛普拉斯、PHPUnit和定制测试跑者
- 还有更多:任何可以在DDEV容器中运行的命令!
生产就绪
- 彻底的错误处理和记录
- 输入验证和净化
- TypeScript用于类型安全
- 危险指挥保护:内置安全系统,用于影响生产的命令
安装
先决条件
- Node.js 20+ (最好使用Node.js 22+以获得最佳性能)
- DDEV已安装并在PATH中可用
- 团队贡献的TypeScript知识
快速设置
# Install globally
npm install -g ddev-mcp
# Or run directly with npx
npx ddev-mcp --help
# Verify installation
ddev-mcp --versionNode.js版本要求
- 最小:Node.js 20.0.0+
- 推荐:Node.js 22.0.0+(为了获得最佳性能和最新功能)
- 检查您的版本:
node --version
开发设置
git clone git@github.com:codingsasi/ddev-mcp.git
cd ddev-mcp
npm install
npm run build
npm run dev配置
MCP客户端配置
添加到您的 ~/.cursor/mcp.json:
{
"mcpServers": {
"ddev": {
"command": "npx",
"args": ["ddev-mcp"],
"env": {
"ALLOW_DANGEROUS_COMMANDS": "false" // true if you want ddev to run commands like `platform redeploy -emaster`
},
}
}
}无需额外配置!服务器会自动检测您的DDEV项目。
环境变量
# Optional: Configure logging level
export DDEV_MCP_LOG_LEVEL="DEBUG"
# Optional: Max buffer size in bytes for command output (default: 2097152 = 2 MiB).
# If a command's stdout+stderr exceeds this, Node throws ERR_CHILD_PROCESS_STDIO_MAXBUFFER.
export DDEV_MCP_MAX_BUFFER="4194304"
# Safety: Allow dangerous commands (default: false)
export ALLOW_DANGEROUS_COMMANDS="true"危险指挥保护
DDEV MCP服务器内置了对可能影响生产环境的危险命令的保护:
- Platform.sh命令 喜欢
environment:redeploy,environment:delete默认情况下被阻止 - 数据库操作 可以删除数据的内容受到保护
- 文件操作 可以删除重要文件的文件受到保护
启用危险命令
要允许危险命令(小心使用):
export ALLOW_DANGEROUS_COMMANDS="true"添加新的危险命令
贡献者可以轻松地在中添加危险的命令模式 src/config/dangerous-commands.ts。参见 危险_命令.md 详细说明。
简单的目录处理
DDEV MCP服务器在 当前工作目录 原理:
- 在调用MCP服务器的任何目录中运行命令
- 无需复杂的目录检测或配置
- 用户通过导航到正确的目录来控制上下文
CMS特定开发用途(通过ddev_exec)
# Drupal
"Use ddev mcp to clear Drupal cache"
"Use ddev mcp to execute drush cex to export configuration"
"Use ddev mcp to use drush uli to get a one-time login link"
# WordPress
"Use ddev mcp to install and activate the Akismet plugin with wp plugin install"
"ddev mcp: Run wp core update to update WordPress"
"ddev mcp: Run wp cache flush to clear caches"
# Composer
"Use ddev mcp to run composer install using ddev_exec"
"ddev mcp: Update packages with composer update"你可以做的其他事情
"DDEV MCP: Start fresh development environment with latest DB"
"DDEV MCP: Enable debug mode and clear cache for debugging"
"DDEV MCP: Import test data for testing"
# Add-on specific workflows (via ddev_exec)
"DDEV MCP: Clear Redis cache with redis-cli FLUSHALL"
"DDEV MCP: Check Redis memory with redis-cli INFO memory"
"DDEV MCP: Query Solr with curl commands"
"DDEV MCP: Run MySQL queries with mysql -e"
"DDEV MCP: Execute Playwright tests"
# Directory navigation workflows
"DDEV MCP: Go to my WordPress project at ~/Projects/mysite and start it"
"DDEV MCP: Navigate to /home/user/drupal-site directory and check project status"
"DDEV MCP: Go to the correct project folder and run database import"可用工具
项目管理(启动、停止、重启、描述、列表、日志)、数据库(导入、导出、快照)、, ddev_exec 适用于任何容器内命令(Drush、WP-CLI、Composer等),以及 ddev_help, ddev_version, ddev_poweroff,以及 message_complete_notification.完整列表,包括论点和 ddev help 输出: 工具参考.
开发与测试
构建和测试
- 将仓库克隆到
/path/to/repo/for/ddev-mcp/ - 跑
npm run build - 并将以下内容添加到mcp.json文件中。
{
"mcpServers": {
"ddev": {
"command": "npx",
"args": [
"/path/to/repo/for/ddev-mcp/dist/index.js"
],
"env": {
"DDEV_MCP_LOG_LEVEL": "INFO"
},
},
}
}建筑
项目结构
src/
├── server/ # MCP server implementation
│ ├── index.ts # Main server class
│ └── tools.ts # Tool definitions and validation
├── ddev/ # DDEV operations
│ └── operations.ts # Core DDEV command implementations
├── utils/ # Utilities
│ ├── logger.ts # Structured logging
│ └── command.ts # Safe command execution
├── types/ # TypeScript definitions
│ └── index.ts # Type definitions
└── index.ts # CLI entry point贡献
该项目旨在通过熟悉的JavaScript/TypeScript模式进行团队协作:
- 分叉和克隆:标准GitHub工作流程
- 再进行:
npm install - 构建:
npm run build - 进行更改:遵循现有模式
- 测试:手动(在您的ddev项目中使用)
- 提交PR:描述清晰
编码标准
- TypeScript严格模式已启用
- ESLint一致性配置
- 全面的错误处理
- 新功能的单元测试
- 文档更新
🙏 致谢
- 与官方合作建造 模型上下文协议SDK
- 设计用于 DDEV 开发环境
______________________________________________________________________
外部资源
- DDEV CMS快速入门 -官方DDEV项目类型文档
- DDEV文档 -地方发展环境指南
准备好在任何web项目中借助人工智能辅助来增强您的DDEV开发工作流程! 🚀
