# WordPress MCP

> WordPress MCP lets your AI agent manage content, users, and pages directly from conversation. You can publish drafts, list site authors, check post metadata, or organize categories without touching the WP Admin dashboard. It brings full site control to any MCP-compatible client.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** cms, blogging, web-publishing, user-management, plugin-ecosystem, website-administration

## Description

You connect this MCP and tell your agent what you need done with your website content. Need a new article? Your agent handles drafting it as a draft post, so it's ready for review. Want to see who wrote everything? It lists every user and contributor on the site. You can also manage organization by listing categories or checking which static pages exist. This is about treating your whole CMS like another API endpoint that just talks to you. If you plan to build complex automations—say, drafting a post, then updating a billing record, and finally sending a notification—you'll appreciate how Vinkius lets you chain this WordPress MCP with other services using one consistent connection point. It keeps your keys safe in transit through the zero-trust proxy while giving your agent full control over content operations.

## Tools

### create_new_post
Creates a brand new blog post on the site for you.

### delete_post
Removes an existing blog post completely from the website.

### get_post_details
Retrieves all metadata, like the date and author, for a specific blog post by its identifier.

### list_blog_categories
Pulls a list of every category currently used to organize your blog posts.

### list_static_pages
Lists non-blog pages, like 'About Us' or 'Contact', using their dedicated page slugs.

### list_blog_posts
Retrieves a list of recent or filtered blog entries on the site.

### list_site_users
Gets a full list and basic details about every registered user on the website.

## Prompt Examples

**Prompt:** 
```
List the most recent blog posts on my site.
```

**Response:** 
```
I've retrieved your latest posts. You have: 'Introduction to MCP', 'Why WordPress is King', and 'AI in Content Curation'. Which one would you like to inspect?
```

**Prompt:** 
```
Create a draft post titled 'Benefits of Remote Work' with some placeholder text.
```

**Response:** 
```
Success! The draft 'Benefits of Remote Work' has been created on your site (ID: 5521). You can find it in your WordPress dashboard under Posts > All Posts.
```

**Prompt:** 
```
Who are the registered authors on my WordPress site?
```

**Response:** 
```
Fetching user list... I found 3 active users: 'admin' (Administrator), 'jane_doe' (Editor), and 'bob_smith' (Author). Let me know if you need details on any of them.
```

## Capabilities

### Create and publish blog posts
It handles generating new articles, setting them as drafts, or publishing them live with proper HTML formatting.

### List site members and authors
You can pull a list of every registered user on the site, seeing who has what role (administrator, editor, contributor).

### Manage content organization
The agent reads all existing categories and tags so you know exactly how your content is structured.

### Retrieve specific post data
You ask for a post by its slug, and it returns the full metadata—the date, author, status, etc.—for inspection.

### Delete unwanted content
It removes specified blog posts or static pages entirely from the site.

## Use Cases

### The content rollout check
A client asks, 'Did the new policy page go live?' Instead of checking multiple dashboards, you ask your agent to run `list_static_pages` and confirm if the 'Policies' slug is present. If it is, you know it's done.

### User cleanup after an employee leaves
A team member left but their account still exists. You run `list_site_users` to verify the user list and then use the agent to manage that specific account, ensuring no orphaned credentials exist.

### Building a content automation chain
You need to publish an article only if it falls into the 'Tutorial' category. You combine `list_blog_categories` with `create_new_post` in one automated flow, making sure the post gets the correct taxonomy tags automatically.

### Reviewing old content for deletion
You are tasked with clearing out outdated blog posts. You run `list_blog_posts`, filter by date, and then use the agent to execute `delete_post` on every item older than six months.

## Benefits

- Publishing is faster. You can create a new post or draft an article using `create_new_post` via simple commands, bypassing the entire editor interface.
- Know your audience immediately. Use `list_site_users` to get a clear list of who has access and what their roles are on the platform.
- Keep content organized. You can use `list_blog_categories` to quickly see how tags and categories are structured across the entire site.
- Audit your work instantly. Instead of guessing, run `get_post_details` to pull specific metadata for any post you need to verify.
- Clean up mess easily. If a post is obsolete, running `delete_post` takes it down immediately without manual clicks.

## How It Works

The bottom line is your AI client talks directly to your site’s backend like a native administrator.

1. Start by providing your WordPress URL, username, and application password to this MCP.
2. Connect your agent through any compatible client (Claude, Cursor, etc.).
3. Then, simply tell the agent what you want: 'List all users' or 'Draft a post about X'.

## Frequently Asked Questions

**How do I use list_site_users with the WordPress MCP?**
You tell your agent to run `list_site_users`. It pulls a complete roster of everyone on the site, showing their username and what level of access they have (like Administrator or Editor).

**Can I use get_post_details to check post status?**
Yes. You provide the slug or ID, and `get_post_details` returns all the metadata, including whether the article is currently published, a draft, or pending review.

**What's the difference between listing blog posts and static pages?**
Use `list_blog_posts` for time-sensitive, sequential articles. Use `list_static_pages` for evergreen content like 'Contact Us' or 'About,' which don't belong in a chronological feed.

**What happens when I use delete_post?**
The system permanently removes the specified blog post from the live site. It’s an irreversible action, so always confirm the slug or ID before asking for deletion.

**When I use get_post_details, what kinds of metadata can I access for a specific post?**
It returns comprehensive data, including not just the title and body but also author details, featured image IDs, and custom fields. This means your agent has full visibility into how that content is structured within WordPress.

**If I use list_blog_categories, does it show the hierarchical relationship between categories?**
Yes, the output provides a clear parent-child structure for all listed categories. This lets your agent understand and manage the full taxonomy tree of your website.

**Can I use create_new_post to set a specific publication status besides 'draft'?**
You can specify any required publishing status, like 'pending' or 'private', when calling this tool. This lets your agent control the exact visibility and workflow of content before it ever goes live.

**When I call list_blog_posts, can I narrow down results by date range or author?**
You absolutely can pass parameters to filter the results. You'll need only specific data points if you limit posts by a certain date or assign them to a particular user.

**How do I create a new post as a draft?**
Use the `create_new_post` action. Provide the title and content, and set the optional status parameter to `draft`. The post will appear in your WP Admin for final review.

**Can I see a list of all static pages like 'About Us'?**
Yes! Use the `list_static_pages` query. Your agent will retrieve all static pages from your WordPress site, including their IDs and current status.

**Is it possible to delete a post via the AI?**
Absolutely. Use the `delete_post` tool and provide the unique ID of the post you want to remove. The content will be permanently deleted from your site.