wp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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_sitesA | List every WordPress site this connector is configured for, and test whether each one is reachable and the credentials work. Run this first when something is not working. |
| wp_whoamiA | Show the authenticated user on a site, including roles and capabilities. Use this to check what changes you are actually allowed to make. |
| wp_list_post_typesA | List the post types available on a site (post, page, and any custom types such as products or case studies), with the REST route to use for each. |
| wp_list_taxonomiesA | List the taxonomies on a site (categories, tags, and custom taxonomies) and the REST base for each. |
| wp_list_contentA | List content of any post type with filters and search. Returns compact summaries, not full bodies — call wp_get_content for the full text of one item. |
| wp_get_contentA | Fetch a single item in full, including its raw block/HTML content — this is what you read before editing something. |
| wp_searchA | Search across all searchable content on a site at once. Faster than listing each post type when you do not know where something lives. |
| wp_create_contentA | Create new content on a site. Defaults to draft status so nothing goes live by accident — pass status 'publish' only when the user asked for it to be published. |
| wp_update_contentA | Update an existing item. Only the fields you pass are changed. Note that |
| wp_delete_contentA | Move an item to trash (recoverable). Pass force: true to delete permanently — that cannot be undone, so confirm with the user first. |
| wp_list_termsA | List the terms in a taxonomy (e.g. all categories or tags), so you can map names to the numeric IDs that content tools expect. |
| wp_create_termC | Create a new category, tag, or custom taxonomy term. |
| wp_list_mediaB | List items in the media library, newest first. |
| wp_upload_mediaA | Upload a file to the media library from a local path or a public URL, and get back the media ID to use as a featured image or in content. |
| wp_list_usersB | List users on the site with their roles. |
| wp_list_pluginsA | List installed plugins and whether each is active. Requires an administrator account. |
| wp_manage_pluginA | Change a plugin's active status. This takes effect on the live site immediately — confirm with the user before deactivating anything on a site people are using. |
| wp_list_themesA | List installed themes and which one is active. |
| wp_settingsA | Read general site settings, or change them by passing |
| wp_restA | Call any WordPress REST route directly. Use this for anything the dedicated tools do not cover — WooCommerce, ACF, menus, or a plugin's own namespace. Discover routes by calling GET on an empty path. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Most tools have clearly distinct purposes (e.g., wp_list_content vs wp_get_content, wp_list_taxonomies vs wp_list_terms), and descriptions clarify boundaries. However, wp_search and wp_list_content both serve content discovery, and wp_rest is a catch-all that can overlap with any dedicated tool, creating minor selection ambiguity.
The wp_ prefix is consistent, and the majority follow a verb_noun pattern (list_*, create_*, get_*, update_*, delete_*). A few exceptions like wp_whoami, wp_sites, wp_search, wp_settings, and wp_rest break the pattern, but the overall style remains readable and predictable.
With 20 tools, the server is on the heavier side but still within reason for a WordPress management tool. Each tool covers a distinct domain (content, terms, media, plugins, themes, settings), and the count is not bloated; the generic wp_rest tool could potentially have reduced the number, but the dedicated tools provide clear value.
Content CRUD is fully covered, and basic operations exist for terms, media, plugins, and settings. However, obvious gaps include term update/delete, media delete, user creation/update/delete, and theme activation. While wp_rest can fill these gaps, the dedicated tool surface is incomplete for a fully-featured WordPress management server.