WordPress MCP Server
Allows interacting with a WordPress site via its REST API, providing tools for creating, retrieving, and updating posts with authentication using application passwords.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WordPress MCP Servercreate a new draft post titled 'My First Post'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WordPress MCP Server
A 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 WordPress content programmatically, including creating, retrieving, and updating posts.
Features
Create new WordPress posts with customizable titles, content, and status
Retrieve WordPress posts with pagination support
Update existing posts with new content or status
Secure authentication using WordPress application passwords
Error handling and detailed response messages
Related MCP server: WordPress MCP Server
Prerequisites
Node.js v18 or higher
A WordPress site with REST API enabled
WordPress application password for authentication
Installation
Clone this repository:
git clone https://github.com/stefans71/wordpress-mcp-server.git
cd wordpress-serverInstall dependencies:
npm installBuild the server:
npm run buildWordPress 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-server/build/index.js"]
}
}
}Available Tools
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)
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"
}Response Format
All tools return responses in the following format:
Success Response
{
"success": true,
"data": {
// WordPress API response data
}
}Error Response
{
"success": false,
"error": "Error message here"
}Error Handling
The server handles various types of errors:
Invalid request format
Missing required parameters
WordPress API errors
Authentication failures
Network issues
Each error response includes a descriptive message to help diagnose the issue.
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
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. By contributing to this project, you agree to abide by its terms.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sunc901008/stefans71_wordpress-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server