mcp wordpress元素
用于WordPress内容管理和Elementor页面构建的统一模型上下文协议(MCP)服务器。该服务器将WordPress CRUD操作与全面的Elementor可视化编辑功能相结合,为人工智能辅助的网站管理提供了82个工具。
特性
- 41 WordPress内容工具:管理帖子、页面、类别、评论、媒体、用户、插件和菜单
- 24个Elementor页面构建工具:创建和操作部分、容器、小部件和页面结构
- 12个全局设置工具:控制Elementor主题颜色、字体、CSS和渲染重建(需要CommunityTech插件)
- 5个网站搜索引擎优化工具:读取和更新SEO元数据、运行审核和管理全局SiteSEO设置
- 完整TypeScript:类型安全工具定义和处理程序
- 模块化架构:将14个工具模块的关注点彻底分开
安装
先决条件
- Node.js>=18
- 启用REST API的WordPress网站
- 用于身份验证的应用程序密码(见下文)
- 已安装Elementor插件(用于页面构建工具)
- CommunityTech插件 已安装(用于全局设置工具)
1.克隆和构建
git clone https://github.com/Community-Tech-UK/mcp-wordpress-elementor.git
cd mcp-wordpress-elementor
npm install
npm run build2.创建WordPress应用程序密码
- 首选 WordPress管理员>用户>个人资料
- 滚动到 应用程序密码
- 输入名称(例如“克劳德代码MCP”)
- 点击 添加新应用程序密码
- 立即复制密码,密码将不再显示
3.配置您的MCP客户端
克劳德代码
创建或编辑 .mcp.json 在您的项目目录中:
{
"mcpServers": {
"wordpress": {
"command": "node",
"args": ["/absolute/path/to/mcp-wordpress-elementor/build/cli.js"],
"env": {
"WORDPRESS_API_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
}
}然后从包含以下内容的目录中打开Claude Code .mcp.jsonWordPress工具将自动可用。
其他MCP客户端
服务器通过stdio实现标准MCP协议。将您的客户指向 build/cli.js 并传递上述三个环境变量。
4.安装CommunityTech插件(可选但推荐)
11个全局设置工具(颜色、字体、主题样式、CSS重新生成、小部件注册表)需要 CommunityTech插件 在你的WordPress网站上。
- 下载 最新版本
- WordPress管理>插件>添加新插件>上传插件 --上传zip
- 激活插件
如果没有它,60个WordPress+Elementor页面构建工具仍然可以正常工作。
多个站点
不要复制服务器条目,而是使用站点文件,这样单个服务器实例就可以在运行时在站点之间切换。
1.创建一个 sites.json 文件:
{
"my-site": {
"url": "https://my-site.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
},
"other-site": {
"url": "https://other-site.com",
"username": "admin",
"password": "yyyy yyyy yyyy yyyy yyyy yyyy"
}
}2.要点 .mcp.json 在它:
{
"mcpServers": {
"wordpress": {
"command": "node",
"args": ["/path/to/mcp-wordpress-elementor/build/cli.js"],
"env": {
"WORDPRESS_SITES_FILE": "/path/to/sites.json"
}
}
}
}服务器在启动时自动连接到第一个站点。两个额外的工具可用:
list_sites--显示所有已配置的站点以及哪个处于活动状态select_site--按名称切换到其他站点;所有后续的工具调用都以它为目标
或者,通过以下方式内联传递JSON WORDPRESS_SITES 而不是使用文件。
如果两者都没有 WORDPRESS_SITES_FILE 也不 WORDPRESS_SITES 设置后,服务器将使用以下命令回退到单站点模式 WORDPRESS_API_URL/WORDPRESS_USERNAME/WORDPRESS_PASSWORD.
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
WORDPRESS_API_URL | 是\* | 您的WordPress网站URL |
WORDPRESS_USERNAME | 是\* | WordPress用户名 |
WORDPRESS_PASSWORD | 是\* | 应用程序密码(也接受 WORDPRESS_APP_PASSWORD) |
WORDPRESS_SITES_FILE | 否 | 具有多个站点配置的JSON文件的路径(替换上述三个) |
WORDPRESS_SITES | 否 | 具有多个站点配置的内联JSON字符串(回退 WORDPRESS_SITES_FILE) |
DISABLE_ELEMENTOR | 否 | 设置 true 禁用24个页面构建工具 |
DISABLE_ELEMENTOR_GLOBAL_SETTINGS | 否 | 设置 true 禁用11个全局设置工具 |
\*在以下情况下不需要 WORDPRESS_SITES_FILE 或 WORDPRESS_SITES 已设置。
工具清单
WordPress内容(41个工具)
帖子
list_posts-列出带有过滤器的帖子get_post-按ID获取帖子create_post-创建新帖子update_post-更新现有帖子delete_post-删除帖子
页面
list_pages-列出带有过滤器的页面get_page-按ID获取页面create_page-创建新页面update_page-更新现有页面delete_page-删除页面
分类
list_categories-列出类别get_category-按ID获取类别create_category-创建新类别update_category-更新类别delete_category-删除类别
评论
list_comments-列出带有过滤器的评论get_comment-按ID获取评论create_comment-创建新评论update_comment-更新评论delete_comment-删除评论
媒体
list_media-列出媒体库项目create_media-上传媒体文件edit_media-更新媒体元数据delete_media-删除媒体项目
用户
list_users-列出用户get_user-按ID获取用户create_user-创建新用户update_user-更新用户delete_user-删除用户
插件
list_plugins-列出已安装的插件get_plugin-获取插件详细信息activate_plugin-激活插件deactivate_plugin-停用插件create_plugin-创建插件文件
插件库
search_plugin_repository-搜索WordPress.org插件get_plugin_details-从存储库获取插件信息
菜单
list_menus-列出导航菜单list_menu_items-列出菜单中的项目create_menu_item-创建新菜单项update_menu_item-更新现有菜单项delete_menu_item-删除菜单项
Elementor页面构建(24个工具)
数据管理
get_elementor_data-获取完整页面JSONupdate_elementor_data-更新页面JSONget_elementor_data_chunked-以块的形式获取大页面的页面数据backup_elementor_data-创建JSON备份get_elementor_templates-列出已保存的模板
结构分析
get_page_structure-获取分层页面大纲get_elementor_elements-列出所有带有ID的元素
型材和容器
create_elementor_section-创建新部分create_elementor_container-创建新容器(flexbox)add_column_to_section-将列添加到节duplicate_section-克隆现有部分reorder_top_level_sections-更改节顺序
元素操作
delete_elementor_element-按ID删除元素reorder_elements-更改父级中的元素顺序copy_element_settings-在元素之间复制设置find_elements_by_type-按小部件类型搜索元素
小部件管理
add_widget_to_section-将小部件添加到节/列insert_widget_at_position-在特定位置插入小部件clone_widget-复制小部件move_widget-将小部件移动到不同的容器update_elementor_widget-更新小部件设置get_elementor_widget-按ID获取小部件数据update_elementor_section-更新节设置get_widget_content-获取渲染的小部件HTML
元素全局设置(12个工具)
需要CommunityTech WordPress插件
套件设置
get_elementor_kit_settings-获取所有全局设置
颜色
get_elementor_global_colors-获取调色板update_elementor_global_colors-更新全局颜色
排版
get_elementor_global_fonts-获取排版设置update_elementor_global_fonts-更新全局字体
主题样式
get_elementor_theme_style-获取主题级别样式update_elementor_theme_style-更新主题样式
缓存和实用程序
get_elementor_css_variables-获取CSS变量定义clear_elementor_cache_by_page-清除页面缓存regenerate_elementor_css-重建CSS文件rebuild_elementor_render-数据更新后重建渲染的Elementor HTMLlist_available_widgets-列出已注册的小部件类型
网站搜索引擎优化(5个工具)
需要CommunityTech WordPress插件和SiteSEO
get_seo_metadata-获取帖子或页面的SEO元数据update_seo_metadata-更新帖子或页面的SEO元数据audit_seo-审核帖子和页面的SEO覆盖率get_seo_settings-读取全局SiteSEO设置update_seo_settings-更新全局SiteSEO设置
发展
npm run dev # Watch mode with tsx
npm run build # TypeScript compilation
npm test # Run unit + integration tests
npm run test:watch # Test watch mode
npm run test:smoke # Smoke tests against live WordPress site测试
测试套件包括:
- 单元测试:工具处理程序逻辑和实用程序
- 集成测试:WordPress API交互(需要测试网站)
- 冒烟测试:针对实时网站的端到端验证
集 WORDPRESS_TEST_API_URL, WORDPRESS_TEST_USERNAME,以及 WORDPRESS_TEST_PASSWORD 用于集成测试。
建筑
目录结构
src/
├── tools/ # 14 tool modules (posts, pages, elementor, etc.)
├── utils/ # Shared utilities
│ ├── element-traversal.ts # Element tree navigation
│ ├── id-generator.ts # Unique ID generation
│ └── data-operations.ts # JSON manipulation
├── types/ # TypeScript types and Zod schemas
├── config/ # Feature flags and configuration
└── server.ts # MCP server entry point工具模块模式
每个工具模块导出:
- 工具定义:带输入验证的MCP工具模式
- 处理器功能:每个工具的实施逻辑
- 类型安全性:通过Zod运行时验证完全覆盖TypeScript
关键实用程序
- 元素遍历:用于查找/更新Elementor元素的递归树遍历
- ID生成:Elementor元素的无冲突8字符十六进制ID
- 数据操作:带验证的不可变JSON转换
已知限制
CSS再生
通过以下方式更新Elementor JSON后 update_elementor_data,CSS缓存不会自动重新生成。使用 regenerate_elementor_css (需要CommunityTech插件)或在Elementor编辑器中手动打开页面并保存。
大页面
具有大量Elementor数据的页面可能会达到API有效负载限制。使用 get_elementor_data_chunked 对于大页面。
贡献
欢迎捐款。请确保:
- TypeScript编译通过(
npm run build) - 测试通过(
npm test) - 代码遵循现有模式
- 新工具包括Zod模式和正确的错误处理
许可证
GPL-3.0或更高版本
学分
此项目合并了:
- @安装wp/mcp wp -WordPress CRUD操作
- wp-elementor mcp-elementor页面构建工具
建于 @模型上下文协议/sdk ^1.4.1.
