mcp-wordpress
MCP Server to manage a Wordpress CMS system.
Documentation
MCP WordPress Server
A comprehensive Model Context Protocol (MCP) server for WordPress management through the WordPress REST API v2. Completely written in TypeScript for maximum type safety and better developer experience.
๐ Features
- 54 WordPress Management Tools across 8 categories
- 100% TypeScript - Complete type safety and IntelliSense
- Modern ES Modules - Optimized for performance
- Interactive Setup Wizard - Easy configuration
- Comprehensive Testing - Complete test suite
- Flexible Authentication - Supports App Passwords, JWT, Basic Auth
- Debug & Monitoring - Structured logging and error tracking
โก Quick Start
Option 1: NPX (Recommended)
The easiest way to get started - no installation required:
# Run directly with NPX
npx @aiondadotcom/mcp-wordpress
# Or install globally
npm install -g @aiondadotcom/mcp-wordpress
mcp-wordpressOption 2: Local Development
git clone https://github.com/AiondaDotCom/mcp-wordpress.git
cd mcp-wordpress
npm install
npm run setup
npm startSetup Wizard
# For NPX users
npx @aiondadotcom/mcp-wordpress setup
# For local installation
npm run setupThe setup wizard guides you through:
- WordPress site configuration
- Authentication method selection
- Connection testing
- Claude Desktop configuration
๐ Lazy Setup via Claude Desktop
Super Easy NPX Setup
If you want the absolute easiest setup, just paste this prompt into Claude Desktop:
Set up the MCP WordPress server using NPX for my Claude Desktop.
My WordPress details:
- Site URL: [YOUR_WORDPRESS_URL]
- Username: [YOUR_USERNAME]
Please:
1. Help me create a WordPress Application Password
2. Configure my Claude Desktop mcp.json file with the NPX command
3. Test the connection to make sure everything works
4. Show me how to use the WordPress tools
I want to use the NPX version (@aiondadotcom/mcp-wordpress) so I don't need to install anything locally.Full Local Development Setup
For local development and customization:
Build and configure the MCP WordPress server project from https://github.com/AiondaDotCom/mcp-wordpress locally on my computer.
Please:
1. Clone the repository to an appropriate directory
2. Install all dependencies
3. Run the setup wizard and help me configure my WordPress connection
4. Test the connection to make sure everything works
5. Set up the Claude Desktop MCP configuration
6. Run a quick test to verify all tools are working
My WordPress site URL is: [YOUR_WORDPRESS_URL]
My WordPress username is: [YOUR_USERNAME]
Guide me through any steps that require manual input, and let me know if you need any additional information from me.Just replace `[YOUR_WORDPRESS_URL]` and `[YOUR_USERNAME]` with your actual WordPress site details, and Claude will handle the rest!
๐ง Configuration
Environment Variables (.env)
WORDPRESS_SITE_URL=https://your-wordpress-site.com
WORDPRESS_USERNAME=your-username
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
WORDPRESS_AUTH_METHOD=app-password
DEBUG=falseClaude Desktop Integration
Configure MCP WordPress Server in your Claude Desktop `mcp.json` configuration file:
Option 1: NPX (Recommended)
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["@aiondadotcom/mcp-wordpress"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}Option 2: Global Installation
{
"mcpServers": {
"mcp-wordpress": {
"command": "mcp-wordpress",
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}Option 3: Local Development
{
"mcpServers": {
"mcp-wordpress": {
"command": "node",
"args": ["/path/to/mcp-wordpress/dist/index.js"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}Using .env File (Any Option)
If you prefer to use a `.env` file instead of environment variables in the config:
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["@aiondadotcom/mcp-wordpress"],
"env": {
"NODE_ENV": "production"
}
}
}
}Claude Desktop Configuration File Locations
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Linux: `~/.config/Claude/claude_desktop_config.json`
Quick Configuration Steps
1. Create or locate your Claude Desktop config file at the path above
2. Add the MCP server configuration using one of the options above
3. Restart Claude Desktop for changes to take effect
4. Verify the connection - you should see WordPress tools available in Claude Desktop
Example Complete Configuration
Here's a complete `claude_desktop_config.json` file with MCP WordPress:
{
"mcpServers": {
"mcp-wordpress": {
"command": "npx",
"args": ["@aiondadotcom/mcp-wordpress"],
"env": {
"WORDPRESS_SITE_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "your-app-password",
"WORDPRESS_AUTH_METHOD": "app-password"
}
}
}
}๐ Build System
TypeScript Build
# Compile
npm run build
# Watch mode
npm run build:watch
# Type checking
npm run typecheckDevelopment
# Development mode with debug output
npm run dev
# Check status
npm run status
# Re-run setup
npm run setup๐ Authentication
WordPress Application Passwords (Recommended)
1. WordPress Admin โ Users โ Profile
2. Scroll to Application Passwords
3. Enter name (e.g., "MCP WordPress Server")
4. Click Add New Application Password
5. Copy generated password (format: `xxxx xxxx xxxx xxxx xxxx xxxx`)
Alternative Authentication Methods
# JWT Authentication (requires JWT plugin)
WORDPRESS_AUTH_METHOD=jwt
WORDPRESS_JWT_SECRET=your-jwt-secret
# Basic Authentication (not recommended for production)
WORDPRESS_AUTH_METHOD=basic
WORDPRESS_PASSWORD=your-actual-password
# API Key Authentication (requires API Key plugin)
WORDPRESS_AUTH_METHOD=api-key
WORDPRESS_API_KEY=your-api-key๐ Available Tools (54 Tools)
๐ Posts (6 Tools)
- `wp_list_posts` - List and filter blog posts
- `wp_get_post` - Get specific post
- `wp_create_post` - Create new posts
- `wp_update_post` - Edit posts
- `wp_delete_post` - Delete posts
- `wp_get_post_revisions` - Get post revisions
๐ Pages (6 Tools)
- `wp_list_pages` - List pages
- `wp_get_page` - Get specific page
- `wp_create_page` - Create new pages
- `wp_update_page` - Edit pages
- `wp_delete_page` - Delete pages
- `wp_get_page_revisions` - Get page revisions
๐ผ๏ธ Media (6 Tools)
- `wp_list_media` - Browse media library
- `wp_get_media` - Get media details
- `wp_upload_media` - Upload files
- `wp_update_media` - Edit media metadata
- `wp_delete_media` - Delete media
- `wp_get_media_sizes` - Get available image sizes
๐ฅ Users (6 Tools)
- `wp_list_users` - List users
- `wp_get_user` - Get user details
- `wp_create_user` - Create new users
- `wp_update_user` - Edit user profiles
- `wp_delete_user` - Delete users
- `wp_get_current_user` - Get current user
๐ฌ Comments (7 Tools)
- `wp_list_comments` - List comments
- `wp_get_comment` - Get comment details
- `wp_create_comment` - Create new comments
- `wp_update_comment` - Edit comments
- `wp_delete_comment` - Delete comments
- `wp_approve_comment` - Approve comments
- `wp_spam_comment` - Mark comments as spam
๐ท๏ธ Taxonomies (10 Tools)
- `wp_list_categories` - List categories
- `wp_get_category` - Get category details
- `wp_create_category` - Create new categories
- `wp_update_category` - Edit categories
- `wp_delete_category` - Delete categories
- `wp_list_tags` - List tags
- `wp_get_tag` - Get tag details
- `wp_create_tag` - Create new tags
- `wp_update_tag` - Edit tags
- `wp_delete_tag` - Delete tags
โ๏ธ Site Management (7 Tools)
- `wp_get_site_settings` - Get site settings
- `wp_update_site_settings` - Update site settings
- `wp_get_site_stats` - Get site statistics
- `wp_search_site` - Site-wide search
- `wp_get_application_passwords` - List app passwords
- `wp_create_application_password` - Create new app passwords
- `wp_delete_application_password` - Delete app passwords
๐ Authentication (6 Tools)
- `wp_test_auth` - Test authentication
- `wp_get_auth_status` - Get authentication status
- `wp_start_oauth_flow` - Start OAuth flow
- `wp_complete_oauth_flow` - Complete OAuth flow
- `wp_refresh_oauth_token` - Refresh OAuth token
- `wp_switch_auth_method` - Switch authentication method
๐งช Testing
# Run all tests
npm test
# Tests with coverage
npm run test:coverage
# Quick tests
npm run test:fast
# MCP integration tests
npm run test:mcp
# Tool integration tests
npm run test:tools
# Tests in watch mode
npm run test:watch๐ Status & Monitoring
# Check connection status
npm run status
# Debug mode
DEBUG=true npm run dev
# Lint code
npm run lint
# Auto-fix linting errors
npm run lint:fix๐ Project Structure
mcp-wordpress/
โโโ src/ # TypeScript source code
โ โโโ index.ts # Main MCP server
โ โโโ server.ts # Server compatibility
โ โโโ types/ # TypeScript definitions
โ โ โโโ wordpress.ts # WordPress API types
โ โ โโโ mcp.ts # MCP protocol types
โ โ โโโ client.ts # Client interface types
โ โ โโโ index.ts # Type exports
โ โโโ client/ # WordPress API client
โ โ โโโ api.ts # HTTP client
โ โ โโโ auth.ts # Authentication
โ โโโ tools/ # MCP tool implementations
โ โ โโโ posts.ts # Post management
โ โ โโโ pages.ts # Page management
โ โ โโโ media.ts # Media management
โ โ โโโ users.ts # User management
โ โ โโโ comments.ts # Comment management
โ โ โโโ taxonomies.ts # Categories/Tags
โ โ โโโ site.ts # Site settings
โ โ โโโ auth.ts # Authentication
โ โโโ utils/ # Utility functions
โ โโโ debug.ts # Debug logger
โโโ dist/ # Compiled JavaScript files
โโโ bin/ # Utility scripts
โ โโโ setup.js # Setup wizard
โ โโโ status.js # Status checker
โโโ tests/ # Test suite
โโโ scripts/ # Build and test scripts
โโโ tsconfig.json # TypeScript configuration
โโโ jest.config.json # Jest test configuration
โโโ package.json # Node.js project configuration๐ก TypeScript Features
- Complete Type Safety - Compile-time validation
- IntelliSense Support - Better IDE integration
- Type-safe API Client - Typed HTTP methods
- Comprehensive WordPress Types - 400+ lines of precise definitions
- MCP Protocol Types - Tool definitions and handlers
- Enhanced Error Handling - Typed exceptions
- Source Maps - Debugging support
๐ง WordPress 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 |
๐ Troubleshooting
Common Issues
1. "Cannot connect to WordPress"
2. "Authentication failed"
3. "TypeScript compilation errors"
Debug Logs
DEBUG=true npm run dev๐ API Documentation
๐ค Contributing
1. Fork the repository
2. Create feature branch: `git checkout -b feature/new-feature`
3. Commit changes: `git commit -m 'Add new feature'`
4. Push branch: `git push origin feature/new-feature`
5. Create pull request
๐ License
MIT License - see LICENSE file for details
๐ Powered by TypeScript for better development experience and type safety!
Frequently asked questions
What is mcp-wordpress?
mcp-wordpress is MCP Server to manage a Wordpress CMS system.
How do I install mcp-wordpress?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-wordpress open source?
Yes โ it is hosted on GitHub at https://github.com/AiondaDotCom/mcp-wordpress.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams โ everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP