$pages = [

$title =

Get Started

;

$content = [

Set up your own markdown-managed WordPress.com site. Most of the work is Claude’s — you just need to connect the pieces.

Prerequisites

Step 1: Install the skill

Clone the skill into your Claude Code skills directory:

git clone https://github.com/michaelpick/wp-publish ~/.claude/skills/wp-publish

Or install it into a specific project:

git clone https://github.com/michaelpick/wp-publish .claude/skills/wp-publish

Step 2: Enable MCP on WordPress.com

  1. Go to wordpress.com/me/mcp
  2. Toggle “Enable MCP Tool Access” on
  3. The content tools (create post, update page, etc.) should be enabled by default

Step 3: Add MCP to your project

Run this in your project directory:

claude mcp add --transport http --scope project wpcom-mcp https://public-api.wordpress.com/wpcom/v2/mcp/v1

This creates a .mcp.json in your project root, scoping the WordPress connection to this project only.

Step 4: Start Claude Code and init

Open a new Claude Code session in your project directory and say:

/wp-publish init

Claude will walk you through connecting to your site, scaffolding the directory, and optionally pulling down any existing content.

Step 5: Write and publish

Create a markdown file in content/posts/. You can write as little or as much as you want — Claude handles the rest:

This is my first post, written in markdown and published by my agent.

I didn't even add frontmatter. Claude will take care of the title,
the slug, the date, the categories — all of it.

Then tell Claude: “push my new post”

Claude adds the metadata, converts to WordPress block markup, and publishes via MCP. Your post is on WordPress.com — and the wp_id is written back to your local file so everything stays in sync.

What’s next

  • “What’s out of sync?” — see what’s changed locally vs. on WordPress.com
  • “Pull the site” — download remote changes to local markdown
  • “New post about X” — Claude creates a new post file from a template
  • “Upload this image” — Claude will walk you through the dashboard upload (MCP doesn’t support media upload yet) and reference it in your content
  • Open your project folder in Obsidian for a visual writing experience alongside agent-powered publishing

Troubleshooting

MCP not connecting?
After adding the server, start a new Claude Code session. MCP servers connect at session start. If it still doesn’t work, run /mcp in Claude Code — you may need to manually select the server and click “Authenticate” to trigger the OAuth flow.

Auth prompt in the browser?
That’s normal on first connect — WordPress.com MCP uses OAuth, so you’ll approve the connection once in your browser.

“Permission denied” errors?
Check that your WordPress.com user has the right role on the site (Administrator or Editor for content creation).

Something not working as expected?
Tell Claude what’s happening. Seriously — debugging is one of the things it’s best at. It’ll check your MCP connection, read the error, and usually fix the issue in the same conversation.

];

Is this your new site? Log in to activate admin features and dismiss this message
Log In