About Wordpress MCP Server
Wordpress MCP Server is an MCP server published by prathammanocha in the Developer Tools category: this is the most comprehensive wordpress mcp server. Includes functionality to perform CRUD operations on Users, Blogs, Categories and much more. Get specialised stats as well.
The repository has 50 stars and 17 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/prathammanocha/wordpress-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (29)
create-categoryCreate a new WordPress category
Parameters not published.
create-commentCreate a new comment on a WordPress post
Parameters not published.
create-postCreate a new WordPress post
Parameters not published.
create-userCreate a new WordPress user
Parameters not published.
delete-categoryDelete a WordPress category
Parameters not published.
delete-postDelete a WordPress post
Parameters not published.
delete-userDelete a WordPress user
Parameters not published.
get-categoryGet a specific category by ID
Parameters not published.
get-clicksView a site
Parameters not published.
get-commentsGet a list of comments from a WordPress site
Parameters not published.
Show all 29 tools
get-country-viewsView a site
Parameters not published.
get-postGet a specific post by ID
Parameters not published.
get-post-statsView a specific post
Parameters not published.
get-referrersView a site
Parameters not published.
get-search-termsView search terms used to find the site
Parameters not published.
get-site-statsGet comprehensive stats for a WordPress site
Parameters not published.
get-stats-highlightsGet highlight metrics for a WordPress site from the last seven days
Parameters not published.
get-stats-summaryView a site
Parameters not published.
get-streak-statsGet stats for Calendar Heatmap showing publishing activity
Parameters not published.
get-top-postsView a site
Parameters not published.
get-userGet a specific user by ID
Parameters not published.
get-usersGet a list of users from a WordPress site with advanced filtering options
Parameters not published.
list-categoriesGet a list of categories with filtering options
Parameters not published.
list-postsGet a list of posts with comprehensive filtering options
Parameters not published.
remove-referrer-spamUnreport a referrer as spam
Parameters not published.
report-referrer-spamReport a referrer as spam
Parameters not published.
update-categoryUpdate an existing WordPress category
Parameters not published.
update-postUpdate an existing WordPress post
Parameters not published.
update-userUpdate an existing WordPress user
Parameters not published.
Ask AI
Ask AI about Wordpress MCP Server
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 6 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Comprehensive WordPress MCP Server
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with WordPress sites through the WordPress REST API. This server provides tools for managing all aspects of WordPress programmatically, including posts, users, comments, categories, tags, and custom endpoints.
Features
Post Management
- Create, retrieve, update, and delete WordPress posts
- Filter posts by various parameters
- Pagination support for post listings
User Management
- Retrieve user information by ID or login
- Update user details
- Delete users
Comments Management
- Create, retrieve, update, and delete comments
- Filter comments by post
- Pagination support for comment listings
Taxonomy Management
- Manage categories and tags
- Create, retrieve, update, and delete taxonomies
- Find categories and tags by slug
Site Information
- Retrieve general WordPress site information
Custom Requests
- Support for custom REST API endpoints
- Custom HTTP methods (GET, POST, PUT, DELETE)
- Custom data and parameters
Prerequisites
- Node.js v18 or higher
- A WordPress site with REST API enabled
- WordPress application password for authentication
Installation
- Clone this repository:
git clone [repository-url]
cd wordpress-mcp-server
- Install dependencies:
npm install
- Build the server:
npm run build
WordPress Configuration
Before using the server, you need to set up your WordPress site:
- Ensure your WordPress site has REST API enabled (enabled by default in WordPress 4.7+)
- Create an application password:
- Log in to your WordPress admin panel
- Go to Users → Profile
- Scroll down to "Application Passwords"
- Enter a name for the application (e.g., "MCP Server")
- Click "Add New Application Password"
- Copy the generated password (you won't be able to see it again)
MCP Configuration
Add the server to your MCP settings file (usually located at ~/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
{
"mcpServers": {
"wordpress": {
"command": "node",
"args": ["path/to/wordpress-mcp-server/build/index.js"]
}
}
}
Available Tools
Post Management
1. create_post
Creates a new WordPress post.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordtitle(required): Post titlecontent(required): Post contentstatus(optional): Post status ('draft', 'publish', or 'private', defaults to 'draft')
Example:
{
"tool": "create_post",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"title": "My First Post",
"content": "Hello, world!",
"status": "draft"
}
2. get_posts
Retrieves WordPress posts with pagination.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordperPage(optional): Number of posts per page (default: 10)page(optional): Page number (default: 1)customParams(optional): Additional query parameters
Example:
{
"tool": "get_posts",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"perPage": 5,
"page": 1
}
3. update_post
Updates an existing WordPress post.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordpostId(required): ID of the post to updatetitle(optional): New post titlecontent(optional): New post contentstatus(optional): New post status ('draft', 'publish', or 'private')
Example:
{
"tool": "update_post",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"postId": 123,
"title": "Updated Title",
"content": "Updated content",
"status": "publish"
}
4. delete_post
Deletes a WordPress post.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordpostId(required): ID of the post to delete
Example:
{
"tool": "delete_post",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"postId": 123
}
User Management
1. get_users
Retrieves WordPress users.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordperPage(optional): Number of users per page (default: 10)page(optional): Page number (default: 1)
2. get_user
Retrieves a specific WordPress user by ID.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passworduserId(required): ID of the user to retrieve
3. get_user_by_login
Retrieves a WordPress user by login name.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passworduserLogin(required): Login name of the user to retrieve
Comment Management
1. get_comments
Retrieves WordPress comments.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordperPage(optional): Number of comments per page (default: 10)page(optional): Page number (default: 1)postIdForComment(optional): Filter comments by post ID
2. create_comment
Creates a new comment on a post.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordpostIdForComment(required): ID of the post to comment oncommentContent(required): Content of the commentcustomData(optional): Additional comment data
Category and Tag Management
1. get_categories
Retrieves WordPress categories.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordperPage(optional): Number of categories per page (default: 10)page(optional): Page number (default: 1)
2. create_category
Creates a new WordPress category.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordcategoryName(required): Name of the category to createcustomData(optional): Additional category data (description, parent, etc.)
Custom Requests
1. custom_request
Makes a custom request to any WordPress REST API endpoint.
Parameters:
siteUrl(required): Your WordPress site URLusername(required): WordPress usernamepassword(required): WordPress application passwordcustomEndpoint(required): API endpoint pathcustomMethod(optional): HTTP method ('GET', 'POST', 'PUT', 'DELETE', default: 'GET')customData(optional): Data for POST/PUT requestscustomParams(optional): URL parameters for GET requests
Example:
{
"tool": "custom_request",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"customEndpoint": "wp/v2/media",
"customMethod": "GET",
"customParams": {
"per_page": 5
}
}
Response Format
All tools return responses in the following format:
Success Response
{
"success": true,
"data": {
// WordPress API response data
},
"meta": {
// Optional metadata (pagination info, etc.)
}
}
Error Response
{
"success": false,
"error": "Error message here"
}
Security Considerations
- Always use HTTPS URLs for your WordPress site
- Use application passwords instead of your main WordPress password
- Keep your application passwords secure and don't share them
- Consider using WordPress roles and capabilities to limit access
- Regularly rotate application passwords
Development
To contribute to the development:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests (when available)
- Submit a pull request
For development mode with automatic recompilation:
npm run dev
License
This project is licensed under the ISC License.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
README fetched from the repository 6 days ago. The original is authoritative.
