wordpress-mcp
by nextestudios
README.md
# WordPress MCP Server
An MCP server for day-to-day WordPress maintenance across multiple client sites.
## What it can do
- list configured sites
- inspect site health and pending updates
- list plugins and themes
- update plugins
- update themes
- update WordPress core
- create remote backups via SSH + WP-CLI
## Requirements
- Python 3.11+
- `mcp`
- `pydantic`
- `PyYAML`
- SSH access to each WordPress host
- WP-CLI installed on each remote host
## Install
### Option A — install from the repo
```bash
git clone https://github.com/nextestudios/wordpress-mcp.git
cd wordpress-mcp
uv tool install .
```
### Option B — install with pipx
```bash
git clone https://github.com/nextestudios/wordpress-mcp.git
cd wordpress-mcp
pipx install .
```
Both options install the `wordpress-mcp` command.
## Configuration
Create `~/.hermes/wordpress-mcp.yaml`:
```yaml
sites:
client-a:
label: Client A
ssh:
host: your-server.example.com
user: deploy
port: 22
key_path: ~/.ssh/id_ed25519
path: /var/www/client-a/public_html
wp_bin: wp
shell: bash
```
You can also point the server at a different file with `WORDPRESS_MCP_CONFIG`.
## Run locally
```bash
wordpress-mcp
```
## Hermes config
Add this to `~/.hermes/config.yaml`:
```yaml
mcp_servers:
wordpress:
command: wordpress-mcp
```
Or add it interactively:
```bash
hermes mcp add wordpress --command wordpress-mcp
```
Restart Hermes and the tools will appear with the `mcp_wordpress_*` prefix.
## Suggested workflow
1. `wordpress_list_sites`
2. `wordpress_site_status`
3. `wordpress_site_backup`
4. `wordpress_site_update_plugins`
5. `wordpress_site_update_themes`
6. `wordpress_site_update_core`
7. Re-check `wordpress_site_status`
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues