WordPress MCP Server for Cloudflare Workers
Test WordPress tools directly in your browser. Select a tool and provide inputs to see the results.
Create a free account to test WordPress tools interactively. No credit card required.
wordpress_list_blocksList reusable blocks (patterns). Args: - perPage: Number of blocks to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - status: Filter by status (publish, draft, pending, private) - orderby: Sort field (date, title, id, modified) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of reusable blocks.
wordpress_get_blockGet a single reusable block by ID. Args: - blockId: The block ID (required) - format: Response format Returns the block with content.
wordpress_create_blockCreate a new reusable block. Args: - title: Block title (required) - content: Block content in block markup (required) - status: Block status (publish, draft) - slug: URL slug Returns the created block.
wordpress_update_blockUpdate an existing reusable block. Args: - blockId: Block ID to update (required) - title: New title - content: New content - status: New status - slug: New slug Returns the updated block.
wordpress_delete_blockDelete a reusable block. Args: - blockId: Block ID to delete (required) - force: Permanently delete (default: false) Returns confirmation of deletion.
wordpress_list_block_typesList all registered block types. Args: - namespace: Filter by namespace (e.g., 'core', 'woocommerce') - format: Response format Returns list of block types with their attributes and settings.
wordpress_get_block_typeGet details about a specific block type. Args: - namespace: Block namespace (e.g., 'core') (required) - name: Block name (e.g., 'paragraph') (required) - format: Response format Returns block type details including attributes and supports.
wordpress_list_commentsList comments from WordPress. Args: - perPage: Number of comments to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - post: Filter by post ID - parent: Filter by parent comment ID - author: Filter by author user ID - status: Filter by status (approved, hold, spam, trash, all) - type: Comment type - orderby: Sort field (date, id, parent) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of comments.
wordpress_get_commentGet a single comment by ID. Args: - commentId: The comment ID (required) - format: Response format (json or markdown) Returns the comment with all fields.
wordpress_create_commentCreate a new comment on a post. Args: - post: Post ID to comment on (required) - content: Comment content (required) - parent: Parent comment ID for replies - author: Author user ID (for logged-in users) - authorName: Author name (for anonymous comments) - authorEmail: Author email (for anonymous comments) - authorUrl: Author website URL - status: Comment status (approved, hold) Returns the created comment.
wordpress_update_commentUpdate an existing comment. Args: - commentId: Comment ID to update (required) - content: New comment content - status: New status (approved, hold, spam, trash) - authorName: New author name - authorEmail: New author email - authorUrl: New author URL Returns the updated comment.
wordpress_delete_commentDelete a comment. Args: - commentId: Comment ID to delete (required) - force: Bypass trash and permanently delete (default: false) Returns confirmation of deletion.
wordpress_approve_commentApprove a pending comment. Args: - commentId: Comment ID to approve (required) Returns the approved comment.
wordpress_spam_commentMark a comment as spam. Args: - commentId: Comment ID to mark as spam (required) Returns the updated comment.
wordpress_list_mediaList media items from WordPress media library. Args: - perPage: Number of items to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - mediaType: Filter by type (image, video, text, application, audio) - mimeType: Filter by MIME type (e.g., image/jpeg) - author: Filter by author ID - parent: Filter by parent post ID - orderby: Sort field (date, title, id, modified, author) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of media items.
wordpress_get_mediaGet a single media item by ID. Args: - mediaId: The media ID (required) - format: Response format (json or markdown) Returns the media item with details including source URL and sizes.
wordpress_upload_mediaUpload a media file to WordPress from a URL. Args: - fileUrl: URL of the file to upload (required) - filename: Filename for the uploaded file (required) - title: Media title - altText: Alternative text for images - caption: Media caption - description: Media description - post: Parent post ID to attach media to Returns the created media item with source URL.
wordpress_update_mediaUpdate media item metadata. Args: - mediaId: Media ID to update (required) - title: New title - altText: New alt text - caption: New caption - description: New description - post: New parent post ID Returns the updated media item.
wordpress_delete_mediaDelete a media item. Args: - mediaId: Media ID to delete (required) - force: Permanently delete (default: true, media doesn't support trash) Returns confirmation of deletion.
wordpress_list_menusList navigation menus. Args: - format: Response format (json or markdown) Returns list of registered menus with their locations.
wordpress_get_menuGet a specific menu by ID. Args: - menuId: The menu ID (required) - format: Response format Returns the menu with locations.
wordpress_list_menu_itemsList items in a menu. Args: - menuId: The menu ID (required) - format: Response format Returns list of menu items with hierarchy.
wordpress_get_menu_itemGet a specific menu item by ID. Args: - menuItemId: The menu item ID (required) - format: Response format Returns the menu item with details.
wordpress_list_pagesList pages from WordPress with filtering and pagination. Args: - perPage: Number of pages to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - status: Filter by status (publish, draft, pending, private, future, trash) - author: Filter by author ID - parent: Filter by parent page ID - menuOrder: Filter by menu order - orderby: Sort field (date, title, id, modified, author, parent, menu_order) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of pages.
wordpress_get_pageGet a single page by ID. Args: - pageId: The page ID (required) - format: Response format (json or markdown) Returns the page with all fields.
wordpress_create_pageCreate a new page in WordPress. Args: - title: Page title (required) - content: Page content in HTML (required) - status: Page status (publish, draft, pending, private, future) - excerpt: Page excerpt - author: Author user ID - parent: Parent page ID for hierarchical pages - menuOrder: Order in page menus - featuredMedia: Featured image media ID - commentStatus: Comment status (open, closed) - template: Page template slug - slug: URL slug Returns the created page.
wordpress_update_pageUpdate an existing page. Args: - pageId: Page ID to update (required) - title: New title - content: New content (HTML) - status: New status - excerpt: New excerpt - author: New author ID - parent: New parent page ID - menuOrder: New menu order - featuredMedia: New featured image ID - template: New page template Returns the updated page.
wordpress_delete_pageDelete a page. Args: - pageId: Page ID to delete (required) - force: Bypass trash and permanently delete (default: false) Returns confirmation of deletion.
wordpress_list_page_revisionsList revisions for a specific page. Args: - pageId: Parent page ID (required) - perPage: Number of revisions per page - page: Page number - format: Response format Returns list of page revisions.
wordpress_get_page_revisionGet a specific page revision. Args: - pageId: Parent page ID (required) - revisionId: Revision ID (required) - format: Response format Returns the revision.
wordpress_delete_page_revisionDelete a page revision. Args: - pageId: Parent page ID (required) - revisionId: Revision ID to delete (required) Returns confirmation.
wordpress_list_page_autosavesList autosaves for a specific page. Args: - pageId: Parent page ID (required) - format: Response format Returns list of autosaves.
wordpress_create_page_autosaveCreate an autosave for a page. Args: - pageId: Parent page ID (required) - title: Title content (required) - content: Content to autosave (required) - excerpt: Excerpt content Returns the created autosave.
wordpress_list_pluginsList installed plugins. Args: - status: Filter by status (active, inactive) - search: Search query string - format: Response format (json or markdown) Returns list of installed plugins with status and version.
wordpress_get_pluginGet details about a specific plugin. Args: - plugin: Plugin file path (e.g., 'akismet/akismet.php') (required) - format: Response format Returns plugin details including version and description.
wordpress_activate_pluginActivate an installed plugin. Args: - plugin: Plugin file path (e.g., 'akismet/akismet.php') (required) Returns the activated plugin.
wordpress_deactivate_pluginDeactivate an active plugin. Args: - plugin: Plugin file path (e.g., 'akismet/akismet.php') (required) Returns the deactivated plugin.
wordpress_delete_pluginDelete a plugin. The plugin must be deactivated first. Args: - plugin: Plugin file path (e.g., 'akismet/akismet.php') (required) Returns confirmation of deletion.
wordpress_create_tagCreate a new tag. Args: - name: Tag name (required) - slug: URL slug (optional) - description: Tag description Returns the created tag.
wordpress_list_postsList posts from WordPress with filtering and pagination. Args: - perPage: Number of posts to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - status: Filter by status (publish, draft, pending, private, future, trash) - author: Filter by author ID - categories: Filter by category IDs (comma-separated) - tags: Filter by tag IDs (comma-separated) - orderby: Sort field (date, title, id, modified, author, relevance) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of posts with metadata.
wordpress_get_postGet a single post by ID. Args: - postId: The post ID (required) - format: Response format (json or markdown) Returns the post with all fields including content.
wordpress_create_postCreate a new post in WordPress. Args: - title: Post title (required) - content: Post content in HTML (required) - status: Post status (publish, draft, pending, private, future) - excerpt: Post excerpt - author: Author user ID - categories: Category IDs (array of numbers) - tags: Tag IDs (array of numbers) - featuredMedia: Featured image media ID - format: Post format (standard, aside, chat, gallery, link, image, quote, status, video, audio) - sticky: Whether the post is sticky - commentStatus: Comment status (open, closed) - slug: URL slug Returns the created post.
wordpress_update_postUpdate an existing post. Args: - postId: Post ID to update (required) - title: New title - content: New content (HTML) - status: New status - excerpt: New excerpt - author: New author ID - categories: New category IDs - tags: New tag IDs - featuredMedia: New featured image ID - sticky: Sticky status - commentStatus: Comment status Returns the updated post.
wordpress_delete_postDelete a post. Args: - postId: Post ID to delete (required) - force: Bypass trash and permanently delete (default: false) Returns confirmation of deletion.
wordpress_list_post_revisionsList revisions for a specific post. Args: - postId: Parent post ID (required) - perPage: Number of revisions per page - page: Page number - format: Response format Returns list of post revisions.
wordpress_get_post_revisionGet a specific post revision. Args: - postId: Parent post ID (required) - revisionId: Revision ID (required) - format: Response format Returns the revision with content.
wordpress_delete_post_revisionDelete a post revision. Args: - postId: Parent post ID (required) - revisionId: Revision ID to delete (required) Returns confirmation of deletion.
wordpress_list_post_autosavesList autosaves for a specific post. Args: - postId: Parent post ID (required) - format: Response format Returns list of autosaves.
wordpress_create_post_autosaveCreate an autosave for a post. Args: - postId: Parent post ID (required) - title: Title content (required) - content: Content to autosave (required) - excerpt: Excerpt content Returns the created autosave.
wordpress_get_settingsGet site settings. Args: - format: Response format (json or markdown) Returns site settings including title, description, timezone, date format, etc.
wordpress_update_settingsUpdate site settings. Args: - title: Site title - description: Site tagline - timezone: Timezone city - dateFormat: Date format string - timeFormat: Time format string - startOfWeek: First day of week (0-6, Sunday-Saturday) - language: Site language code - postsPerPage: Number of posts per page - defaultCategory: Default post category ID - defaultCommentStatus: Default comment status (open, closed) - defaultPingStatus: Default ping status (open, closed) Returns the updated settings.
wordpress_list_post_typesList all registered post types. Args: - format: Response format (json or markdown) Returns all post types including posts, pages, and custom types.
wordpress_get_post_typeGet details about a specific post type. Args: - postType: Post type slug (e.g., 'post', 'page') (required) - format: Response format Returns post type details including labels and capabilities.
wordpress_list_post_statusesList all available post statuses. Args: - format: Response format (json or markdown) Returns all statuses (publish, draft, pending, private, etc.).
wordpress_get_post_statusGet details about a specific post status. Args: - status: Status slug (e.g., 'publish', 'draft') (required) - format: Response format Returns status details.
wordpress_searchSearch across WordPress content. Args: - search: Search query string (required) - perPage: Results per page (1-100, default: 10) - page: Page number (default: 1) - type: Object type to search (post, term, post-format) - subtype: Specific subtype (post, page, category, post_tag) - format: Response format Returns search results with titles and URLs.
wordpress_list_categoriesList categories from WordPress. Args: - perPage: Number of categories to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - parent: Filter by parent category ID - hideEmpty: Hide categories with no posts - orderby: Sort field (id, name, slug, count, term_group) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of categories.
wordpress_get_categoryGet a single category by ID. Args: - categoryId: The category ID (required) - format: Response format Returns the category with all fields.
wordpress_create_categoryCreate a new category. Args: - name: Category name (required) - slug: URL slug (optional, auto-generated from name) - description: Category description - parent: Parent category ID for hierarchical categories Returns the created category.
wordpress_update_categoryUpdate an existing category. Args: - categoryId: Category ID to update (required) - name: New name - slug: New slug - description: New description - parent: New parent category ID Returns the updated category.
wordpress_delete_categoryDelete a category. Args: - categoryId: Category ID to delete (required) Note: Posts in this category will be moved to the default category.
wordpress_list_tagsList tags from WordPress. Args: - perPage: Number of tags to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - hideEmpty: Hide tags with no posts - orderby: Sort field (id, name, slug, count) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of tags.
wordpress_get_tagGet a single tag by ID. Args: - tagId: The tag ID (required) - format: Response format Returns the tag with all fields.
wordpress_update_tagUpdate an existing tag. Args: - tagId: Tag ID to update (required) - name: New name - slug: New slug - description: New description Returns the updated tag.
wordpress_delete_tagDelete a tag. Args: - tagId: Tag ID to delete (required) Returns confirmation of deletion.
wordpress_list_taxonomiesList all registered taxonomies. Args: - format: Response format (json or markdown) Returns all taxonomies including categories, tags, and custom taxonomies.
wordpress_get_taxonomyGet details about a specific taxonomy. Args: - taxonomy: Taxonomy slug (e.g., 'category', 'post_tag') (required) - format: Response format Returns taxonomy details including labels and settings.
wordpress_list_themesList installed themes. Args: - status: Filter by status (active, inactive) - format: Response format (json or markdown) Returns list of installed themes with status and version.
wordpress_get_themeGet details about a specific theme. Args: - stylesheet: Theme stylesheet/slug (required) - format: Response format Returns theme details including version, author, and features.
wordpress_get_active_themeGet the currently active theme. Args: - format: Response format Returns the active theme details.
wordpress_list_usersList users from WordPress. Args: - perPage: Number of users to return (1-100, default: 10) - page: Page number (default: 1) - search: Search query string - roles: Filter by role(s) (comma-separated) - who: Filter authors ('authors' only) - orderby: Sort field (id, name, registered_date, email, url) - order: Sort order (asc, desc) - format: Response format (json or markdown) Returns paginated list of users.
wordpress_get_userGet a single user by ID. Args: - userId: The user ID (required) - format: Response format Returns the user with all fields.
wordpress_get_current_userGet the currently authenticated user. Args: - format: Response format Returns the current user's profile.
wordpress_create_userCreate a new user. Args: - username: Username (required) - email: Email address (required) - password: Password (required) - name: Display name - firstName: First name - lastName: Last name - url: Website URL - description: Bio/description - locale: User locale - nickname: Nickname - roles: User roles (array) Returns the created user.
wordpress_update_userUpdate an existing user. Args: - userId: User ID to update (required) - email: New email - password: New password - name: New display name - firstName: New first name - lastName: New last name - url: New website URL - description: New bio - locale: New locale - nickname: New nickname - roles: New roles Returns the updated user.
wordpress_delete_userDelete a user. Args: - userId: User ID to delete (required) - reassign: User ID to reassign posts to (required) Returns confirmation of deletion.
wordpress_list_application_passwordsList application passwords for a user. Args: - userId: User ID (required) - format: Response format Returns list of application passwords (without the actual passwords).
wordpress_create_application_passwordCreate a new application password for a user. Args: - userId: User ID (required) - name: Application name (required) - appId: Application UUID (optional) Returns the new application password. IMPORTANT: The password is only shown once!
wordpress_delete_application_passwordDelete an application password. Args: - userId: User ID (required) - uuid: Application password UUID (required) Returns confirmation of deletion.
wordpress_delete_all_application_passwordsDelete all application passwords for a user. Args: - userId: User ID (required) Returns count of deleted passwords.
wordpress_list_widgetsList widgets. Args: - sidebar: Filter by sidebar ID - format: Response format (json or markdown) Returns list of widgets with their configuration.
wordpress_get_widgetGet a specific widget by ID. Args: - widgetId: The widget ID (required) - format: Response format Returns the widget with configuration.
wordpress_list_widget_typesList available widget types. Args: - format: Response format (json or markdown) Returns list of registered widget types.
wordpress_list_sidebarsList registered sidebars (widget areas). Args: - format: Response format (json or markdown) Returns list of sidebars with their status and widgets.
wordpress_get_sidebarGet a specific sidebar by ID. Args: - sidebarId: The sidebar ID (required) - format: Response format Returns the sidebar with widgets list.
wordpress_list_blocks{
"page": true,
"order": "example_order",
"format": "example_format",
"search": "example_search",
"status": "example_status",
"orderby": "example_orderby",
"perPage": true
}wordpress_get_block{
"format": "example_format",
"blockId": 10
}wordpress_create_block{
"slug": "example_slug",
"title": "example_title",
"status": "example_status",
"content": "example_content"
}