mcp-wordpress

mcp-wordpress

3.3

If you are the rightful owner of mcp-wordpress and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server for interacting with WordPress sites, providing tools to fetch posts, pages, categories, and site information from any WordPress installation with REST API enabled.

WordPress MCP Server

A Model Context Protocol (MCP) server for interacting with WordPress sites. This server provides tools to fetch posts, pages, categories, and site information from any WordPress installation with REST API enabled.

Prerequisites

  • Python 3.13
  • WordPress site with REST API enabled
  • UV package installer (recommended)

Installation

  1. Install UV (Universal Virtualenv):
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Clone the repository:
git clone <repository-url>
cd wordpress
  1. Create and activate a virtual environment:
uv venv
source .venv/bin/activate  # On Windows, use `.venv\Scripts\activate`
  1. Install dependencies using UV:
uv add "mcp[cli]" httpx

Configuration

  1. Create a .env file in the project root:
WORDPRESS_URL="https://your-wordpress-site.com"

Usage

Using Claude for Desktop:

  • First, start the server:
uv run main.py
  • In Claude for Desktop, go to Settings > Developer
  • Click "Edit Config"
  • Alternative Edit config approach using VSCode in Mac/Windows:
    # For Mac Users
    code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # For Windows Users
    code $env:AppData\Claude\claude_desktop_config.json
    
  • Add the file to config:
{
    "mcpServers": {
        "weather": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/wordpress",
                "run",
                "main.py"
            ]
        }
    }
}

The server provides these testable tools:

  • fetch_wordpress_info: Get basic site information
  • fetch_posts: Get recent posts
  • fetch_categories: List all categories
  • fetch_posts_by_category: Get posts in a specific category
  • fetch_pages: Get site pages
  • fetch_post_by_id: Get a specific post
  • fetch_page_by_id: Get a specific page

Error Handling

The server includes robust error handling for:

  • Invalid JSON responses
  • Network errors
  • WordPress API errors
  • Invalid URLs
  • API authentication issues