wp-mcp-control-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WP_MCP_TOKEN | Yes | API token from plugin settings | |
| WP_MCP_DRY_RUN | No | Validate without making changes | false |
| WP_MCP_SITE_URL | Yes | WordPress site URL (no trailing slash) | |
| WP_MCP_SAFE_MODE | No | Block destructive operations | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| wp_health_checkA | Check WP MCP Control plugin health, REST availability, and security settings |
| wp_get_site_infoA | Get WordPress site information including theme, plugins, and permalink settings |
| wp_list_themesA | List installed WordPress themes (read-only) |
| wp_list_pluginsA | List installed WordPress plugins (read-only) |
| wp_get_settingsB | Read safe WordPress site settings |
| wp_update_settingsB | Update safe WordPress site settings (title, tagline, posts per page, front page) |
| wp_list_pagesC | List WordPress pages with optional filters |
| wp_get_pageA | Get full WordPress page data including raw and rendered HTML content |
| wp_create_pageC | Create a new WordPress page |
| wp_update_pageB | Update an existing WordPress page (creates snapshot before update) |
| wp_delete_pageA | Delete a WordPress page (moves to trash by default) |
| wp_create_landing_pageB | Create a landing page with structured sections (hero, services, testimonials, FAQ, CTA) |
| wp_list_postsC | List WordPress posts with optional filters |
| wp_get_postA | Get full WordPress post data including content, categories, and tags |
| wp_create_postC | Create a new WordPress post |
| wp_update_postC | Update an existing WordPress post (creates snapshot before update) |
| wp_delete_postB | Delete a WordPress post (moves to trash by default) |
| wp_list_mediaC | List WordPress media library items |
| wp_get_mediaB | Get a single media item with metadata |
| wp_upload_media_from_urlA | Upload media to WordPress from a remote URL |
| wp_upload_media_from_base64C | Upload media to WordPress from base64-encoded data |
| wp_update_media_metadataB | Update media title, alt text, caption, or description |
| wp_delete_mediaB | Delete a media item (moves to trash by default) |
| wp_list_categoriesC | List WordPress categories |
| wp_create_categoryC | Create a WordPress category |
| wp_update_categoryC | Update a WordPress category |
| wp_delete_categoryC | Delete a WordPress category |
| wp_list_tagsC | List WordPress tags |
| wp_create_tagC | Create a WordPress tag |
| wp_update_tagC | Update a WordPress tag |
| wp_delete_tagC | Delete a WordPress tag |
| wp_list_menusA | List WordPress navigation menus and theme locations |
| wp_get_menu_itemsB | Get items for a specific navigation menu |
| wp_create_menu_itemC | Add an item to a navigation menu |
| wp_update_menu_itemC | Update a navigation menu item |
| wp_delete_menu_itemC | Delete a navigation menu item |
| wp_assign_menu_locationB | Assign menus to theme navigation locations |
| wp_search_contentB | Search across WordPress pages, posts, media, categories, and tags |
| wp_batch_operationsB | Execute multiple WP MCP operations in a single request (max 20) |
| wp_get_activity_logC | Get MCP activity log with optional filters |
| wp_restore_snapshotB | Restore a previous content snapshot before an update/delete |
| wp_list_redirectsA | List built-in URL redirects managed by WP MCP Control |
| wp_create_redirectC | Create a URL redirect |
| wp_update_redirectC | Update an existing redirect |
| wp_delete_redirectC | Delete a redirect |
| wp_export_site_structureA | Export site structure as JSON tree (pages, posts, menus, taxonomies, redirects) |
| wp_generate_sitemapC | Generate a sitemap of published pages and posts |
| wp_elementor_get_widget_catalogA | Get the Elementor widget catalog with editable settings per widget type. |
| wp_elementor_get_structureA | Get full Elementor page structure including element tree JSON. Page must be built with Elementor. |
| wp_elementor_list_elementsA | List all Elementor elements on a page as a flat index with id, widgetType, text preview, and is_editable flag |
| wp_elementor_find_widgetsB | Find widgets on a page filtered by widget_type (e.g. button, image, raven-heading) |
| wp_elementor_update_elementA | Update an Elementor widget by element ID. Supports all catalog-editable widgets (heading, text-editor, button, image, icon-box, icon-list, raven-*). |
| wp_elementor_update_textA | Find a heading or text-editor widget by matching existing text and replace it. Creates a snapshot before updating. |
| wp_elementor_update_buttonB | Find a button (or raven-button) by matching button text and update text and/or URL. |
| wp_elementor_update_imageA | Update an image widget by element_id or match_url. Set image_id, image_url, and/or caption. |
| wp_elementor_insert_widgetA | Insert a widget into a column or container. Requires parent_id from wp_elementor_list_elements. Use confirm:true when safe mode is on. |
| wp_elementor_insert_sectionB | Insert a section scaffold (section+column or container) with widgets. Use preset hero/cta/features or custom children. confirm:true required in safe mode. |
| wp_elementor_remove_elementB | Remove a widget, section, or container by element ID. confirm:true required when safe mode is on. |
| wp_elementor_clone_elementB | Clone a widget, section, or container subtree with new IDs. confirm:true required when safe mode is on. |
| wp_elementor_duplicate_pageB | Duplicate an Elementor page as a new draft with remapped element IDs. confirm:true required when safe mode is on. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mpierre135/wp-mcp-control-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server