MCP WordPress Server
A comprehensive MCP server for managing WordPress sites, featuring a wide range of tools for performance monitoring, caching, and more.
🚀 MCP WordPress Server
The Most Comprehensive WordPress MCP Server
Manage WordPress sites with natural language through AI tools like Claude Desktop
Quick Start • Why This MCP Server? Installation Options • Documentation • Examples
🎉 v2.12.0 - Modular Architecture & Fault Tolerance!
🎯 Why This MCP Server?
Transform WordPress management from complex admin panels to simple conversations:
❌ 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: 59 tools vs 20-30 in alternatives
- ⚡ Fastest Setup: 2-click Claude Desktop installation via DXT
- 🔒 Production Ready: 2200+ tests, security audited, battle-tested
- 🎯 TypeScript Native: 100% type safety, best-in-class developer experience
- 🌐 Multi-Site: Manage unlimited 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
WordPress Admin → Users → Profile → Application Passwords → Add New
2️⃣ Install MCP Server (Choose One)
Option A: DXT Extension (Easiest)
# 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
npm install -g mcp-wordpress
3️⃣ Test Your Connection
In Claude: "Test my WordPress connection"
Response: "✅ Authentication successful! Connected to: Your Site Name"
📺 Watch 2-minute Setup Video | 📖 Detailed Setup Guide
⚡ Installation Options
🏆 Recommended: Claude Desktop Extension (DXT)
Easiest installation - just 2 clicks!
- Download:
mcp-wordpress.dxt(3.4MB) - Install: Claude Desktop → Extensions → Install → Select DXT file
- Configure: Enter your WordPress site URL and credentials
✅ Zero command line required ✅ Easy updates ✅ Built-in security
🚀 Alternative: NPX (Power Users)
# Run directly - always latest version
npx -y mcp-wordpress
# Interactive setup wizard
npm run setup
🔧 Other Options
- 💻 NPM Setup - Local development
- 🐳 Docker Setup - Production deployment
- 🔧 Manual Build - Custom builds
📋 Configuration Examples
Single Site Setup
Environment Variables (.env)
WORDPRESS_SITE_URL=https://myblog.com
WORDPRESS_USERNAME=admin
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
WORDPRESS_AUTH_METHOD=app-password
Claude Desktop Config
{
"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"
}
}
}
}
Multi-Site Agency Setup
Configuration File (mcp-wordpress.config.json)
{
"sites": [
{
"id": "main-corporate",
"name": "Corporate Website",
"config": {
"WORDPRESS_SITE_URL": "https://company.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
"WORDPRESS_AUTH_METHOD": "app-password"
}
},
{
"id": "client-restaurant",
"name": "Restaurant Client",
"config": {
"WORDPRESS_SITE_URL": "https://bestrestaurant.com",
"WORDPRESS_USERNAME": "editor",
"WORDPRESS_APP_PASSWORD": "yyyy yyyy yyyy yyyy yyyy yyyy",
"WORDPRESS_AUTH_METHOD": "app-password"
}
},
{
"id": "client-ecommerce",
"name": "E-commerce Client",
"config": {
"WORDPRESS_SITE_URL": "https://onlinestore.com",
"WORDPRESS_USERNAME": "shopmanager",
"WORDPRESS_APP_PASSWORD": "zzzz zzzz zzzz zzzz zzzz zzzz",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
]
}
Development Environment
Local WordPress with Docker
# docker-compose.yml
version: "3.8"
services:
wordpress:
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress_data:/var/www/html
db:
image: mysql:8.0
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_ROOT_PASSWORD: rootpassword
volumes:
- db_data:/var/lib/mysql
volumes:
wordpress_data:
db_data:
MCP WordPress Development Config
{
"sites": [
{
"id": "local-dev",
"name": "Local Development",
"config": {
"WORDPRESS_SITE_URL": "http://localhost:8080",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_APP_PASSWORD": "dev-password-here",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
]
}
Production Deployment
Server Environment Variables
# /etc/environment or systemd service
WORDPRESS_SITE_URL=https://production-site.com
WORDPRESS_USERNAME=api-user
WORDPRESS_APP_PASSWORD=secure-production-password
WORDPRESS_AUTH_METHOD=app-password
NODE_ENV=production
CACHE_ENABLED=true
CACHE_TTL=3600
RATE_LIMIT_ENABLED=true
DEBUG=false
Docker Production Setup
# Dockerfile.production
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY dist/ ./dist/
EXPOSE 3000
USER node
CMD ["node", "dist/index.js"]
JWT Authentication Setup
WordPress Plugin Configuration
// wp-config.php
define('JWT_AUTH_SECRET_KEY', 'your-secret-key-here');
define('JWT_AUTH_CORS_ENABLE', true);
MCP Configuration
{
"sites": [
{
"id": "jwt-site",
"name": "JWT Authentication Site",
"config": {
"WORDPRESS_SITE_URL": "https://site-with-jwt.com",
"WORDPRESS_USERNAME": "api-user",
"WORDPRESS_PASSWORD": "user-password",
"WORDPRESS_AUTH_METHOD": "jwt"
}
}
]
}
🌟 What Makes This Special
🏆 Feature Comparison
| Feature | This Server | Competition |
|---|---|---|
| Tools Available | 59 tools | 20-30 tools |
| Claude Desktop DXT | ✅ 2-click install | ❌ Manual setup |
| Multi-Site Support | ✅ Unlimited sites | ❌ Single site |
| TypeScript | ✅ 100% coverage | ⚠️ Partial/None |
| Performance Monitoring | ✅ Real-time analytics | ❌ Basic only |
| Test Coverage | ✅ 2200+ tests, comprehensive coverage | ⚠️ Limited |
| Production Ready | ✅ Security audited | ⚠️ Unknown |
🚀 Core Capabilities
WordPress Management
- 59 WordPress Tools across 10 categories
- Multi-Site Support - Manage unlimited WordPress installations
- Flexible Authentication - App Passwords, JWT, Basic Auth, API Key
- Real-Time Sync - Instant updates across all connected tools
Performance & Reliability
- ⚡ Intelligent Caching - 50-70% performance improvement
- 📊 Real-Time Monitoring - Performance metrics and optimization insights
- 🔒 Production Ready - Security-reviewed, 96.17% line coverage with Vitest testing framework
- 🔄 Zero Downtime - Graceful error handling and automatic recovery
Developer Experience
- 100% TypeScript - Complete type safety and IntelliSense
- 🐳 Docker Support - Production-ready containerization
- 📚 Auto-Generated Docs - API documentation with live examples
- 🔧 Extensible - Custom tool development framework
🌐 Multi-Site Configuration
Perfect for agencies and developers managing multiple WordPress sites:
{
"sites": [
{
"id": "main-site",
"name": "Main WordPress Site",
"config": {
"WORDPRESS_SITE_URL": "https://site1.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
},
{
"id": "client-blog",
"name": "Client Blog",
"config": {
"WORDPRESS_SITE_URL": "https://client-blog.com",
"WORDPRESS_USERNAME": "editor",
"WORDPRESS_APP_PASSWORD": "yyyy yyyy yyyy yyyy yyyy yyyy"
}
}
]
}
Use with site parameter: wp_list_posts --site="main-site"
📖 Complete Multi-Site Setup Guide
🔐 Authentication Setup
WordPress Application Passwords (Recommended)
- WordPress Admin → Users → Profile
- Scroll to Application Passwords
- Enter name: "MCP WordPress Server"
- Click Add New Application Password
- Copy the generated password
Alternative Methods
- JWT Authentication - With JWT plugin
- Basic Authentication - Username/password (dev only)
- API Key Authentication - With API Key plugin
📖 Complete Authentication Guide
📋 Available Tools (59 Tools)
Content Management
- 📝 Posts (6 tools) - Create, edit, delete, list posts and revisions
- 📄 Pages (6 tools) - Manage static pages and revisions
- 🖼️ Media (6 tools) - Upload, manage media library and files
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 (Monitoring & Admin)
- ⚙️ Site Settings (7 tools) - Site configuration and statistics
- 🔐 Authentication (6 tools) - Auth testing and management
- ⚡ Cache Management (4 tools) - Performance caching control
- 📊 Performance Monitoring (6 tools) - Real-time metrics and optimization
📖 Complete Tool Documentation | Live API Reference
🤖 Claude Desktop Integration
🎯 Real-World Use Cases
Content Creation & Management:
💬 "Analyze my top 10 blog posts and create a new post about emerging trends"
💬 "Upload these 5 images and create a photo gallery page with SEO optimization"
💬 "Review all pending comments and approve the legitimate ones"
Site Management & Analytics:
💬 "Check my WordPress site performance and provide optimization recommendations"
💬 "Create a new user account for my freelance writer with editor permissions"
💬 "Backup my site settings and show me cache performance statistics"
Bulk Operations:
💬 "Update all posts from 2023 to include my new author bio"
💬 "Find all images over 1MB and suggest compression strategies"
💬 "List all users who haven't logged in for 6 months"
⚙️ Configuration Methods
Option 1: DXT Extension (Recommended)
No configuration needed - built-in secure credential management!
Option 2: NPX in Claude Desktop
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["-y", "mcp-wordpress"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password"
}
}
}
}
📚 Examples
Basic Content Management
Create and Publish a Blog Post
You: "Create a new blog post titled 'AI Revolution in 2024' with content about recent AI breakthroughs"
Claude: "I'll create that blog post for you..."
Result: ✅ Post "AI Revolution in 2024" created successfully (ID: 123)
Media Management
You: "Upload the image at /path/to/image.jpg and set it as featured image for post 123"
Claude: "I'll upload that image and set it as the featured image..."
Result: ✅ Image uploaded (ID: 456) and set as featured image
Advanced Workflows
SEO-Optimized Content Creation
You: "Create an SEO-optimized blog post about 'WordPress Security Best Practices' with:
- Focus keyword: 'WordPress security'
- Meta description
- Proper heading structure
- At least 1500 words"
Claude: "I'll create a comprehensive SEO-optimized post on WordPress security..."
Bulk Operations
You: "Find all draft posts older than 30 days and provide a summary"
You: "Update all posts in category 'News' to include a disclaimer at the end"
You: "Delete all spam comments from the last week"
Site Management
Performance Monitoring
You: "Analyze my site's performance and suggest optimizations"
Claude: "Let me check your site's performance metrics...
- Cache hit rate: 67%
- Average response time: 245ms
- Recommendations: Enable object caching, optimize images..."
User Management
You: "Create a new editor account for [email protected] with a secure password"
You: "List all users who haven't logged in for 90 days"
You: "Update Sarah's role from Author to Editor"
Multi-Site Management
Working with Multiple Sites
You: "List all posts from my client-blog site"
Claude: "I'll list the posts from the client-blog site..."
You: "Compare traffic between main-site and client-blog"
Claude: "Here's a comparison of both sites..."
🎨 Real-World Workflows
Content Marketing Agency Workflow
Scenario: Managing 20+ client blogs with consistent SEO optimization
💬 "Analyze the top 5 performing posts across all sites and create similar content for underperforming clients"
💬 "Batch update all client sites with the new privacy policy footer"
💬 "Generate a weekly performance report comparing all client sites"
💬 "Create social media snippets from the latest blog posts on each site"
E-commerce Store Management
Scenario: Managing product launches and inventory updates
💬 "Create a product launch post with gallery, specifications, and pricing for the new iPhone case"
💬 "Update all 'out of stock' products with restock notifications"
💬 "Generate product comparison pages for similar items"
💬 "Create seasonal landing pages with current promotions"
News Website Operations
Scenario: Breaking news and content moderation
💬 "Publish breaking news about the tech merger with social media integration"
💬 "Moderate comments on controversial articles and flag inappropriate content"
💬 "Create topic clusters around trending news stories"
💬 "Schedule social media posts for peak engagement times"
Educational Institution Portal
Scenario: Course management and student communications
💬 "Create course announcement pages with enrollment forms"
💬 "Update faculty profiles with new publications and achievements"
💬 "Generate student newsletter with upcoming events and deadlines"
💬 "Moderate discussion forums and highlight valuable contributions"
Non-Profit Organization
Scenario: Fundraising campaigns and volunteer coordination
💬 "Create donation campaign pages with progress tracking"
💬 "Update volunteer opportunity listings with current needs"
💬 "Generate impact reports showing donation effectiveness"
💬 "Create event registration pages with automated confirmations"
🚀 Advanced Automation Examples
Smart Content Workflows
Automated SEO Optimization
You: "Optimize all posts from the last month for better SEO performance"
Claude: "I'll analyze and optimize your recent posts...
- Analyzed 15 posts from the last 30 days
- Updated meta descriptions for 12 posts
- Added focus keywords to 8 posts
- Optimized heading structure in 10 posts
- Improved internal linking in 15 posts
- Average SEO score improved from 67% to 89%"
Two additional tools are available: wp_seo_track_serp_positions and wp_seo_keyword_research. By default they estimate keyword coverage from your WordPress content. You can upgrade to real Google Search Console data:
Google Search Console Integration (optional)
- Create OAuth2 credentials (Desktop app) in Google Cloud Console and enable the Search Console API.
- Run the setup helper to obtain a refresh token:
GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=yyy node scripts/google-auth.mjs - Add the credentials to your
.env:SEO_PROVIDER_SEARCH_CONSOLE=true GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=GOCSPX-your-secret GOOGLE_REFRESH_TOKEN=1//your-refresh-token
When enabled, wp_seo_track_serp_positions returns real average positions, clicks, impressions, and CTR from your Search Console property. wp_seo_keyword_research returns top queries containing the seed keyword, sorted by impressions. If credentials are missing or the API is unreachable, both tools fall back silently to WordPress content analysis.
Content Gap Analysis
You: "Identify content gaps in our blog compared to competitor topics"
Claude: "After analyzing your content and common industry topics...
- Missing topics: 'AI in Healthcare', 'Remote Work Security', 'Green Technology'
- Underperforming categories: 'Tutorials' (only 3 posts vs 15+ needed)
- Recommended: 8 new posts to fill major gaps
- Priority topics based on search volume and competition"
Maintenance Automation
Site Health Monitoring
You: "Perform a comprehensive site health check and fix any issues"
Claude: "Running complete site diagnostics...
- ✅ SSL certificate valid (expires: March 15, 2025)
- ⚠️ 3 broken internal links found and flagged
- ✅ All images optimized (average load time: 1.2s)
- ⚠️ 2 plugins need updates
- ✅ Database optimized (reduced size by 15%)
- ✅ Cache performance: 78% hit rate"
User Management Automation
You: "Clean up user accounts and update permissions for the new team structure"
Claude: "Updating user management...
- Deactivated 5 inactive accounts (no login >6 months)
- Updated 12 user roles to match new org chart
- Created 3 new editor accounts for content team
- Set up role-based content access restrictions
- Configured automated welcome emails for new users"
Performance Optimization
Intelligent Cache Management
You: "Analyze site performance and implement optimal caching strategies"
Claude: "Implementing performance optimizations...
- Enabled object caching (40% speed improvement)
- Configured CDN for static assets
- Optimized database queries (reduced load time by 25%)
- Set up page caching with smart invalidation
- Compressed and optimized 47 images
- Site speed improved from 3.2s to 1.8s average load time"
🎯 Industry-Specific Solutions
Healthcare Practices
💬 "Create HIPAA-compliant patient information pages with secure forms"
💬 "Update doctor profiles with latest certifications and specializations"
💬 "Generate appointment booking pages with calendar integration"
💬 "Create health education content with medical disclaimers"
Legal Firms
💬 "Create practice area pages with case study examples"
💬 "Update attorney profiles with recent wins and bar admissions"
💬 "Generate client intake forms with confidentiality notices"
💬 "Create legal blog posts with proper citations and disclaimers"
Real Estate Agencies
💬 "Create property listing pages with virtual tour embeds"
💬 "Update agent profiles with recent sales and market statistics"
💬 "Generate neighborhood guide pages with local amenities"
💬 "Create mortgage calculator pages with current rates"
Restaurants & Food Service
💬 "Create menu pages with dietary restriction filters"
💬 "Update chef profiles with signature dishes and cooking philosophy"
💬 "Generate event booking pages for private dining"
💬 "Create food blog posts with recipe cards and nutritional information"
📖 More Examples | Use Case Library
🛠️ Troubleshooting Guide
Quick Diagnostics
Connection Issues
# Test WordPress connection
npm run status
# Debug mode with detailed logs
DEBUG=true npm run dev
# Test specific site in multi-site setup
npm run status -- --site="your-site-id"
Authentication Problems
# Verify WordPress application password
curl -u username:app_password https://your-site.com/wp-json/wp/v2/users/me
# Test authentication with different methods
npm run test:auth
# Regenerate application password
npm run setup
Performance Issues
# Check cache performance
npm run test:cache
# Monitor real-time performance
npm run test:performance
# Clear all caches
rm -rf cache/ && npm run dev
Common Error Solutions
| Error | Cause | Solution |
|---|---|---|
401 Unauthorized | Invalid credentials | Regenerate application password |
403 Forbidden | Insufficient permissions | Check user role (Editor+ required) |
404 Not Found | Wrong site URL | Verify WORDPRESS_SITE_URL |
SSL Certificate Error | HTTPS issues | Add SSL exception or use HTTP |
Connection Timeout | Network/firewall | Check WordPress REST API access |
Tools not showing in Claude | Config file format | Validate JSON syntax |
Plugin conflicts | WordPress plugins | Disable conflicting plugins |
Rate limiting | Too many requests | Implement request throttling |
WordPress-Specific Issues
REST API Not Available
# Test REST API directly
curl https://your-site.com/wp-json/wp/v2/
# Check if REST API is disabled
grep -r "rest_api" wp-config.php
# Verify permalink structure
wp-admin → Settings → Permalinks → Post name
Application Password Issues
1. WordPress Admin → Users → Profile
2. Scroll to "Application Passwords"
3. Ensure feature is enabled (WordPress 5.6+)
4. Generate new password if needed
5. Copy password exactly (includes spaces)
Multi-Site Configuration Problems
// Check mcp-wordpress.config.json format
{
"sites": [
{
"id": "unique-site-id",
"name": "Human Readable Name",
"config": {
"WORDPRESS_SITE_URL": "https://site.com",
"WORDPRESS_USERNAME": "username",
"WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
]
}
Environment-Specific Solutions
Claude Desktop Integration
// Verify claude_desktop_config.json format
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["-y", "mcp-wordpress"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password"
}
}
}
}
Docker Deployment Issues
# Check container logs
docker logs mcp-wordpress
# Verify environment variables
docker exec mcp-wordpress env | grep WORDPRESS
# Test network connectivity
docker exec mcp-wordpress curl https://your-site.com/wp-json/wp/v2/
NPX Runtime Problems
# Clear NPX cache
npx clear-npx-cache
# Use specific version
npx mcp-wordpress@latest
# Install globally instead
npm install -g mcp-wordpress
Getting Help
Self-Diagnostics
# Comprehensive health check
npm run health
# Security validation
npm run security:check
# Performance analysis
npm run test:performance
Debug Information Collection
# Generate debug report
DEBUG=true npm run status > debug-report.txt 2>&1
# Include system information
node --version >> debug-report.txt
npm --version >> debug-report.txt
os-info >> debug-report.txt
Community Support
🧪 Testing & Status
Current Test Status ✅
- Main Test Suite: 512/512 passed (100%) with Vitest
- Security Tests: 40/40 passed (100%)
- Performance Tests: 8/8 passed (100%)
- CI/CD Pipeline: Fully functional with Vitest integration
Test Your Installation
# Check connection status
npm run status
# Run full test suite (Vitest)
npm test
# Run tests with coverage
npm run test:coverage
# Quick validation
npm run test:fast
🔒 Security Status
Comprehensive Security Testing
Our security posture is continuously monitored through automated testing and vulnerability scanning:
| Security Area | Status | Tests | Coverage |
|---|---|---|---|
| XSS Protection | ✅ Secure | 6/6 passing | Script injection, URL validation, HTML sanitization |
| SQL Injection | ✅ Secure | 3/3 passing | Query parameterization, input validation |
| Path Traversal | ✅ Secure | 3/3 passing | File path validation, directory restrictions |
| Input Validation | ✅ Secure | 9/9 passing | Length limits, format validation, sanitization |
| Authentication | ✅ Secure | 7/7 passing | Bypass prevention, token validation |
| Rate Limiting | ✅ Secure | 3/3 passing | DoS protection, request throttling |
| Information Disclosure | ✅ Secure | 2/2 passing | Error sanitization, sensitive data protection |
| Penetration Testing | ✅ Secure | 12/12 passing | Comprehensive attack simulation |
Security Features
- 🛡️ Input Sanitization: All user inputs are validated and sanitized
- 🔐 Authentication Security: Multi-method auth with bypass prevention
- ⚡ Rate Limiting: Built-in protection against abuse and DoS attacks
- 🔍 Vulnerability Scanning: Daily automated security scans
- 📊 Real-time Monitoring: Continuous security status updates
- 🚨 Automated Alerts: Immediate notification of security issues
Security Testing Commands
# Run comprehensive security tests
npm run test:security
# Run penetration testing suite
npm run test:security:validation
# Security vulnerability audit
npm audit
# Full security validation
npm run security:full
Security Compliance
- OWASP Top 10: Complete protection against common vulnerabilities
- CVE Monitoring: Automated scanning for known vulnerabilities
- Security Headers: Proper HTTP security headers implementation
- Data Protection: Sensitive credential redaction and secure storage
- Access Control: Role-based permissions and authentication validation
📖 Complete Security Documentation | Security Test Results
🐛 Troubleshooting
Common Issues
-
"Cannot connect to WordPress"
- Verify
WORDPRESS_SITE_URL - Test REST API:
curl https://your-site.com/wp-json/wp/v2/
- Verify
-
"Authentication failed"
- Check username and application password
- Ensure Application Passwords are enabled
- Run
npm run setupto reconfigure
-
"Tools not appearing in Claude"
- Restart Claude Desktop after configuration
- Check Claude Desktop config file format
Get Help
# Debug mode
DEBUG=true npm run dev
# Connection test
npm run status
# Re-run setup wizard
npm run setup
📚 Documentation
Getting Started
- Quick Start Guide - Get running in 5 minutes
- Installation Guide - Detailed setup instructions
- Configuration Guide - All configuration options
- Authentication Setup - WordPress auth methods
User Guides
- Basic Usage - Common tasks and workflows
- Advanced Workflows - Complex automation
- Multi-Site Management - Managing multiple sites
- Troubleshooting - Common issues and solutions
Integration Guides
- Claude Desktop - Complete Claude integration
- VS Code - VS Code extension setup
- Cline - Cline AI assistant integration
- Custom Clients - Build your own MCP client
Developer Documentation
- API Reference - Complete tool documentation
- Architecture - System design and decisions
- Contributing - Development guidelines
- Plugin Development - Extend functionality
Deployment & Operations
- Docker Deployment - Container deployment
- Publishing Troubleshooting - Fix publishing issues
- Security Best Practices - Production security
- Performance Tuning - Optimization guide
- Monitoring - Logging and metrics
🔧 Requirements
- WordPress 5.0+ with REST API enabled
- HTTPS recommended for production
- User with appropriate permissions
- Application Passwords enabled (WordPress 5.6+)
WordPress User Roles
| 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 |
📦 Installation Options
NPM Package
# Global installation
npm install -g mcp-wordpress
# Direct usage (recommended)
npx -y mcp-wordpress
Docker Images
# Latest version
docker pull docdyhr/mcp-wordpress:latest
# Specific version
docker pull docdyhr/mcp-wordpress:1.3.1
Distribution Channels
- NPM:
mcp-wordpress - Docker Hub:
docdyhr/mcp-wordpress - GitHub: Latest releases
🚀 Next Steps
Ready to transform your WordPress management?
- 🏆 Download DXT Extension - Easiest setup (2 minutes)
- ⚡ Try NPX Method - Power user setup (5 minutes)
- 📚 Explore All Tools - See what's possible
- 💬 Join Discussions - Get help and share ideas
🔗 Similar Projects
Looking for alternatives or complementary tools? Check out these WordPress MCP implementations:
- Automattic WordPress MCP - Official WordPress MCP server by Automattic
📋 Changelog
v2.12.0 (December 2024) 🎉
- 🏗️ Modular Architecture - Split large files into domain-specific operation modules
- 🔄 Circuit Breaker Pattern - Fault tolerance for external API calls with automatic recovery
- 📊 2200+ Tests - Comprehensive test suite with operations and performance helper coverage
- 📚 Deprecation Documentation - Clear migration timeline for deprecated modules
- 🔒 Security Improvements - Updated dependencies and consolidated CI/CD workflows
v2.5.4+ (August 2024)
- 🆕 Multi-Site DXT Extension - New UI toggle for managing multiple WordPress sites in Claude Desktop
- 🔧 Enhanced Configuration - Auto-detection of multi-site configuration files
- ⚡ Performance Improvements - Optimized caching and request handling
- 🛡️ Security Updates - Enhanced input validation and dependency updates
- 🐛 Bug Fixes - Resolved hook path issues and improved error handling
- 📚 Documentation - Updated setup guides and troubleshooting information
v2.5.0 (July 2024)
- 🚀 Production Ready - Comprehensive testing suite with 96%+ coverage
- 🔒 Security Framework - Full security validation and penetration testing
- 📊 Performance Analytics - Real-time monitoring and optimization tools
- 🎯 Tool Enhancements - 59 WordPress management tools across 10 categories
v2.0.0 (June 2024)
- 🏗️ Architecture Overhaul - Migrated to modern TypeScript architecture
- 🌐 Multi-Site Support - Complete multi-site WordPress management
- 💾 Intelligent Caching - 50-70% performance improvement
- 🔐 Authentication Methods - Support for 4 authentication types
🙏 Acknowledgments
Special thanks to Stephan Ferraro for the upstream project that inspired this implementation.
⭐ Found this helpful? Give us a star on GitHub! ⭐
相关服务器
Alpha Vantage MCP Server
赞助Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
markmap-http-mcp
An MCP server for converting Markdown to interactive mind maps with export support (PNG/JPG/SVG). Server runs as HTTP service.
MCP Hello World
A minimal MCP server mock in TypeScript for testing MCP clients, supporting both STDIO and HTTP/SSE protocols.
BCMS MCP
Give me a one - two sentence description of the BCMS MCP # MCP The BCMS Model Context Protocol (MCP) integration enables AI assistants like Claude, Cursor, and other MCP-compatible tools to interact directly with your BCMS content. This allows you to create, read, and update content entries, manage media files, and explore your content structure—all through natural language conversations with AI. ## What is MCP? The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) is an open standard developed by Anthropic that allows AI applications to securely connect to external data sources and tools. With BCMS MCP support, you can leverage AI assistants to: - Query and explore your content structure - Create new content entries with AI-generated content - Update existing entries - Manage your media library - Get intelligent suggestions based on your content model --- ## Getting Started ### Prerequisites 1. A BCMS account with an active instance 2. An MCP key with appropriate permissions 3. An MCP-compatible client (Claude Desktop, Cursor, or any MCP client) ### Step 1: Create an MCP Key 1. Navigate to your BCMS dashboard 2. Go to Settings → MCP 3. Click Create MCP Key 4. Configure the permissions for templates you want the AI to access:GET: Read entries 5. POST: Create entries 6. PUT: Update entries 7. DELETE: Delete entries Note: Right now, MCP only supports creating, reading and updating content. ### Step 2: Configure Your MCP Client You can find full instructions for integrating BCMS with your AI tools right inside BCMS, on the MCP page. But in general, installing BCMS MCP works in a standard way: ``` { "mcpServers": { "bcms": { "url": "https://app.thebcms.com/api/v3/mcp?mcpKey=YOUR_MCP_KEY" } } } ``` ## Available Tools Once connected, your AI assistant will have access to the following tools based on your MCP key permissions: ### Content Discovery #### list_templates_and_entries Lists all templates and their entries that you have access to. This is typically the first tool to call when exploring your BCMS content. Returns: - Template IDs, names, and slugs - Entry IDs with titles and slugs for each language Example prompt: "Show me all the templates and entries in my BCMS" --- ### Entry Management #### list_entries_for_{templateId} Retrieves all entries for a specific template with full content data. A separate tool is generated for each template you have access to. Returns: - Complete entry data including all meta fields - Content in all configured languages - Entry statuses Example prompt: "List all blog posts from my Blog template" --- #### create_entry_for_{templateId} Creates a new entry for a specific template. The input schema is dynamically generated based on your template's field structure. Input: - statuses: Array of status assignments per language - meta: Array of metadata for each language (title, slug, custom fields) - content: Array of content nodes for each language Example prompt: "Create a new blog post titled 'Getting Started with BCMS' with a brief introduction paragraph" --- #### update_entry_for_{templateId} Updates an existing entry for a specific language. Input: - entryId: The ID of the entry to update - lng: Language code (e.g., "en") - status: Optional status ID - meta: Updated metadata - content: Updated content nodes Example prompt: "Update the introduction paragraph of my 'Getting Started' blog post" --- ### Media Management #### list_all_media Lists all media files in your media library. Returns: - Media IDs, names, and types - File metadata (size, dimensions for images) - Parent directory information Example prompt: "Show me all images in my media library" --- #### list_media_dirs Lists the directory structure of your media library. Returns: - Hierarchical directory structure - Directory IDs and names Example prompt: "Show me the folder structure of my media library" --- #### create-media-directory Creates a new directory in your media library. Input: - name: Name of the directory - parentId: Optional parent directory ID (root if not specified) Example prompt: "Create a new folder called 'Blog Images' in my media library" --- #### request-upload-media-url Returns a URL you use to upload a file (for example via POST with multipart form data), which avoids pushing large binaries through the MCP tool payload. You still need a valid file name and MIME type when uploading, as described in the tool response. Availability: Only when the MCP key has Can mutate media enabled. Example prompt: “Give me an upload URL for a new hero image, then tell me how to upload it.” Input: - fileName: Name of the file with extension - fileData: Base64-encoded file data (with data URI prefix) - parentId: Optional parent directory ID Example prompt: "Upload this image to my Blog Images folder" --- ### Linking Tools #### get_entry_pointer_link Generates an internal BCMS link to an entry for use in content. Input: - entryId: The ID of the entry to link to Returns: - Internal link format: entry:{entryId}@*_{templateId}:entry Example prompt: "Get me the internal link for the 'About Us' page entry" --- #### get_media_pointer_link Generates an internal BCMS link to a media item for use in content. Input: - mediaId: The ID of the media item Returns: - Internal link format: media:{mediaId}@*_@*_:entry Example prompt: "Get the link for the hero image so I can use it in my blog post" --- ## Content Structure ### Entry Content Nodes When creating or updating entries, content is structured as an array of nodes. Supported node types include: Type Description paragraph Standard text paragraph heading Heading (h1-h6) bulletList Unordered list orderedList Numbered list listItem List item codeBlock Code block with syntax highlighting blockquote Quote block image Image node widget Custom widget with props ### Example Content Structure ``` { "content": [ { "lng": "en", "nodes": [ { "type": "heading", "attrs": { "level": 1 }, "content": [ { "type": "text", "text": "Welcome to BCMS" } ] }, { "type": "paragraph", "content": [ { "type": "text", "text": "This is your first paragraph." } ] } ] } ] } ``` ## Security & Permissions ### MCP Key Scopes Your MCP key controls what the AI can access: - Template Access: Only templates explicitly granted in the MCP key are visible - Operation Permissions: Each template can have independent GET/POST/PUT/DELETE permissions - Media Access: Media operations are controlled separately ### Best Practices 1. Principle of Least Privilege: Only grant the permissions needed for your use case 2. Separate Keys: Create different MCP keys for different purposes or team members 3. Regular Rotation: Periodically rotate your MCP keys ## Use Cases ### Content Creation Workflows Blog Post Creation "Create a new blog post about the benefits of headless CMS. Include an introduction, three main benefits with explanations, and a conclusion. Use the Blog template." Product Updates "Update the price field for all products in the Electronics category to apply a 10% discount" ### Content Exploration Content Audit "List all blog posts that don't have a featured image set" Translation Status "Show me which entries are missing German translations" ### Media Organization Library Cleanup "Show me all unused images in the media library" Folder Setup "Create folder structure for: Products > Categories > Electronics, Clothing, Home" ## Troubleshooting ### Common Issues #### "MCP key not found" - Verify your MCP key format: keyId.keySecret.instanceId - Ensure the MCP key hasn't been deleted or deactivated - Check that you're using the correct instance #### "MCP key does not have access to template" - Review your MCP key permissions in the dashboard - Ensure the required operation (GET/POST/PUT/DELETE) is enabled for the template #### Session Expired - MCP sessions may timeout after periods of inactivity - Simply start a new conversation to establish a fresh session ### Getting Help - Documentation: [thebcms.com/docs](https://thebcms.com/docs) - Support: [[email protected]](mailto:[email protected]) - Community: [Join BCMS Discord](https://discord.com/invite/SYBY89ccaR) for community support ## Technical Reference ### Endpoint POST https://app.thebcms.com/api/v3/mcp?mcpKey={MCP_KEY} ### Transport BCMS MCP uses the Streamable HTTP transport with session management. Sessions are maintained via the mcp-session-id header. ### Response Format All tools return structured JSON responses conforming to the MCP specification with: - content: Array of content blocks - structuredContent: Typed response data ## Rate Limits MCP requests are subject to the same rate limits as API requests: - Requests are tracked per MCP key - Contact support if you need higher limits for production workloads
Design System Server
An MCP server for accessing and managing design system documentation from a GitHub repository.
Skills-ContextManager
Don’t pollute your AI agent’s context with 1,000 skills. Use Skills-ContextManager, a self-hosted web UI for managing AI skills and workflows by providing skills to an AI agent via MCP only when needed. Simply add skills to your library and enable or disable them with a toggle. Choose whether a skill is always loaded into context or dynamically activated when the AI agent determines it’s needed.
MCP Server Health Monitor
Health monitoring for all your MCP servers — probes, SLA tracking, dependency graphs, auto-restart
The Game Crafter MCP Server
Indie board game designers, tabletop creators, and TGC users who want to manage their projects through an AI assistant instead of navigating the TGC web interface manually.
Obsidian Claude Code
An Obsidian plugin that integrates Claude Code into your vaults via an MCP server.
Remote MCP Server on Cloudflare (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication, featuring customizable tools.
Cntx UI
A minimal file bundling and tagging tool for AI development, featuring a web interface and MCP server mode for AI integration.