1. 项目概述:一个为WP-CLI注入AI灵魂的MCP服务器
如果你是一个重度使用WordPress的开发者或站长,那么WP-CLI这个命令行工具大概率是你的老朋友了。它能让你在不登录后台的情况下,通过终端完成安装插件、更新核心、管理用户等一系列操作,效率提升不止一个档次。但你想过没有,如果能让AI助手(比如Claude、Cursor里的AI)直接理解并操作你的WordPress站点,会是怎样一番景象?这就是mvtandas/wp-cli-mcp这个项目正在做的事情。
简单来说,mvtandas/wp-cli-mcp是一个实现了Model Context Protocol (MCP)标准的服务器。它的核心使命,是充当AI助手与你的WordPress站点之间的“翻译官”和“执行者”。通过这个MCP服务器,AI可以“看到”你站点的状态(比如安装了哪些插件、主题是什么),并“指挥”WP-CLI去执行相应的命令(比如“帮我安装WooCommerce并启用”)。这不仅仅是把WP-CLI的命令暴露给AI那么简单,它通过MCP协议提供了一套结构化的工具(Tools)和资源(Resources),让AI能够以更智能、更安全、更符合开发者直觉的方式与WordPress交互。
这个项目解决的核心痛点,是将复杂的、需要记忆特定语法的命令行操作,转化为自然语言驱动的、可对话的智能工作流。对于个人站长,你可以用自然语言让AI助手帮你完成日常维护;对于开发团队,它可以成为CI/CD流程或自动化脚本中的一个智能环节;对于插件/主题开发者,它提供了一个全新的、与AI集成的调试和测试界面。接下来,我们就深入拆解这个项目的设计思路、实现细节以及如何让它为你所用。
1.1 核心需求与场景解析
为什么我们需要一个WP-CLI的MCP服务器?WP-CLI本身已经很强大了。关键在于“上下文”和“智能化”。直接让AI生成一串wp plugin install woocommerce --activate命令并复制粘贴到终端,和让AI通过一个协议“理解”它正在操作一个WordPress环境,并提供安全、结构化的交互,是完全不同的体验。
核心需求一:降低操作门槛与认知负担。即使对于开发者,记住WP-CLI所有命令和参数也是一个负担。非技术背景的网站管理者更是望而却步。通过MCP,用户只需用自然语言描述需求:“检查一下我的站点有没有可用的核心更新,有的话告诉我详情但先别更新。” AI助手通过MCP服务器理解这个请求,调用相应的“检查更新”工具,并以友好的格式将结果呈现给用户,完全隐藏了底层的wp core check-update命令。
核心需求二:实现安全、可控的自动化。直接让AI在shell中执行任意命令存在巨大风险。MCP服务器可以作为一个安全沙盒。首先,它通常运行在特定的、权限受控的WordPress环境上下文中。其次,它暴露的工具是预先定义好的,AI只能执行这些被允许的操作,比如“安装插件”但不能“直接执行任意PHP代码”或“删除整个数据库”。这为AI赋能工作流提供了安全基线。
核心需求三:提供丰富的上下文(Resources)。这是MCP协议的精髓之一。除了工具(执行动作),MCP服务器还能提供资源(静态信息)。例如,mvtandas/wp-cli-mcp可以将你站点当前的插件列表、主题状态、系统健康信息等,以资源的形式提供给AI。这样,当AI助手在与你对话时,它本身就“知道”你的站点环境,给出的建议或执行的操作会更具针对性。比如,它知道你正在用古腾堡编辑器,那么当你想“添加一个新区块”时,它的建议会更精准。
典型应用场景:
- 日常站务管理:“列出所有未使用的插件并删除它们。”、“把用户‘张三’的角色从‘订阅者’改为‘编辑’。”、“为所有文章批量添加一个特定的标签。”
- 开发与调试:“启用WP_DEBUG日志并重现那个错误,然后把最新的日志内容发给我看。”、“在所有文章中搜索包含‘旧产品名’的内容,并替换为‘新产品名’。”、“清空整个站点的缓存。”
- 内容运营辅助:“基于附件库生成一个本月热门图片的图库页面。”、“检查并修复所有文章的永久链接格式。”、“导出一份过去一周发布的所有文章标题和链接的CSV文件。”
- 与AI工作流集成:在Cursor、Windsurf、Claude Desktop等支持MCP的AI IDE或客户端中,你可以拥有一个随时待命的WordPress专家,结合代码编辑和站点管理,实现真正的全栈智能辅助。
2. 项目架构与MCP协议深度解析
要理解mvtandas/wp-cli-mcp,必须先搞懂它构建于其上的两个基石:WP-CLI和MCP协议。这个项目本质上是将前者的能力,通过后者的规范,暴露给AI世界。
2.1 基石一:WP-CLI的能力模型
WP-CLI并非一个简单的命令集合,它是一个设计良好的框架。其核心能力可以抽象为以下几点,这些正是MCP服务器需要封装和暴露的:
- 命令发现与执行:WP-CLI通过
WP_CLI::add_command()注册命令。每个命令对应一个可调用的函数或类方法。MCP服务器需要动态或静态地发现这些可用命令。 - 参数解析与验证:WP-CLI命令支持位置参数、关联参数(
--key=value)、标志(--flag)。MCP服务器需要将AI传递的自然语言或结构化参数,转化为WP-CLI能理解的参数数组。 - 输出捕获与格式化:WP-CLI的输出可以是成功信息、表格、JSON、XML等。MCP服务器需要捕获这些输出,并将其转换为MCP协议要求的结构化数据(通常是JSON),以便AI理解和呈现。
- 上下文感知:WP-CLI需要在正确的WordPress环境(即正确的目录,并已加载
wp-config.php)中运行。MCP服务器必须保证每次工具调用都在这个上下文中执行。
2.2 基石二:MCP协议的核心概念
Model Context Protocol (MCP) 是由Anthropic提出的一种开放协议,旨在标准化AI应用与外部工具、数据源之间的通信方式。它主要定义了三类核心组件:
- 工具(Tools):代表AI可以调用的“动作”。每个工具都有名称、描述和输入参数模式(Schema)。当AI决定调用一个工具时,它会向MCP服务器发送一个包含参数的请求,服务器执行后返回结果。在
wp-cli-mcp中,每一个暴露的WP-CLI命令(如wp plugin install)都会对应一个或多个MCP工具。 - 资源(Resources):代表AI可以读取的“静态信息”或“数据源”。每个资源有一个URI,AI可以通过URI来读取其内容。资源内容可以是文本、JSON等。这对于提供站点上下文至关重要。例如,一个
wordpress://site/plugins资源可以提供插件列表。 - 提示(Prompts):可重用的对话模板或指令集,AI可以用它们来初始化对话或执行复杂任务。虽然在这个项目中可能不是重点,但它为预定义复杂工作流(如“初始化一个新主题”)提供了可能。
MCP通信基于JSON-RPC 2.0,通过标准输入输出(stdio)或SSE进行。这意味着MCP服务器是一个独立的进程,AI客户端(如Claude Desktop)启动这个服务器并与之通信。
2.3wp-cli-mcp的架构设计思路
基于以上两点,项目的架构设计思路就清晰了:
核心设计:动态工具生成与安全执行封装
项目没有为每一个WP-CLI命令硬编码一个MCP工具,那样将无法维护。更优雅的设计是:
- 引导阶段:MCP服务器启动时,在指定的WordPress目录下,运行
wp --format=json cli info或解析wp-cli的命令列表,获取所有可用的命令及其参数结构。 - 工具注册:将获取到的命令列表,动态转换为符合MCP规范的Tool Schema。例如,将
wp plugin install <plugin> [--version=<version>] [--activate]转换为一个工具,其输入参数包括必填的字符串plugin,以及可选的version字符串和activate布尔值。 - 请求处理:当AI客户端调用一个工具(如“plugin_install”)时,MCP服务器收到JSON-RPC请求,从中提取参数。
- 命令组装与执行:服务器将参数重新组装成WP-CLI命令行,例如
['plugin', 'install', 'woocommerce', '--activate'],然后使用PHP的proc_open或类似函数,在正确的WordPress上下文(通过--path参数指定)中执行wp命令。 - 结果处理与返回:捕获
wp命令的退出码、标准输出和标准错误。将这些信息结构化,包装成MCP的Tool Result返回给AI客户端。对于输出,优先尝试解析JSON格式(如果调用时指定了--format=json),以获得最结构化的数据;否则,将文本输出作为内容返回。
资源设计:提供静态站点上下文
除了动态工具,项目还会定义一系列静态资源。例如:
wordpress://site/health:返回站点健康状态(通过wp site-health获取)。wordpress://site/plugins:返回已安装插件列表。wordpress://site/themes:返回主题状态。 这些资源URI可以在AI客户端的上下文中配置,使得AI在对话伊始就“加载”了这些背景信息,从而做出更准确的判断。
安全边界设计:这是架构中的关键一环。服务器必须:
- 环境隔离:确保执行命令的PHP进程拥有适当的、受限的系统权限。
- 参数净化:对所有从AI客户端传入的参数进行严格的验证和转义,防止命令注入攻击。绝不能直接将用户输入拼接成shell命令。
- 命令白名单(可选):可以提供配置项,允许用户指定哪些WP-CLI命令可以被暴露为MCP工具,例如禁止
wp db drop这类高危命令。
3. 核心实现细节与实操要点
理解了架构,我们来看具体实现时有哪些关键细节和需要注意的地方。这里我们假设项目使用PHP构建(因为WP-CLI本身就是PHP项目),但思路也适用于其他语言。
3.1 环境准备与依赖管理
首先,你需要一个能运行WP-CLI的环境。这意味着:
- PHP (>= 7.4)
- WordPress安装(用于提供执行上下文)
- WP-CLI已全局安装或可通过
php wp-cli.phar调用 - Composer(用于管理PHP依赖,如果项目采用Composer发布)
对于mvtandas/wp-cli-mcp项目本身,它很可能是一个Composer包。你可以通过以下方式安装:
composer global require mvtandas/wp-cli-mcp或者,如果你希望在每个项目中独立使用:
composer require mvtandas/wp-cli-mcp --dev注意:全局安装会让MCP服务器在任何地方都可用,但需要注意不同WordPress项目可能对应不同的
wp命令版本或路径。项目内安装则更隔离,但需要为每个项目配置AI客户端。
3.2 MCP服务器的启动与配置
MCP服务器本身是一个可执行脚本。安装后,你可能会得到一个名为wp-cli-mcp的二进制文件。启动它通常需要指定WordPress的路径:
wp-cli-mcp --path=/path/to/your/wordpress更常见的用法是在支持MCP的AI客户端中配置。以Claude Desktop为例,你需要在其配置文件中添加这个服务器:
Claude Desktop 配置示例 (claude_desktop_config.json):
{ "mcpServers": { "wp-cli": { "command": "/path/to/global/composer/vendor/bin/wp-cli-mcp", "args": ["--path", "/Users/you/Sites/my-wp-site"], "env": { "WP_CLI_PHP": "/usr/bin/php" // 可选,指定PHP解释器 } } } }关键配置解析:
command: MCP服务器可执行文件的绝对路径。如果全局安装,可能在~/.composer/vendor/bin/或~/.config/composer/vendor/bin/下。args: 传递给服务器的参数。--path是核心,必须指向一个有效的WordPress根目录(包含wp-config.php)。env: 可以设置环境变量。WP_CLI_PHP用于指定运行WP-CLI的PHP二进制文件,这在多PHP版本环境中非常有用。
实操心得:
--path参数的正确性至关重要。一个简单的验证方法是,在该路径下手动执行wp option get siteurl看是否能成功。如果路径错误,MCP服务器可能无法启动,或者启动后所有工具调用都会失败。
3.3 工具的动态发现与参数映射
这是服务器的核心逻辑。实现时,有两种策略:
策略A:启动时静态扫描服务器启动时,执行wp --format=json cli cmd-dump命令。这个命令会以JSON格式输出所有可用命令及其参数定义。服务器解析这个JSON,为每一个叶子命令(即最终可执行的命令,如plugin install)生成一个MCP Tool Schema。这种方法的优点是启动后工具列表固定,响应快。缺点是如果WordPress环境动态加载了新的WP-CLI命令(例如通过自定义插件),需要重启服务器才能发现。
策略B:运行时按需发现不预先扫描所有命令。当AI客户端请求列出工具时,服务器再调用wp cli cmd-dump或类似命令获取当前列表。这种方法总能反映最新状态,但每次列出工具都有开销,且实现更复杂。
参数映射的挑战:WP-CLI的参数语法需要精确映射到JSON Schema。例如:
<plugin>(必填位置参数) ->{"type": "string", "description": "The plugin slug to install."}[--activate](可选标志) ->{"type": "boolean", "description": "Activate the plugin after installation.", "default": false}[--version=<version>](可选关联参数) ->{"type": "string", "description": "Specific version to install."}
对于接受多个值的参数,如[--skip-plugins=<plugins>],需要映射为数组类型。描述信息可以从WP-CLI的命令帮助中提取,以增强AI的理解。
3.4 命令执行与结果处理
收到工具调用请求后,服务器需要:
- 构建命令数组:将工具名(如
plugin_install)反向映射为WP-CLI子命令数组['plugin', 'install']。 - 合并参数:将AI提供的参数对象转换为WP-CLI命令行参数。例如,
{"plugin": "woocommerce", "activate": true}转换为['woocommerce', '--activate']。 - 设置执行环境:使用
proc_open或 Symfony Process组件,将当前工作目录(cwd)设置为--path指定的WordPress根目录。这是确保wp命令能找到正确配置的关键。 - 执行并捕获:执行命令,同时捕获stdout、stderr和退出码。
- 结构化输出:这是提升AI体验的关键。如果执行命令时添加了
--format=json参数,并且命令支持,那么stdout就是结构化的JSON,可以直接作为结果返回。如果不支持或出错,则需要将文本输出进行适当清理和格式化后返回。 - 错误处理:如果退出码非零,或stderr有内容,需要将其作为错误信息包含在结果中,帮助AI理解哪里出了问题。
一个简化的执行流程代码示意:
public function executeWpCommand(array $subcommand, array $args): array { $fullCommand = array_merge(['wp'], $subcommand, $this->formatArgs($args), ['--format=json']); $process = new Process($fullCommand); $process->setWorkingDirectory($this->wordpressPath); $process->run(); $output = $process->getOutput(); $error = $process->getErrorOutput(); $exitCode = $process->getExitCode(); if ($exitCode !== 0) { return [ 'content' => [['type' => 'text', 'text' => "Command failed with exit code $exitCode.\nSTDERR: $error"]], 'isError' => true ]; } // 尝试解析JSON输出 $decoded = json_decode($output, true); if (json_last_error() === JSON_ERROR_NONE) { return ['content' => [['type' => 'text', 'text' => json_encode($decoded, JSON_PRETTY_PRINT)]]]; } else { // 返回纯文本输出 return ['content' => [['type' => 'text', 'text' => $output]]]; } }注意事项:直接拼接命令参数存在安全风险。务必使用能正确处理参数转义的进程执行库(如Symfony Process),它内部会处理shell转义,防止命令注入。绝对避免使用
shell_exec(“wp $subcommand ...”)这种危险写法。
4. 实战应用:从配置到高阶用法
现在,让我们从一个干净的WordPress环境开始,一步步配置并使用wp-cli-mcp,并探索一些进阶技巧。
4.1 完整配置与连接流程
假设我们有一个位于/var/www/mysite的WordPress站点,并使用Claude Desktop作为AI客户端。
步骤1:安装MCP服务器
# 假设使用Composer全局安装 composer global require mvtandas/wp-cli-mcp安装完成后,确认二进制文件位置:
which wp-cli-mcp # 输出类似:/home/username/.config/composer/vendor/bin/wp-cli-mcp步骤2:配置Claude Desktop找到Claude Desktop的配置文件位置(macOS通常在~/Library/Application Support/Claude/claude_desktop_config.json,Linux在~/.config/Claude/claude_desktop_config.json)。如果文件不存在,则创建它。
编辑配置文件:
{ "mcpServers": { "my-wp-site": { "command": "/home/username/.config/composer/vendor/bin/wp-cli-mcp", "args": ["--path", "/var/www/mysite"], "env": { "WP_CLI_PHP": "/usr/bin/php8.2" } } } }保存文件,并完全重启Claude Desktop。重启后,Claude应该会自动启动配置的MCP服务器。
步骤3:验证连接在Claude的聊天窗口中,你可以尝试询问:“你现在可以操作我的WordPress站点吗?” 或者更直接地:“列出我当前可用的WordPress工具。” 如果配置成功,Claude应该能回复它已连接到一个WP-CLI MCP服务器,并可能列出一些可用的工具或资源。
步骤4:执行第一个命令尝试一个简单的查询:“帮我查一下当前站点的站点URL和Home URL是什么?” Claude应该会理解这个请求,调用相应的WP-CLI工具(可能是option get或core相关命令),并返回类似这样的结果:
根据你的WordPress站点信息,当前配置如下: - 站点地址 (siteurl): https://example.com - 首页地址 (home): https://example.com这背后是Claude调用了wp option get siteurl和wp option get home。
4.2 常用工具场景示例与AI交互模式
一旦连接成功,你就可以用自然语言驱动各种操作。以下是几个典型场景:
场景一:插件管理
- 你:“我想安装一个联系表单插件,有什么推荐吗?顺便帮我安装并激活它。”
- AI(思考过程):1. 理解用户需要联系表单插件。2. 从知识库中推荐常见选择(如Contact Form 7, WPForms)。3. 调用
plugin search工具搜索“contact form”验证可用性。4. 调用plugin install工具安装推荐插件。5. 调用plugin activate工具激活它。 - AI(回复):“好的,Contact Form 7 是一个免费且流行的选择。我已经为你搜索并找到了它。现在开始安装并激活... 完成!Contact Form 7 已成功安装并激活。你可以在后台的‘联系’菜单中开始创建表单了。”
场景二:内容批量操作
- 你:“把所有‘未分类’目录下的文章,移动到‘博客’分类下。”
- AI:1. 理解需要重新分类文章。2. 调用
post list工具,筛选出分类为“未分类”的所有文章,获取ID列表。3. 调用post term add工具,为这些文章添加“博客”分类。4. 调用post term remove工具,从这些文章中移除“未分类”分类。 - AI(回复):“已找到15篇属于‘未分类’的文章。正在将它们移动到‘博客’分类... 操作成功。所有文章已更新。”
场景三:系统维护与调试
- 你:“我感觉网站有点慢,帮我检查一下健康状况,并看看有没有可以优化的地方。”
- AI:1. 调用
site-health相关工具获取健康状态。2. 调用transient list或cache相关命令检查缓存。3. 调用plugin list查看是否有大量插件或低效插件。4. 综合信息给出建议。 - AI(回复):“已检查站点健康状态,总体良好,但有两项改进建议:1. 数据库中有超过1000个过期的瞬态数据,可以使用
wp transient delete --expired清理。2. 检测到‘某某社交分享’插件最近更新频繁且评价不高,可能是性能瓶颈,建议考虑停用测试。需要我为你执行清理操作吗?”
4.3 高阶技巧与自定义扩展
基础功能用熟后,你可以探索更强大的用法:
1. 结合自定义WP-CLI命令:如果你或你的团队已经编写了自定义的WP-CLI命令(例如wp myplugin generate-report),wp-cli-mcp在动态发现模式下应该能自动将其暴露为MCP工具。这意味着你可以直接用AI调用这些内部工具:“帮我生成上周的销售报告并保存到/reports目录。”
2. 利用资源(Resources)进行上下文增强:在AI客户端的配置中,除了工具服务器,你还可以预加载资源。虽然wp-cli-mcp主要暴露工具,但你可以配置AI在对话开始时读取站点关键信息。例如,通过一个自定义脚本,将wp option get blogname和wp plugin list --format=json的结果作为背景信息提供给AI,这样AI从一开始就知道你的站点名称和插件生态。
3. 安全策略精细化:在服务器启动脚本或配置文件中,你可以定义一个命令黑名单或白名单。
// 在服务器代码中配置 $allowed_commands = ['plugin', 'theme', 'post', 'user']; // 只允许这些顶级命令 $disallowed_commands = ['db drop', 'core download --force']; // 明确禁止危险命令这样,即使WP-CLI有上百个命令,通过MCP暴露的也只是你允许的安全子集。
4. 错误诊断与日志:MCP服务器运行在后台,要调试问题,需要查看其日志。如果服务器没有提供日志功能,你可以通过重定向标准错误来记录:
wp-cli-mcp --path=/path/to/site 2>> /tmp/wp-cli-mcp.log在AI客户端配置中,也可以设置环境变量WP_CLI_MCP_DEBUG=true来开启更详细的输出(如果项目支持)。
5. 常见问题与排查技巧实录
在实际使用中,你可能会遇到一些问题。这里记录了一些典型情况及其解决方法。
5.1 连接与启动失败
问题:配置MCP服务器后,AI客户端(如Claude Desktop)无法启动它,或启动后立即断开连接。
排查步骤:
- 检查命令路径:在终端中手动运行配置中的
command整条命令(包括所有args),看是否能正常启动并保持运行(可能会等待输入)。如果手动运行都报错,说明服务器本身有问题。 - 检查WordPress路径:确保
--path参数指向的目录是一个有效的WordPress安装目录(包含wp-config.php)。可以在该路径下执行wp core version测试。 - 检查PHP环境:确保
WP_CLI_PHP环境变量(如果设置了)指向正确的、与你的WordPress兼容的PHP版本。有些WordPress插件需要特定PHP扩展。 - 检查权限:运行AI客户端和MCP服务器的用户是否有权读取WordPress目录和执行
wp命令? - 查看客户端日志:Claude Desktop等客户端通常有内部日志。查找日志文件(位置因客户端而异),里面可能有MCP服务器崩溃或退出的具体错误信息。
常见错误:
Failed to initialize server: WP-CLI not found.-> 确保wp命令在系统的PATH中,或者通过WP_CLI_PHP环境变量指定了正确的wp脚本路径。WordPress not found at path: /xxx->--path参数错误,或该目录下没有WordPress。Permission denied-> 权限问题,检查目录和文件的读写执行权限。
5.2 工具调用失败或返回意外结果
问题:AI可以列出工具,但执行某个操作时失败,或者结果不是预期的。
排查步骤:
- 模拟执行:在WordPress目录下,手动用WP-CLI执行AI试图运行的命令。例如,AI执行“安装A插件”失败,你就在终端运行
wp plugin install A --activate。这能立刻暴露是WP-CLI命令本身的问题(如网络超时、插件不存在),还是MCP服务器封装的问题。 - 检查参数映射:AI传递的参数可能不符合WP-CLI的预期。例如,某个参数需要是整数但AI传递了字符串。查看MCP服务器动态生成的Tool Schema描述是否准确。
- 查看MCP服务器输出:如果服务器有调试模式,启用它。查看命令实际被组装成什么样子,以及WP-CLI返回的原始输出和错误。
- 注意JSON解析:如果工具调用指定了
--format=json但命令不支持,或者返回了非JSON内容(如PHP警告),会导致MCP服务器解析失败。服务器应有降级机制,将原始文本作为结果返回。
实操心得:对于批量操作(如操作多篇文章),建议先让AI执行一个“预览”或“列出”操作,确认目标范围无误后,再执行实际的修改操作。例如,“先列出所有‘草稿’状态的文章标题”,确认无误后再说“将这些草稿全部发布”。
5.3 性能与稳定性考量
问题:工具列表加载慢,或执行复杂命令时AI客户端超时。
分析与优化:
- 工具发现开销:如果采用“运行时按需发现”策略,每次AI询问“你能做什么”时,服务器都要执行
wp cli cmd-dump,这在命令很多时可能较慢。可以考虑在服务器启动时一次性扫描并缓存结果(策略A),并提供一个缓存刷新机制。 - 命令执行超时:某些WP-CLI命令可能很耗时(如导入大型数据库、生成大量缩略图)。MCP服务器应设置合理的执行超时时间,并向AI返回超时错误,而不是无限期挂起。
- 资源占用:每个MCP服务器都是一个常驻进程。如果你为多个WordPress站点配置了多个服务器,会占用多个进程资源。在不使用时,可以考虑停止不常用的服务器。
5.4 安全最佳实践
- 最小权限原则:运行MCP服务器的系统用户,其权限应仅限于操作目标WordPress站点所需。不要使用root或高权限账户。
- 命令白名单:在生产环境中,强烈建议配置白名单,只暴露必要的、安全的命令。禁用如
wp db drop、wp core download --force、wp eval(执行任意PHP代码)等高风险命令。 - 网络隔离:如果MCP服务器运行在可被网络访问的机器上(尽管通常只是本地stdio),要确保其接口不被外部访问。
- 审计日志:考虑修改MCP服务器代码,记录所有被调用的工具和参数,以便事后审计。这对于团队协作环境尤为重要。
- 及时更新:保持
wp-cli-mcp项目本身以及WP-CLI的更新,以获取安全修复。
我个人在将多个WordPress开发环境接入AI助手后,最大的体会是它改变了我的工作流。以前需要反复切换终端、查阅wp --help的日子一去不复返。现在,无论是为新站点快速配置一套插件,还是批量处理内容迁移,我只需要用语言描述我的意图。当然,这并不意味着完全放弃手动操作,对于极其复杂或关键的操作,我仍然会先在测试环境验证AI生成的执行计划。这个项目就像一个不知疲倦、且精通WP-CLI的助手,它负责将我的想法翻译成精确的命令,而我则专注于更高层次的决策和创意。对于任何严肃的WordPress开发者或管理者来说,尝试将MCP融入你的工具箱,很可能是一次显著的效率解放。