Skip to main content
Glama
README.md
[![MCP Toplist](https://mcptoplist.com/badge/glama%2Fdocdyhr%2Fmcp-wordpress.svg)](https://mcptoplist.com/server/glama%2Fdocdyhr%2Fmcp-wordpress)

<div align="right">
<a href="https://railway.com?referralCode=QhjuBc">
  <img width="160" src="https://raw.githubusercontent.com/docdyhr/.github/main/assets/railway-corner-v2@2x.png" alt="Deploy on Railway โ€” $20 free credits">
</a>
</div>

# ๐Ÿš€ MCP WordPress Server

<div align="center">
<img src="images/wordpress-mcp-logo.png" width="50%" alt="WordPress MCP Logo">

**The Most Comprehensive WordPress MCP Server**

Manage WordPress sites with natural language through AI tools like Claude Desktop

[Quick Start](#-quick-start) โ€ข [Why This MCP Server?](#-why-this-mcp-server)
[Installation Options](#-installation-options) โ€ข [Documentation](#-documentation) โ€ข [Examples](#-examples)

[![CI/CD Pipeline](https://github.com/docdyhr/mcp-wordpress/actions/workflows/main-ci.yml/badge.svg)](https://github.com/docdyhr/mcp-wordpress/actions/workflows/main-ci.yml)
[![GitHub Stars](https://img.shields.io/github/stars/docdyhr/mcp-wordpress?style=social)](https://github.com/docdyhr/mcp-wordpress/stargazers)
[![NPM Version](https://img.shields.io/npm/v/mcp-wordpress?logo=npm&logoColor=white)](https://www.npmjs.com/package/mcp-wordpress)
[![NPM Downloads](https://img.shields.io/npm/dm/mcp-wordpress?logo=npm&logoColor=white)](https://www.npmjs.com/package/mcp-wordpress)
[![NPM Total Downloads](https://img.shields.io/npm/dt/mcp-wordpress?logo=npm&logoColor=white&label=total%20downloads)](https://www.npmjs.com/package/mcp-wordpress)
[![Docker Pulls](https://img.shields.io/docker/pulls/docdyhr/mcp-wordpress?logo=docker&logoColor=white)](https://hub.docker.com/r/docdyhr/mcp-wordpress)
[![Coverage Status](https://img.shields.io/codecov/c/github/docdyhr/mcp-wordpress?logo=codecov&logoColor=white)](https://codecov.io/gh/docdyhr/mcp-wordpress)

[![TypeScript](https://img.shields.io/badge/TypeScript-100%25-blue?logo=typescript&logoColor=white)](https://github.com/docdyhr/mcp-wordpress)
[![CodeQL](https://github.com/docdyhr/mcp-wordpress/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/docdyhr/mcp-wordpress/actions/workflows/codeql-analysis.yml)
[![Docker](https://img.shields.io/badge/docker-ready-blue?logo=docker&logoColor=white)](https://hub.docker.com/r/docdyhr/mcp-wordpress)
[![License](https://img.shields.io/badge/license-MIT-green?logo=opensource&logoColor=white)](https://github.com/docdyhr/mcp-wordpress/blob/main/LICENSE)

<!-- Badges updated: 2025-12-23 -->

### ๐ŸŽ‰ **v3.3.21** - CI-Tested on Node 20/22/24

</div>

## ๐ŸŽฏ Why This MCP Server?

**Transform WordPress management** from complex admin panels to simple conversations:

```text
โŒ Before: Login โ†’ Admin Panel โ†’ Navigate โ†’ Click โ†’ Fill Forms โ†’ Save
โœ… After:  "Create a new blog post about AI trends with SEO optimization"
```

**Key Advantages:**

- ๐Ÿ† **Most Complete**: 71 tools vs 20-30 in alternatives
- โšก **Fastest Setup**: 2-click Claude Desktop installation via DXT
- ๐Ÿ”’ **CI-Tested**: 2750+ tests across Node 20/22/24, CodeQL + Trivy security scanning
- ๐ŸŽฏ **TypeScript Native**: 100% type safety, best-in-class developer experience
- ๐ŸŒ **Multi-Site**: Manage up to 50 WordPress sites from one place

## ๐Ÿš€ Quick Start

Get up and running in **under 5 minutes**:

### Prerequisites

- **WordPress**: Version 5.6+ with REST API enabled
- **Claude Desktop**: Latest version installed
- **Application Password**: Generated from WordPress admin panel

### 3-Step Setup

**1๏ธโƒฃ Generate WordPress Application Password**

```text
WordPress Admin โ†’ Users โ†’ Profile โ†’ Application Passwords โ†’ Add New
```

**2๏ธโƒฃ Install MCP Server (Choose One)**

**Option A: DXT Extension (Easiest)**

```bash
# Download and install in Claude Desktop
curl -L https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt -o mcp-wordpress.dxt
# Then: Claude Desktop โ†’ Extensions โ†’ Install โ†’ Select DXT file
```

**Option B: NPM Global Install**

```bash
npm install -g mcp-wordpress
```

**3๏ธโƒฃ Test Your Connection**

```text
In Claude: "Test my WordPress connection"
Response: "โœ… Authentication successful! Connected to: Your Site Name"
```

๐Ÿ“บ **[Watch 2-minute Setup Video](https://github.com/docdyhr/mcp-wordpress/wiki/setup-video)** | ๐Ÿ“–
**[Detailed Setup Guide](docs/INSTALLATION.md)**

## โšก Installation Options

### ๐Ÿ† Recommended: Claude Desktop Extension (DXT)

**Easiest installation - just 2 clicks!**

1. **Download**:
   [`mcp-wordpress.dxt`](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt) (3.4MB)
2. **Install**: Claude Desktop โ†’ Extensions โ†’ Install โ†’ Select DXT file
3. **Configure**: Enter your WordPress site URL and credentials

โœ… **Zero command line required** โœ… **Easy updates** โœ… **Built-in security**

**[๐Ÿ“– Complete DXT Setup Guide โ†’](docs/integrations/claude-desktop.md)**

### ๐Ÿš€ Alternative: NPX (Power Users)

```bash
# Run directly - always latest version
npx -y mcp-wordpress

# Interactive setup wizard
npm run setup
```

### ๐Ÿ”ง Other Options

- ๐Ÿ’ป **[NPM Setup](docs/user-guides/NPM_SETUP.md)** - Local development
- ๐Ÿณ **[Docker Setup](docs/user-guides/DOCKER_SETUP.md)** - Production deployment
- ๐Ÿ”ง **[Manual Build](docs/developer/BUILD_SYSTEM.md)** - Custom builds

## ๐Ÿ“‹ Configuration

**Single Site (.env)**

```bash
WORDPRESS_SITE_URL=https://myblog.com
WORDPRESS_USERNAME=admin
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
```

**Claude Desktop Config**

```json
{
  "mcpServers": {
    "mcp-wordpress": {
      "command": "npx",
      "args": ["-y", "mcp-wordpress"],
      "env": {
        "WORDPRESS_SITE_URL": "https://myblog.com",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  }
}
```

๐Ÿ“– **[Complete Configuration Guide](docs/CONFIGURATION.md)** โ€” multi-site, JWT, Docker, production environments

## ๐Ÿ” Authentication

WordPress Application Passwords are recommended:

1. **WordPress Admin** โ†’ **Users** โ†’ **Profile** โ†’ **Application Passwords** โ†’ **Add New**
2. Copy the generated password into your config

Alternative methods: JWT, Basic Auth, API Key โ€” see
**[Authentication Configuration](docs/CONFIGURATION.md#authentication-configuration)**

## ๐ŸŒŸ What Makes This Special

| Feature                    | This Server                        | Competition     |
| -------------------------- | ---------------------------------- | --------------- |
| **Tools Available**        | 71 tools                           | 20-30 tools     |
| **Claude Desktop DXT**     | โœ… 2-click install                 | โŒ Manual setup |
| **Multi-Site Support**     | โœ… Up to 50 sites                  | โŒ Single site  |
| **TypeScript**             | โœ… 100% TypeScript, strict mode    | โš ๏ธ Partial/None |
| **Performance Monitoring** | โœ… Real-time analytics             | โŒ Basic only   |
| **Test Coverage**          | โœ… 2750+ tests, ~76% line coverage | โš ๏ธ Limited      |
| **Security Scanning**      | โœ… CodeQL + Trivy in CI            | โš ๏ธ Unknown      |

## ๐Ÿ“‹ Available Tools (71 Tools)

### Content Management

- **๐Ÿ“ Posts** (6 tools) - Create, edit, delete, list posts and revisions
- **๐Ÿ“„ Pages** (6 tools) - Manage static pages and revisions
- **๐Ÿ–ผ๏ธ Media** (5 tools) - Upload, manage media library and files
- **๐Ÿ” SEO** (11 tools) - Content analysis, metadata, schema markup, SERP tracking, keyword research

### User & Community

- **๐Ÿ‘ฅ Users** (6 tools) - User management and profiles
- **๐Ÿ’ฌ Comments** (7 tools) - Comment moderation and management
- **๐Ÿท๏ธ Taxonomies** (10 tools) - Categories and tags management

### Site Management

- **โš™๏ธ Site Settings** (6 tools) - Site configuration and statistics
- **๐Ÿ” Authentication** (3 tools) - Auth testing and management
- **โšก Cache Management** (4 tools) - Performance caching control
- **๐Ÿ“Š Performance Monitoring** (6 tools) - Real-time metrics and optimization
- **๐Ÿ› ๏ธ System** (1 tool) - Version checking

๐Ÿ“– **[Complete Tool Documentation](docs/api/README.md)** | **[Live API Reference](docs/developer/API_REFERENCE.md)**

## ๐Ÿค– Examples

```text
๐Ÿ’ฌ "Create a new blog post about AI trends with SEO optimization"
๐Ÿ’ฌ "Check my WordPress site performance and provide optimization recommendations"
๐Ÿ’ฌ "Find all draft posts older than 30 days and provide a summary"
๐Ÿ’ฌ "Batch update all client sites with the new privacy policy footer"
๐Ÿ’ฌ "List all posts from my client-blog site"
```

๐Ÿ“– **[More Examples](docs/examples/)** | **[Real-World Workflows](docs/examples/use-case-workflows.md)**

## ๐Ÿงช Testing & Security

```bash
npm test              # Full test suite (2750/2750 passing, 94 files)
npm run test:security # Security tests (371/371 passing)
npm run health        # System health check
```

๐Ÿ“– **[Security Documentation](docs/SECURITY.md)** โ€” OWASP coverage, penetration testing, compliance

## ๐Ÿ› ๏ธ Troubleshooting

```bash
npm run health         # System check
DEBUG=true npm run dev # Debug logging
npm run fix:rest-auth  # Fix WordPress 401 errors
```

| Error                | Solution                           |
| -------------------- | ---------------------------------- |
| `401 Unauthorized`   | Regenerate application password    |
| `403 Forbidden`      | Check user role (Editor+ required) |
| `404 Not Found`      | Verify `WORDPRESS_SITE_URL`        |
| `Connection Timeout` | Check WordPress REST API access    |

๐Ÿ“– **[Full Troubleshooting Guide](docs/TROUBLESHOOTING.md)**

## ๐Ÿ“š Documentation

### Getting Started

- **[Quick Start Guide](#-quick-start)** - Get running in 5 minutes
- **[Installation Guide](docs/INSTALLATION.md)** - Detailed setup instructions
- **[Configuration Guide](docs/CONFIGURATION.md)** - All configuration options
- **[Authentication Setup](docs/SECURITY.md#authentication)** - WordPress auth methods

### User Guides

- **[Basic Usage](docs/examples/single-site-setup.md)** - Common tasks and workflows
- **[Advanced Workflows](docs/examples/use-case-workflows.md)** - Complex automation
- **[Multi-Site Management](docs/examples/multi-site-setup.md)** - Managing multiple sites
- **[Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions

### Integration Guides

- **[Claude Desktop](docs/integrations/claude-desktop.md)** - Complete Claude integration
- **[VS Code](docs/integrations/vs-code.md)** - VS Code extension setup
- **[Cline](docs/integrations/cline.md)** - Cline AI assistant integration
- **[Developer Guide](docs/developer/README.md)** - Build your own MCP client

### Developer Documentation

- **[API Reference](docs/developer/API_REFERENCE.md)** - Complete tool documentation
- **[Architecture](docs/ARCHITECTURE.md)** - System design and decisions
- **[Contributing](CONTRIBUTING.md)** - Development guidelines
- **[Build System](docs/developer/BUILD_SYSTEM.md)** - Build and release

### Deployment & Operations

- **[Docker Deployment](docs/DOCKER.md)** - Container deployment
- **[Publishing Troubleshooting](docs/PUBLISHING-TROUBLESHOOTING.md)** - Fix publishing issues
- **[Security Best Practices](docs/SECURITY.md)** - Production security
- **[Caching](docs/CACHING.md)** - Performance and caching guide

## ๐Ÿ”ง Requirements

- **WordPress 5.0+** with REST API enabled
- **HTTPS recommended** for production
- **Application Passwords enabled** (WordPress 5.6+)

| Role              | Access                        |
| ----------------- | ----------------------------- |
| **Administrator** | Full access to all functions  |
| **Editor**        | Posts, pages, comments, media |
| **Author**        | Own posts and media           |
| **Contributor**   | Own posts (drafts only)       |
| **Subscriber**    | Read only                     |

## ๐Ÿš€ Next Steps

**Ready to transform your WordPress management?**

1. **๐Ÿ†
   [Download DXT Extension](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)** -
   Easiest setup (2 minutes)
2. **โšก [Try NPX Method](docs/user-guides/NPX_SETUP.md)** - Power user setup (5 minutes)
3. **๐Ÿ“š [Explore All Tools](docs/api/README.md)** - See what's possible
4. **๐Ÿ’ฌ [Join Discussions](https://github.com/docdyhr/mcp-wordpress/discussions)** - Get help and share ideas

---

## ๐Ÿ”— Similar Projects

- **[Automattic WordPress MCP](https://github.com/Automattic/wordpress-mcp)** - Official WordPress MCP server by
  Automattic

---

## ๐Ÿ“‹ Changelog

### v3.3.21 (July 2026)

- **๐Ÿ”’ Security Hardening** - SSRF denylist, HTTPS enforcement, logger redaction, dependency floor updates
- **๐Ÿณ Docker Release Reliability** - Bounded publish-job timeouts and corrected retry-on-hang logic
- **๐Ÿ“š DOX Documentation** - Hierarchical AGENTS.md contract tree for per-directory work guidance

See [CHANGELOG.md](./CHANGELOG.md) for the complete, release-by-release history.

### v3.3.14 (June 2026)

- **๐Ÿ”’ Security Updates** - Patch moderate Hono vulnerabilities, update allowlisted npm-bundled advisories
- **๐Ÿงช CI** - Smoke-test improvements and Node 24 validation

### v3.x Series (2025โ€“2026)

- **๐Ÿ—๏ธ Modular Architecture** - Domain-specific operation modules and composition pattern
- **๐Ÿ”„ Fault Tolerance** - Circuit breaker pattern with automatic recovery
- **๐Ÿ“Š 2200+ Tests** - Comprehensive test suite across security, cache, server, client, config, utils, tools, and
  performance
- **โšก Caching Layer** - `CachedWordPressClient` with configurable TTL; 50โ€“70% faster repeat requests
- **๐ŸŒ Multi-Site** - Up to 50 WordPress sites from one configuration file
- **๐Ÿ” 4 Auth Methods** - App Passwords (recommended), JWT, Basic, API Key
- **๐Ÿณ Docker & DXT** - One-click Claude Desktop extension and Docker Hub image

For the full history see [CHANGELOG.md](CHANGELOG.md).

---

## ๐Ÿ™ Acknowledgments

Special thanks to **[Stephan Ferraro](https://github.com/ferraro)** for the upstream project that inspired this
implementation.

---

<div align="center">

**โญ Found this helpful? [Give us a star on GitHub!](https://github.com/docdyhr/mcp-wordpress) โญ**

</div>

TDQS

C2.9/5.0

Scored across 27 tools

Disambiguation3/5

Most tools clearly target distinct resources such as comments, media, posts, categories, users, and settings. However, there is notable overlap among SEO tools: wp_seo_site_audit, wp_seo_analyze_content, wp_seo_get_live_data, and wp_seo_test_integration have fuzzy boundaries that could cause misselection.

Naming Consistency4/5

The naming pattern is generally consistent with wp_ + verb + noun, e.g., wp_get_media, wp_delete_post, wp_create_user. SEO tools follow a readable wp_seo_ prefix pattern, though a few like wp_seo_site_audit use a noun phrase rather than a clear verb_action form.

Tool Count2/5

At 27 tools, the server is above the comfortable range and feels bloated. Roughly a third of the tools are SEO-specific while core WordPress content operations are sparse, making the count high without corresponding breadth of fundamental functionality.

Completeness2/5

The core WordPress lifecycle has significant gaps: there is no post creation or editing, no media deletion/update, no user listing/updating, no comment moderation, and category support is limited to get/update. The SEO toolset is broad but does not compensate for these missing fundamental operations.

Maintenance

ActivityActive
ResponsivenessResponsive