Complete Guide: Connect WordPress to Claude Desktop with MCP

If you’ve been following my content automation journey, you know I’ve been raving about connecting WordPress directly to Claude AI. The time savings have been incredible—60% reduction in content creation time. But here’s the thing: several people have asked me for the actual technical setup guide.

So I’m publishing the complete, step-by-step guide I wish I had when I started. This is based on my real-world implementation, including all the mistakes I made and how to avoid them.

Fair warning: This is a technical guide. It requires SSH access and some command-line work. But if you’ve ever set up marketing automation in HubSpot or configured Zapier workflows, you can absolutely handle this.

What You’ll Achieve

By the end of this guide, you’ll be able to create and edit WordPress blog posts directly from Claude Desktop, upload and manage media files, manage pages and comments, and access your WordPress site from any computer where you’re logged into Claude. You’ll use natural language to interact with your WordPress site.

Here are example conversations you’ll be able to have: “Create a blog post about the top 5 marketing automation trends for 2025” and Claude creates a full blog post with proper formatting. Or “Upload this image and add it to my latest post” and Claude handles the entire process. Or simply “List my 10 most recent blog posts” and Claude shows your recent posts with titles, dates, and status.

Prerequisites

You’ll need a WordPress site (self-hosted or managed hosting like Cloudways, Kinsta, WP Engine), SSH access to your WordPress server (most hosts provide this), WordPress admin access to create application passwords, Claude Desktop installed on your computer, and basic terminal/command line knowledge.

I strongly recommend a Claude Pro account. This allows the MCP connection to work across all your devices automatically. You can technically do this without Pro, but the experience is much better with it.

Understanding Your Options

There are two main WordPress MCP solutions available, and this confused me initially, so let me clarify.

First, there’s the Official WordPress MCP Adapter from WordPress.org. This is moving into WordPress Core (version 6.9 and later), it’s future-proof and actively maintained, and it’s based on the WordPress Abilities API. However, it’s more complex to set up, requires Composer or manual installation, and has limited tools out of the box. It’s best for developers who want the official solution and plan to build custom abilities.

Second, there’s the Automattic WordPress MCP, which I recommend for most users. This provides more WordPress tools out of the box for posts, pages, media, comments, and more. It’s easier to use for content creation, has simple installation, and works great with Claude Desktop’s remote proxy. The downside? It will eventually be deprecated in favor of the official adapter, and it’s less extensible. But for content creators who want to start creating blog posts immediately, this is the way to go.

Based on real-world testing, I recommend the Automattic WordPress MCP because it provides immediate value and is easier to set up. That’s what this guide covers.

Step-by-Step Installation

Let’s get into the actual setup. There are two main parts: installing the WordPress plugin and configuring Claude Desktop.

First, you need to install the WordPress plugin. I recommend doing this via SSH because it’s faster and more reliable. SSH into your server using your credentials, then navigate to your WordPress plugins directory. The command looks like this:

cd ~/applications/your-app-name/public_html/wp-content/plugins

Then download the latest release:

wget https://github.com/Automattic/wordpress-mcp/releases/latest/download/wordpress-mcp.zip

Unzip the plugin and clean up:

unzip wordpress-mcp.zip
rm wordpress-mcp.zip

Alternatively, if you’re not comfortable with SSH, you can download the plugin from GitHub Releases and upload it through your WordPress Admin dashboard under Plugins → Add New → Upload Plugin.

After installation, go to your WordPress Admin dashboard, navigate to Plugins, find “WordPress MCP,” and click Activate.

Configuration: The Critical Part

This is where most people get stuck, so pay close attention. You need to create an application password—NOT your regular WordPress login password. This is crucial for security.

Log into your WordPress admin, go to Users → Profile (or Your Profile), scroll down to the Application Passwords section, and in the “New Application Password Name” field, enter “Claude Desktop.” Click Add New Application Password and immediately copy the generated password. It will look something like “s9RO q2St 9lEV SESW B31p n7bP.” Save this somewhere safe because you won’t see it again.

Now here’s where I made my first mistake: You need your actual WordPress login username, not your email address, not your display name, and not the application password name. To find your username, go to Users → Profile in WordPress admin and look for the Username field (it cannot be changed). Common usernames are “admin,” your first name, or your email without the @domain.com part.

If you’re unsure, you can check via SSH using this command:

cd ~/applications/your-app-name/public_html
wp user list --fields=user_login,user_email

Configuring Claude Desktop

Now you need to edit your Claude Desktop configuration file. On macOS, open your terminal and use this command:

nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows, use:

notepad %APPDATA%\Claude\claude_desktop_config.json

If your config file is empty, use this template:

{
  "mcpServers": {
    "wordpress-site": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://yoursite.com/",
        "WP_API_USERNAME": "your-actual-username",
        "WP_API_PASSWORD": "your application password here"
      }
    }
  }
}

