WordPress MCP Server
An MCP server for integrating with and managing WordPress sites.
WordPress MCP Server
A Model Context Protocol (MCP) server for WordPress integration, compatible with Windows, macOS, and Linux.
Overview
This MCP server enables interaction with WordPress sites through the WordPress REST API. It provides tools for creating, retrieving, and updating posts using JSON-RPC 2.0 protocol.
Installation
- Clone the repository
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Add the server to your MCP settings file with environment variables for WordPress credentials:
{
"mcpServers": {
"wordpress": {
"command": "node",
"args": ["path/to/build/index.js"],
"env": {
"WORDPRESS_SITE_URL": "https://your-wordpress-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_PASSWORD": "your-app-password"
}
}
}
}
The environment variables are:
- WORDPRESS_SITE_URL: Your WordPress site URL
- WORDPRESS_USERNAME: WordPress username
- WORDPRESS_PASSWORD: WordPress application password
You can also provide these credentials in the request parameters if you prefer not to use environment variables.
Available Methods
create_post
Creates a new WordPress post.
Parameters:
- siteUrl: (optional if set in env) WordPress site URL
- username: (optional if set in env) WordPress username
- password: (optional if set in env) WordPress application password
- title: Post title
- content: Post content
- status: (optional) 'draft' | 'publish' | 'private' (default: 'draft')
get_posts
Retrieves WordPress posts.
Parameters:
- siteUrl: (optional if set in env) WordPress site URL
- username: (optional if set in env) WordPress username
- password: (optional if set in env) WordPress application password
- perPage: (optional) Number of posts per page (default: 10)
- page: (optional) Page number (default: 1)
update_post
Updates an existing WordPress post.
Parameters:
- siteUrl: (optional if set in env) WordPress site URL
- username: (optional if set in env) WordPress username
- password: (optional if set in env) WordPress application password
- postId: ID of the post to update
- title: (optional) New post title
- content: (optional) New post content
- status: (optional) 'draft' | 'publish' | 'private'
Security Note
For security, it's recommended to use WordPress application passwords instead of your main account password. You can generate an application password in your WordPress dashboard under Users → Security → Application Passwords.
Example Usage
Using environment variables:
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_post",
"params": {
"title": "My New Post",
"content": "Hello World!",
"status": "draft"
}
}
Without environment variables:
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_post",
"params": {
"siteUrl": "https://your-wordpress-site.com",
"username": "your-username",
"password": "your-app-password",
"title": "My New Post",
"content": "Hello World!",
"status": "draft"
}
}
Requirements
- Node.js 20.0.0 or higher
- WordPress site with REST API enabled
- WordPress application password for authentication
License
MIT License - See LICENSE file for details
Related Servers
Just Prompt
A unified interface for various Large Language Model (LLM) providers, including OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, and Ollama.
FMP MCP Server
Provides tools, resources, and prompts for financial analysis using the Financial Modelling Prep API.
shadcn/ui
Provides structured data for shadcn/ui components, including descriptions, installation instructions, usage examples, and props.
MCP SBOM Server
Performs a Trivy scan to produce a Software Bill of Materials (SBOM) in CycloneDX format.
Dify MCP Server
A TypeScript-based server that integrates the Dify AI application platform with the MCP Client.
Clangaroo
Provides fast C++ code intelligence for LLMs using the clangd language server.
MCP Proxy Server
Aggregates multiple MCP resource servers into a single interface with stdio/sse support.
MCP-Portainer Bridge
Manage Docker containers through the Portainer API.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, without authentication.
Wrapping MCP server with Express
A simple example of wrapping an MCP server with Express for web integration.