一个生产就绪的模型上下文协议(MCP)服务器,为AI助手提供全面的DDEV开发环境自动化。使用官方MCP SDK用TypeScript构建。
🚀 支持47+工具实现完整的DDEV自动化
支持所有DDEV项目类型,包括Drupal、WordPress、Laravel、Symfony、TYPO3、CakePHP、Magento等!
此DDEV MCP服务器为任何Web项目提供全面的开发环境自动化:
# 全局安装
npm install -g ddev-mcp
# 或直接使用npx运行
npx ddev-mcp --help
# 验证安装
ddev-mcp --version
node --versiongit clone <repository-url>
cd ddev-mcp
npm install
npm run build
npm run dev
添加到您的~/.cursor/mcp.json:
{
"mcpServers": {
"ddev": {
"command": "npx",
"args": ["ddev-mcp"]
}
}
}
无需额外配置!服务器会自动检测您的DDEV项目。
# 可选:设置默认项目路径
export DDEV_PROJECT_PATH="/path/to/your/ddev/project"
# 可选:配置日志级别
export DDEV_MCP_LOG_LEVEL="DEBUG"
# 安全性:允许危险命令(默认:false)
export ALLOW_DANGEROUS_COMMANDS="true"
DDEV MCP服务器内置了针对可能影响生产环境的危险命令的保护机制:
environment:redeploy、environment:delete默认被阻止要允许危险命令(谨慎使用):
export ALLOW_DANGEROUS_COMMANDS="true"
贡献者可以轻松地在src/config/dangerous-commands.ts中添加危险命令模式。详情见DANGEROUS_COMMANDS.md。
DDEV MCP服务器基于当前工作目录原则运行:
# 导航到您的DDEV项目
cd /path/to/your/ddev/project
# 使用AI助手运行DDEV MCP命令
# MCP服务器将在当前目录运行DDEV命令
当与Cursor等IDE一起使用时:
如果您需要在不同的目录中运行命令:
"使用DDEV MCP启动ddev项目环境"
"获取我的DDEV项目的状态并显示URL"
"使用新鲜容器重启DDEV"
"使用DDEV MCP导入最新的生产数据库备份"
"将当前数据库导出为backup-$(date).sql.gz"
"从/path/to/dump.sql导入数据库到我的项目"
# Drupal
"使用DDEV MCP运行drush cr清除Drupal缓存"
"执行drush cex通过DDEV导出配置"
# WordPress
"使用DDEV MCP安装并激活Akismet插件"
"通过DDEV将WordPress核心更新到最新版本"
# Laravel
"使用DDEV MCP运行php artisan migrate"
"通过DDEV执行artisan cache:clear"
# Symfony
"使用DDEV MCP运行symfony console cache:clear"
"通过DDEV执行doctrine:migrations:migrate"
"DDEV MCP:启动带有最新数据库的新鲜开发环境"
"DDEV MCP:启用调试模式并清除缓存以便调试"
"DDEV MCP:导入测试数据进行测试"
# 插件特定的工作流程
"DDEV MCP:清除Redis缓存并检查内存使用情况"
"DDEV MCP:创建新的Solr核心用于测试,然后查询索引内容"
"DDEV MCP:安装Playwright浏览器进行测试"
# 目录导航工作流程
"DDEV MCP:转到我在~/Projects/mysite的WordPress项目并启动它"
"DDEV MCP:导航到/home/user/drupal-site目录并检查项目状态"
"DDEV MCP:转到正确的项目文件夹并运行数据库导入"
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_start | 启动DDEV环境 | projectPath, skipHooks |
ddev_stop | 停止DDEV环境 | projectPath |
ddev_restart | 重启DDEV环境 | projectPath |
ddev_status | 获取项目状态 | projectPath |
ddev_describe | 获取详细的项目信息 | projectPath |
ddev_list | 列出所有DDEV项目 | - |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_import_db | 导入数据库 | projectPath, src, targetDb |
ddev_export_db | 导出数据库 | projectPath, file, compressionType |
ddev_snapshot | 管理数据库快照 | projectPath, action, name |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_config | 配置DDEV项目 | projectName, projectType, docroot, phpVersion |
ddev_delete | 删除项目 | projectPath, projectName, omitSnapshot, yes |
ddev_clean | 清理DDEV项 | projectPath, all, dryRun |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_logs | 获取服务日志 | projectPath, service, tail |
ddev_ssh | 进入容器SSH | projectPath, command, service |
ddev_exec | 在容器中执行命令 | projectPath, command, service, workdir |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_import_files | 导入文件目录 | projectPath, src, extractPath |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_composer | 执行Composer命令 | projectPath, command, args |
ddev_drush | 执行Drush命令(Drupal) | projectPath, command, args |
ddev_debug | 运行调试命令 | projectPath, command |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_share | 通过ngrok共享项目 | projectPath, ngrokArgs |
ddev_hostname | 管理主机文件条目 | projectPath, action, hostname |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_poweroff | 停止所有DDEV项目 | timeout |
ddev_version | 获取DDEV版本信息 | timeout |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_go_to_project_directory | 导航到DDEV项目目录 | path, verify |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_redis_cli | 执行Redis CLI命令 | projectPath, command |
ddev_redis_info | 获取Redis服务器信息 | projectPath, section |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_solr_admin | Solr管理操作 | projectPath, action, core, configSet |
ddev_solr_query | 执行Solr搜索查询 | projectPath, core, query, rows, fields |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_playwright | 运行Playwright命令 | projectPath, action, testFilter, browser, headed |
ddev_playwright_install | 安装Playwright浏览器 | projectPath, browser, withDeps |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_drush | 执行Drush命令 | projectPath, command, args |
ddev_composer | 执行Composer命令 | projectPath, command, args |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_wp_cli | 执行WP-CLI命令 | projectPath, command, args |
ddev_wp_site_info | 获取WordPress站点信息 | projectPath |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_wp_plugin_install | 安装WordPress插件 | projectPath, plugin, activate |
ddev_wp_plugin_toggle | 激活/停用插件 | projectPath, plugin, action |
ddev_wp_plugin_list | 列出WordPress插件 | projectPath, status |
ddev_wp_plugin_manage | 综合插件管理 | projectPath, action, plugin, version |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_wp_theme_install | 安装WordPress主题 | projectPath, theme, activate |
ddev_wp_theme_activate | 激活WordPress主题 | projectPath, theme |
ddev_wp_theme_manage | 综合主题管理 | projectPath, action, theme, version |
| 工具 | 描述 | 关键参数 |
|---|---|---|
ddev_wp_user_manage | 用户操作(创建、更新、删除、列出) | projectPath, action, user, userLogin, role |
ddev_wp_core_update | 更新WordPress核心 | projectPath, version, force |
ddev_wp_rewrite_flush | 刷新重写规则 | projectPath |
ddev_wp_search_replace | 数据库搜索/替换 | projectPath, oldUrl, newUrl |
ddev_wp_maintenance | 缓存、计划任务和维护操作 | projectPath, action, enable |
可扩展架构:可以通过添加Laravel(Artisan)、Symfony(Console)、TYPO3、Magento和其他DDEV支持的框架的工具来轻松扩展。
# 构建TypeScript
npm run build
# 运行测试
npm test
# 开发模式热重载
npm run dev
# 清理构建工件
npm run clean
src/
├── server/ # MCP服务器实现
│ ├── index.ts # 主服务器类
│ └── tools.ts # 工具定义和验证
├── ddev/ # DDEV操作
│ └── operations.ts # 核心DDEV命令实现
├── utils/ # 工具
│ ├── logger.ts # 结构化日志记录
│ └── command.ts # 安全命令执行
├── types/ # TypeScript定义
│ └── index.ts # 类型定义
└── index.ts # CLI入口点
基于DDEV CMS快速入门,此MCP服务器支持:
内容管理系统:
电子商务平台:
PHP框架:
其他平台:
等等! 该架构支持通过通用命令和可扩展的CMS特定集成支持任何DDEV项目类型。
@modelcontextprotocol/sdk以确保可靠性该项目旨在团队协作,采用熟悉的JavaScript/TypeScript模式:
npm installnpm test和手动测试# 早晨启动例行程序
"DDEV MCP:启动开发环境并导入最新的生产数据"
# 特性开发
"DDEV MCP:启用新特性并清除缓存"
# 虫调查
"DDEV MCP:启用Xdebug并跟踪错误日志"
# 部署准备
"DDEV MCP:运行数据库更新并构建资产"
ddev_platform工具包含内置的安全措施,以防止意外执行潜在破坏性的命令:
confirmExecution: true显式用户确认示例:
# 这将因安全警告而被阻止
"DDEV MCP:运行platform environment:redeploy"
# 这将执行(带有显式确认)
"DDEV MCP:运行platform environment:list with confirmExecution: true"
dryRun模式以进行安全测试