claude-wp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WP_BASE_URL | Yes | Base URL of the WordPress site, e.g. http://localhost:10004 | |
| WP_USERNAME | No | WordPress username (required for write operations) | |
| WP_APP_PASSWORD | No | WordPress Application Password (required for write operations) |
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_site_infoA | Get basic info about the connected WordPress site (name, url, active namespaces). Use this to verify the connection. |
| wp_list_postsA | List WordPress posts. Supports search and pagination. |
| wp_get_postA | Get a single WordPress post by ID. |
| wp_create_postC | Create a new WordPress post. Requires WP_USERNAME/WP_APP_PASSWORD to be configured. |
| wp_update_postB | Update an existing WordPress post. Requires WP_USERNAME/WP_APP_PASSWORD to be configured. |
| wp_delete_postB | Delete a WordPress post. Requires WP_USERNAME/WP_APP_PASSWORD to be configured. |
| wp_list_pagesB | List WordPress pages. Supports search and pagination. |
| wp_get_pageA | Get a single WordPress page by ID. |
| wp_create_pageA | Create a new WordPress page. Requires WP_USERNAME/WP_APP_PASSWORD to be configured. |
| wp_update_pageC | Update an existing WordPress page. Requires WP_USERNAME/WP_APP_PASSWORD to be configured. |
| wp_delete_pageC | Delete a WordPress page. Requires WP_USERNAME/WP_APP_PASSWORD to be configured. |
| wp_list_categoriesC | List WordPress categories. |
| wp_list_tagsC | List WordPress tags. |
| wp_list_mediaA | List WordPress media library items. |
| wp_list_usersB | List WordPress users. Requires WP_USERNAME/WP_APP_PASSWORD for full details. |
| fetch_urlA | Fetch any web page by URL (not limited to the configured WordPress site) and return its content converted to Markdown, plus title and meta description. Respects the site's robots.txt for this tool's user agent. Useful for pulling content from another page to turn into a WordPress post/page via wp_create_post/wp_create_page. Long pages are paginated: if the result says content was truncated, call again with start_index set to the given value. Pass raw:true to get unprocessed HTML instead of Markdown. |
| wp_requestA | Escape hatch for any other WP REST API route. Path must start with '/' and be relative to /wp-json (e.g. '/wp/v2/comments'). |
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 17 tools
Each tool maps clearly to a distinct WordPress resource and action: full CRUD for posts and pages, read-only lists for categories/tags/media/users, plus site info, URL fetching, and an explicit REST escape hatch. The list/get/create/update/delete variants are not ambiguous because the target resource is always named.
The wp_ prefix and list/get/create/update/delete verb_noun pattern are highly consistent for the main post and page tools. Minor deviations like wp_site_info, fetch_url, and wp_request break the pattern slightly, but they are still readable and predictable overall.
At 17 tools, the server is slightly above the ideal 3-15 range, but the count is justified by parallel CRUD surfaces for posts and pages plus supporting resource lookups. No tool feels redundant, though the set is a bit heavy for casual use.
Posts and pages have complete CRUD/lifecycle coverage, and categories/tags/media/users provide the read-side needed for content authoring. There are minor gaps around dedicated create/update/delete tools for taxonomies, media, and users, plus comments/settings, but the wp_request escape hatch covers any remaining WP REST API route.