If you already have other MCP servers configured, just add the wordpress-site section to your existing mcpServers object.

Replace the placeholders with your actual information. Your WordPress site URL should include https:// and a trailing slash. Use your WordPress login username from the previous step. And paste in the application password you generated.

Here’s a real working example from my setup:

{
  "mcpServers": {
    "my-wordpress": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://echalupa.com/",
        "WP_API_USERNAME": "echalupa",
        "WP_API_PASSWORD": "xpRO i1St 0mEV 8VSW ze1p uVbP"
      }
    }
  }
}

Save the file (Ctrl+X, then Y, then Enter if using nano), then completely quit and restart Claude Desktop. On Mac, use Cmd+Q to fully quit, then reopen the application. Don’t just close the window—you need to fully quit the app.

Common Issues and How to Fix Them

Based on my experience and helping others set this up, here are the most common problems and their solutions.

If you see “Sorry, you are not allowed to do that” or a 401 error, the cause is usually wrong username or password. Double-check you’re using your login username, not email or display name. Generate a new application password and update your config. Make sure there are no extra spaces in the password, and verify the application password was copied correctly.

If environment variables aren’t being passed (you’ll see connection attempts in logs but no credentials), verify your JSON syntax is correct using jsonlint.com. Make sure the env section is at the same indentation level as command and args. Restart Claude Desktop completely using Cmd+Q, not just closing the window.

If you see a “Connection Failed” message, there are several possible causes. First, check if the plugin is activated in your WordPress admin under Plugins. Second, verify your WordPress URL includes https:// and a trailing slash, and doesn’t include /wp-admin or other paths. Third, check if your hosting provider’s firewall is blocking the connection. You might need to contact support to whitelist MCP connections.

If you tried using STDIO transport and are getting SSH authentication failures, don’t use STDIO transport for remote servers. Use the HTTP transport method shown in this guide instead. STDIO requires passwordless SSH keys and is unnecessarily complex for most users.

If tools aren’t appearing in a new chat, check Claude Desktop logs at ~/Library/Logs/Claude/mcp*.log on macOS, look for connection errors, start a completely new conversation (not just a new message), and click the paperclip/attachment icon to see available tools.

Testing Your Connection

Once everything is configured, it’s time to test. Open Claude Desktop and start a new conversation. Look for connection indicators—the MCP icon should show your WordPress server.

Try this simple test: “List my 5 most recent blog posts.” Claude should return your actual WordPress posts with titles, dates, and status.

Then try creating a test post: “Create a draft blog post titled ‘Testing MCP Connection’ with a paragraph about how I successfully set up WordPress MCP integration with Claude Desktop.”

If this works, check your WordPress admin dashboard. You should see the new draft post there. If you see it, congratulations—you’re connected!

What You Can Do Now

Once connected, you have access to a full suite of content management tools. For posts, you can create new blog posts, edit existing posts, browse and search posts, get details of a specific post, and remove posts. For pages, you can create WordPress pages, edit pages, and browse pages. For media, you can upload images, videos, and files, browse your media library, and get details about media items. For comments, you can view comments, get specific comment details, moderate comments (approve, unapprove, spam, or trash), and edit comment content.

You also have access to advanced tools like list_api_functions to discover all available WordPress REST API endpoints, and run_api_function to execute any WordPress REST API call directly.

Here are some practical examples of what I do regularly.

For creating a blog post, I might say: “Create a blog post titled ‘5 Marketing Automation Trends for 2025’ with sections on AI-Powered Personalization, Predictive Analytics, Multi-Channel Orchestration, Privacy-First Marketing, and Voice and Conversational AI. Make it about 800 words, use a professional but conversational tone, and include practical examples for each trend.”

To update an existing post: “Find my post titled ‘Marketing Automation Trends’ and add a new section at the end about implementing these trends with a 3-step action plan.”

For image management: “Upload this image to my media library and insert it into my latest blog post as the featured image.”

For comment moderation: “Show me all pending comments from the last week and approve any that look legitimate.”

For bulk content management: “List all my draft posts from the last 30 days and tell me which ones are ready to publish based on their content completeness.”

Advanced Workflows

Once you’re comfortable with the basics, you can create sophisticated content workflows. For example, I often use this sequence: “Create a draft post about [topic], upload these 3 images to the media library, insert the images into the post at appropriate locations, add relevant tags and categories, set the featured image, and save as draft for my review.”

For SEO optimization, I’ll ask: “Review my latest blog post and suggest a better SEO title, meta description, 5 relevant tags, and internal linking opportunities from my other posts. Then update the post with your suggestions.”

For content analysis: “Analyze my last 20 blog posts and tell me the most common topics, average word count, publishing frequency, and which posts have the most engagement based on comments.”

