Free Claude Desktop extension v1.1.0
Write in Claude. Publish to WordPress.
WP Publisher for Claude lets Claude draft posts, upload images, choose the author and publish to up to five WordPress websites, but only after you approve. Your passwords stay in Claude's settings, never in the chat.
- Drafts first
- Up to 5 websites
- Any author
- No server in between
01How it works
Claude does the writing. You decide what goes live.
Every post follows the same three steps. Claude can draft and edit on its own, but publishing always waits for you.
-
Claude writes the draft
Ask in plain words. Claude picks the website, writes the post, uploads images from that site's folder, sets categories, tags and the author, and saves it as a draft.
create_draftupload_imagelist_authors -
You review it in WordPress
Open the draft in your usual WordPress editor and change anything you like. Claude can make edits for you too, but only while the post is still a draft.
get_postupdate_draft -
You approve, it goes live
Say "publish it". Claude Desktop asks for your permission, the title has to match the post, and future-dated drafts are refused, so nothing gets scheduled by surprise.
publish_post
02Websites
One Claude. Up to five WordPress sites.
Connect each website once in the extension's settings. After that, just say which site a post is for.
- Its own login for every siteEach website uses its own WordPress Application Password, saved in Claude's settings, not in the chat.
- Its own image folderImages upload only from the folder you picked for that site, so
hero.pngfor one client never ends up on another. - Nothing mixes between sitesPost 128 on one website and post 128 on another are different posts; Claude always keeps the site with the ID.
- It asks when you don't sayIf a request could mean more than one site, Claude asks which one instead of guessing.
in Claude Desktop
website-1
- CBCompany Blogcompanyblog.exampleBlogImages/CompanyBlogwebsite-1
- CTClient Twoclienttwo.exampleBlogImages/ClientTwowebsite-2
- RHRecipe Hubrecipehub.exampleBlogImages/RecipeHubwebsite-3
- TNTravel Notestravelnotes.exampleBlogImages/TravelNoteswebsite-4
- SJShop Journalshopjournal.exampleBlogImages/ShopJournalwebsite-5
04Safety
Nothing goes live by accident.
Before a post is published, it has to pass four checks. If any one fails, the post stays a draft.
- You allowed itClaude Desktop asks you to approve
publish_posteach time. - The title matchesThe title Claude gives must match post 128 on that website, so a wrong ID or wrong site is caught.
- It's a draft or pending postLive, scheduled and private posts can't be changed by these tools.
- It isn't dated in the futureA future date would schedule the post instead, so it's refused.
All four checks passed. Spring Campaign Recap is live on website-1.
New posts are always created as drafts. There is no way to create a post that is live straight away.
Application Passwords live in Claude Desktop's protected settings and are never sent back to Claude in replies or errors.
It talks only to the HTTPS address you entered and refuses redirects, so your login can't be passed on to another server.
Uploads come only from the folder you picked for that site. Sub-folders, shortcuts and other paths are refused.
It can't delete posts, images, categories or users. Removing anything still happens in WordPress, by you.
Your approval click is the real check. In Claude Desktop, never set publish_post to "Always allow".
05Install
Set it up in about ten minutes.
You need Claude Desktop and a WordPress website. Nothing to install on the website itself, and no coding.
-
Check you have what's needed
- Claude Desktop on Windows or macOS.
- A WordPress website on HTTPS, version 5.6 or newer.
- A WordPress account that can write posts. To credit posts to other people, use an Editor or Administrator account.
-
Create an Application Password
In WordPress admin, go to Users → Profile, scroll to Application Passwords, type the name Claude and click Add New Application Password.
Copy the password now: WordPress shows it only once. It isn't your login password, and you can revoke it from the same screen at any time.
-
Download the extension
One small file: wp-publisher-for-claude-1.1.0.mcpb, about 44 KB.
Download v1.1.0 (.mcpb) -
Install it in Claude Desktop
Open Settings → Extensions, click Advanced settings, then under Extension Developer click Install Extension… and choose the file you downloaded. Review the details and click Install.
-
Fill in Website 1
In the extension's settings, turn on Enable website 1 and enter:
- a name, like Company Blog
- the website address, like https://example.com (no /wp-admin)
- your WordPress username and the Application Password from step 2
- the folder on your computer that holds this site's blog images
Repeat for Website 2 to 5 if you have more sites. Save, and make sure the extension is turned on.
-
Test the connection
Start a new chat in Claude and ask:
List my websites, then test website-1. Don't create or publish anything.
-
Write your first draft
On website-1, create a draft titled “Hello from Claude”, slug hello-from-claude, with a short welcome paragraph. Don't publish.
Check the draft in WordPress. When you're happy, tell Claude to publish it and click Allow when Claude Desktop asks.
06Tools
Ten tools. No delete button.
Six only read. Three write drafts. One publishes, and only after you approve. Hover a tool to see what you might ask.
- Read only
list_sitesLists your connected websites, their IDs and image folders. Never shows passwords.
Which websites can you publish to? - Read only
test_connectionChecks the login works and what that account is allowed to do.
Test website-2. - Read only
list_authorsThe people on a website who can be set as a post's author.
Who can write on Company Blog? - Read only
list_categoriesThe website's existing categories, 100 at a time.
Show the categories on website-1. - Read only
list_tagsExisting tags, so drafts use tags that really exist.
Find the SEO tag on website-1. - Read only
get_postReads a post for review, with its status, author and image.
Show me draft 128 on website-1. - Writes
upload_imageUploads a PNG, JPG or WebP from that site's image folder, with alt text.
Upload hero.png to website-1 with alt text for a garden path. - Writes a draft
create_draftA new draft with a unique slug, categories, tags, image and author.
Draft a post on spring recipes for website-3. - Edits drafts
update_draftChanges a draft or pending post. Live posts can't be touched.
Give draft 128 a shorter title. - Goes live
publish_postPublishes a reviewed draft, after your approval and a title check.
Publish draft 128 on website-1.
Is it free?
Yes. There's no account, subscription or usage limit. You only need your own Claude plan and Claude Desktop.
Does my content or password go through your server?
No. The extension runs on your own computer and talks straight to your WordPress website over HTTPS. There is no server in between, and I never see your posts, images or passwords.
The text Claude writes is part of your Claude conversation, as usual.
How is my Application Password kept safe?
You enter it in the extension's settings, where Claude Desktop stores it as a sensitive value. It is sent only to the website you entered, never shown back to Claude, and never included in error messages.
An Application Password isn't your login password, and you can revoke it any time in WordPress under Users → Profile → Application Passwords.
Can it publish without asking me?
Not unless you allow it. Claude Desktop asks you to approve publish_post every time, and the post's title has to match too. Keep that approval on Ask: if you set it to "Always allow", that prompt goes away.
Does it work with WordPress.com?
It's built for self-hosted WordPress 5.6 or newer on HTTPS, which has Application Passwords built in. Some WordPress.com plans and some security plugins turn off Application Passwords or the REST API. If test_connection fails, check that first.
Why can't I set a different author?
Crediting a post to someone else needs an Editor or Administrator account. Author and Contributor accounts can only post as themselves, so WordPress refuses the request and nothing is created. The person also has to be a user on that website.
Which images can I upload?
PNG, JPG and WebP files up to 20 MB, from the image folder you picked for that website. Give Claude just the file name, like hero.png. Sub-folders and files elsewhere on your computer are refused.
Uploading doesn't place the image in the post by itself: Claude sets it as the featured image or uses its link in the content.
Can it schedule posts, fill in SEO fields or delete things?
Not in version 1.1.0. Scheduling, pages and custom post types, SEO plugin fields (like Yoast or Rank Math) and any kind of deleting are not included. Drafts with a future date are refused rather than scheduled.
Something isn't working. What should I check?
- 401 or 403 error: check the username and Application Password, the account's role, and whether a security plugin blocks the WordPress REST API.
- Redirect error: use the website's exact HTTPS address, without
/wp-admin. - Timeout: look in WordPress before retrying. The draft or image may already have been saved.
- No tools in Claude: make sure the extension is turned on, then restart Claude Desktop.
Has it been tested?
It ships with 34 automated tests covering website routing, logins, image folders, authors and the publishing checks, run against simulated WordPress responses. It was developed on Windows. Try it on a staging site first, and tell me if anything doesn't work on yours.
Write in Claude. Publish when you're ready.
Free for Claude Desktop. Up to five WordPress websites, any author, drafts first, and nothing goes live until you say so.