cvrt-jh avatar

Wordpress Mcp

cvrt-jh/wordpress-mcp

Connects to WordPress sites via REST API and exposes 42 standard tools for managing posts, pages, users, plugins, themes, media, categories, tags, and comments. The main feature is aggressive response slimming that strips WordPress's verbose JSON down by 95 to 96 percent, dropping fields like guid, _links, meta, and class_list to keep only essentials like id, title, slug, and status. Uses Application Passwords for auth. An optional companion plugin adds 43 more tools for installing packages from WordPress.org, database search and replace, table optimization, and menu management. Reach for this when you need Claude to work with WordPress content without burning tokens on kilobytes of metadata per request.

GitHub stars
2
tools
20
auth
Secret needed
transport
STDIO
env vars
3
last updated
Feb 2, 2026

Tools

20 tools

Public tool metadata for what this MCP can expose to an agent.

wp_list_postsList WordPress posts with optional filters. Returns post ID, title, status, date, and categories. Use to browse existing content or find posts by keyword.3 params

List WordPress posts with optional filters. Returns post ID, title, status, date, and categories. Use to browse existing content or find posts by keyword.

Parameters* required
per_pagenumber
Number of posts to return (default 10, max 100)
searchstring
Search posts by keyword
statusstring
Filter by status: publish, draft, pending, private, trash
wp_get_postGet a single WordPress post with full content, metadata, categories, and tags. Use to inspect post content before editing.1 params

Get a single WordPress post with full content, metadata, categories, and tags. Use to inspect post content before editing.

Parameters* required
idnumber
Post ID
wp_create_postCreate a new WordPress post. Provide title and content (HTML). Optionally set status (draft/publish), categories, and tags.5 params

Create a new WordPress post. Provide title and content (HTML). Optionally set status (draft/publish), categories, and tags.

Parameters* required
categoriesarray
Category IDs
contentstring
Post content (HTML)
statusstring
Post status: draft (default), publish, pending, private
tagsarray
Tag IDs
titlestring
Post title
wp_update_postUpdate an existing WordPress post. Change title, content, status, categories, or tags.6 params

Update an existing WordPress post. Change title, content, status, categories, or tags.

Parameters* required
categoriesarray
New category IDs (optional)
contentstring
New content HTML (optional)
idnumber
Post ID to update
statusstring
New status (optional)
tagsarray
New tag IDs (optional)
titlestring
New title (optional)
wp_delete_postDelete a WordPress post. Moves to trash by default.1 params

Delete a WordPress post. Moves to trash by default.

Parameters* required
idnumber
Post ID to delete
wp_list_pagesList WordPress pages. Returns page ID, title, status, and parent page. Use to browse site page structure.2 params

List WordPress pages. Returns page ID, title, status, and parent page. Use to browse site page structure.

Parameters* required
per_pagenumber
Number of pages to return (default 10, max 100)
statusstring
Filter by status: publish, draft, pending, private
wp_get_pageGet a single WordPress page with full content and metadata.1 params

Get a single WordPress page with full content and metadata.

Parameters* required
idnumber
Page ID
wp_create_pageCreate a new WordPress page. Provide title and content (HTML). Optionally set parent page for hierarchy.4 params

Create a new WordPress page. Provide title and content (HTML). Optionally set parent page for hierarchy.

Parameters* required
contentstring
Page content (HTML)
parentnumber
Parent page ID for hierarchical pages
statusstring
Page status: draft (default), publish
titlestring
Page title
wp_update_pageUpdate an existing WordPress page.4 params

Update an existing WordPress page.

Parameters* required
contentstring
New content HTML (optional)
idnumber
Page ID to update
statusstring
New status (optional)
titlestring
New title (optional)
wp_delete_pageDelete a WordPress page.1 params

Delete a WordPress page.

Parameters* required
idnumber
Page ID to delete
wp_list_mediaList media files in the WordPress library. Returns file URLs, types, and metadata.2 params

List media files in the WordPress library. Returns file URLs, types, and metadata.

Parameters* required
media_typestring
Filter by type: image, video, audio, application
per_pagenumber
Number of items to return (default 10)
wp_delete_mediaPermanently delete a media file from WordPress.1 params

Permanently delete a media file from WordPress.

Parameters* required
idnumber
Media ID to delete
wp_list_commentsList comments on WordPress posts. Filter by post ID.2 params

List comments on WordPress posts. Filter by post ID.

Parameters* required
per_pagenumber
Number of comments to return
postnumber
Filter by post ID
wp_create_commentCreate a new comment on a WordPress post.4 params

Create a new comment on a WordPress post.

Parameters* required
author_emailstring
Comment author email
author_namestring
Comment author name
contentstring
Comment content
postnumber
Post ID to comment on
wp_update_commentUpdate or moderate a comment. Change content or approval status.3 params

Update or moderate a comment. Change content or approval status.

Parameters* required
contentstring
New comment content (optional)
idnumber
Comment ID
statusstring
New status: approved, hold, spam, trash
wp_delete_commentPermanently delete a comment.1 params

Permanently delete a comment.

Parameters* required
idnumber
Comment ID to delete
wp_list_categoriesList all WordPress categories with post counts.2 params

List all WordPress categories with post counts.

Parameters* required
per_pagenumber
Number of categories to return (default 100)
searchstring
Filter categories by search term
wp_list_tagsList all WordPress tags with post counts.2 params

List all WordPress tags with post counts.

Parameters* required
per_pagenumber
Number of tags to return (default 100)
searchstring
Filter tags by search term
wp_list_usersList WordPress users with their roles.2 params

List WordPress users with their roles.

Parameters* required
per_pagenumber
Number of users to return (default 10)
searchstring
Filter users by search term
wp_get_site_infoGet WordPress site information: name, description, URL, timezone, and available features.1 params

Get WordPress site information: name, description, URL, timezone, and available features.

Parameters* required
_fieldsstring
Comma-separated list of fields to include in the response (e.g. "name,description,url")

Sponsors

Configuration

WORDPRESS_SITE_URL*

WordPress site URL (e.g., https://example.com)

WORDPRESS_USERNAME*

WordPress username

WORDPRESS_PASSWORD*secret

WordPress Application Password (Users > Profile > Application Passwords)

Readme

wordpress-mcp

npm version License: MIT MCP SDK

Lightweight WordPress MCP server for site management. 335 tools with token-optimized responses - REST API responses automatically slimmed from kilobytes to essentials.

v3.5: fields_* (12 tools) for cvrt-fields 0.1.2+ - status, settings, field types, location values, schemas and CRUD + JSON sync for field groups, post types, taxonomies and options pages.

v3.4: cvrt-legal 0.9.0 - markup repair switches (repairs on legal_put_accessibility) and report (legal_get_accessibility_report / legal_reset_accessibility_report), document type barrierefreiheit.


View the full README on GitHub

Details

Repository
github.com/cvrt-jh/wordpress-mcp
Package
@cavort-it-systems/wordpress-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from cvrt-jh