create-postLABSCO SUMMARY
File paths instead of base64, for a measured reason.
The repository documents what it was fixing: base64 image transfer lost 95-98% of the data on large files — an 85KB image arriving as 1.5KB — and used 33% more memory doing it. Sending the file path lets WordPress's own uploader handle the bytes, so an 85KB image comes out at 50KB because it was optimised, not truncated.
What it is
A WordPress posting server built around one decision: images are passed as file paths, not base64. It reads the file from disk and sends it through WordPress's standard multipart media upload, which lets WordPress do its own optimisation and generate the responsive srcset. Based on prathammanocha's wordpress-mcp-server, with the image handling rewritten.
What you get
create-postcreates a post with images attached —siteUrl,username,password,title,content,status(draft, publish or private, defaulting to draft), andimagesentries carryingfilePath,placeholderand an optionalfilename- Images drop into the body wherever their placeholder appears, so
{IMAGE1}in the content is where that image lands list-postsretrieves posts with pagination;get-postreturns one post's full detail;update-postedits an existing post
Requirements
Node.js v18 or newer, a WordPress site with the REST API enabled, and a WordPress application password. Clone the repository, run npm install, copy .env.example to .env and fill in the credentials, then npm run build. Point your client at node with the path to build/posts-only.js. Because images are read from disk, the paths you pass must be absolute and readable by the server process; upload size is bounded by WordPress's own upload_max_filesize, post_max_size and memory_limit. Documentation is in Japanese.
Setup effort
Build from source — git clone https://github.com/kentaroh7777/mcp-wordpress-post.git
USE CASES
Publishing a post with screenshots in the right places
Pass each image's path and put its placeholder where it belongs in the body.
Drafting now and publishing later
Create it as a draft, then flip the status once it's reviewed.
Fixing something in a published post
Read the post back in full, then update it.
Seeing what is already on the site
List posts with pagination instead of opening wp-admin.
4 tools
Listed in project docs. Your client may show a different list.
list-postsget-postupdate-postBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
Node.js 18 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/kentaroh7777/mcp-wordpress-post.git
cd mcp-wordpress-post
npm install
npm run buildMCP Clients
Any MCP client
{
"mcpServers": {
"wordpress-post": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_WORDPRESS_POST>/build/posts-only.js"
]
}
}
}