LabscoMCP early access ↗
LeonelberioMCP SERVER

WordPress MCP Server by Leonelberio

Create, list and update WordPress posts over the REST API — credentials in the environment, or passed per call.

CMS & Blog PublishingCommunity

LABSCO SUMMARY

Draft-by-default is the detail that makes it safe to hand over.

Creating a post without a status produces a draft, which means an assistant that misunderstands an instruction produces something you can delete rather than something your readers already saw. Publishing is an explicit choice on the call. The per-call credentials are the other useful piece: the same server can write to several sites without a config file per site, though that does mean credentials appear in the request when you use it that way.

What it is

A small MCP server for WordPress publishing. Three operations cover the loop: create a post, read a page of posts, and update one you already made. Authentication uses a WordPress application password rather than the account password.

What you get

  • create_post takes a title, content and an optional status of draft, publish or private, defaulting to draft
  • get_posts reads posts with perPage and page, defaulting to 10 per page starting at page 1
  • update_post edits an existing post by postId, changing title, content or status
  • Credentials can come from the environment or be supplied in the call itself, so one server can address more than one site

Requirements

Node.js 20.0.0 or higher, and a WordPress site with the REST API enabled. Clone, npm install, npm run build, then point the client at the built entry point. The three environment variables are WORDPRESS_SITE_URL, WORDPRESS_USERNAME and WORDPRESS_PASSWORD, which should hold an application password generated under Users > Security > Application Passwords rather than your login password.

Setup effort

Build from source — git clone https://github.com/Leonelberio/the-wordpress-mcp-server