Loading languages...
MC

mcp-wordpress

@gopalcnepal3

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.

wordpress
rest-api
content-management

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

# mcpServer Config

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/wordpress",
        "run",
        "main.py"
      ]
    }
  }
}

# stdio

uv run main.py
Transport:
stdio
Language:
Python
Created: 4/10/2025
Updated: 2/3/2026