For batch operations: “Find all posts published in November 2024 and add a ‘Black Friday 2024’ tag to any that mention sales, deals, or promotions.”

Troubleshooting Checklist

If things aren’t working after setup, go through this checklist systematically. Verify the WordPress MCP plugin is installed and activated. Confirm you generated an application password and aren’t using your regular password. Make sure you’re using the correct login username, not email or display name. Check that your config file JSON syntax is valid. Verify your WordPress URL includes https:// and trailing slash. Confirm Claude Desktop was completely quit and restarted, not just the window closed. Start fresh conversations rather than continuing old ones. Check if any firewall is blocking the connection. And verify the application password was copied correctly with no extra spaces.

What’s Next

Now that you have WordPress connected to Claude Desktop, here’s what I recommend. Create your first real blog post using Claude to help you brainstorm, outline, and write. Set up a content calendar by asking Claude to help you plan upcoming posts. Optimize existing content by having Claude analyze and improve your published posts. Automate repetitive tasks using Claude for bulk tagging, categorization, or formatting. And explore other MCP integrations to connect other tools and create powerful workflows.

The Bigger Picture

This WordPress-Claude integration is just one piece of what’s becoming possible with Model Context Protocol. I’ve also connected Claude to my Google Drive, my file system, and web search capabilities. The ability to have all these tools talking to each other through natural language is transforming how I work.

For content creators, marketers, and anyone who manages a WordPress site, this integration removes so much friction from the content creation process. You go from idea to published post without switching between a dozen different applications.

And here’s what excites me most: we’re still in the early days of this technology. As more tools add MCP support and as the protocol matures, the possibilities will expand dramatically. What we can do today is impressive. What we’ll be able to do in six months will be extraordinary.

My Personal Take

I spent about two hours troubleshooting my initial setup, mostly because I was using my email address instead of my login username. Once I figured that out, everything clicked into place. Now I use this integration daily, and it’s genuinely changed how I approach content creation.

The beauty of this system is that it doesn’t replace the human element in content creation. I still need to provide strategy, brand voice, and editorial judgment. What it does is eliminate the mechanical friction—the copying, pasting, formatting, and clicking through WordPress admin panels.

If you’re a marketing professional who creates regular content, this setup will pay for itself in saved time within the first week. And if you bill by the hour, the ROI is even more obvious.

Alternative Setup: Official MCP Adapter

If you prefer the official WordPress MCP Adapter instead of the Automattic version, here’s how to set it up.

For installation via SSH:

cd ~/applications/your-app-name/public_html
composer require wordpress/abilities-api wordpress/mcp-adapter

For configuration in your Claude Desktop config file:

{
  "mcpServers": {
    "wordpress-official": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://yoursite.com/wp-json/mcp/mcp-adapter-default-server/sse",
        "--header",
        "Authorization: Basic YOUR_BASE64_ENCODED_CREDENTIALS"
      ]
    }
  }
}

To generate the Base64 credentials, use this command:

echo -n "username:password" | base64

Note that the official adapter currently provides 3 core tools for discovering and executing WordPress abilities. It’s more extensible but requires building custom abilities for specific WordPress operations.

Full Example Configuration

Here’s a complete example showing WordPress MCP alongside other common MCP servers. This demonstrates how you can combine multiple tools in Claude Desktop:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/Documents"
      ]
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "your-api-key"
      }
    },
    "wordpress-site": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://yoursite.com/",
        "WP_API_USERNAME": "your-username",
        "WP_API_PASSWORD": "your application password"
      }
    }
  }
}

This configuration allows you to use filesystem access, web search, AND WordPress all together in Claude Desktop. The integration possibilities are endless.

Additional Resources

For those who want to dive deeper, I recommend checking out the Automattic WordPress MCP GitHub repository, the WordPress REST API Documentation, the Model Context Protocol Specification, and Claude Desktop Documentation. All of these resources helped me understand what’s happening under the hood.

Final Thoughts

This guide represents real-world implementation experience. Every issue I’ve documented here is something I encountered and solved. Every example workflow is something I actually use. This isn’t theoretical—it’s practical, tested, and working in production.

If you run into issues not covered here, feel free to reach out. The WordPress and Claude communities are both incredibly helpful, and I’m happy to troubleshoot specific problems.

The future of content creation is here. It’s not about AI replacing writers—it’s about AI empowering writers to focus on what matters most: strategy, creativity, and genuine connection with audiences.

Start small. Get the connection working. Create your first post. Then gradually build more sophisticated workflows as you get comfortable with the system.

That’s exactly what I did, and three months later, I can’t imagine going back to the old way of doing things.


Edward Chalupa is Marketing Director at iPEC and founder of Whtnxt marketing automation consultancy. He specializes in building efficient marketing systems that combine AI, automation, and strategic thinking. This guide is based on his real-world implementation of WordPress-Claude integration.