WP Publisher for ClaudeFree Claude Desktop extension

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.

v1.1.0 · 44 KB Windows & macOS

  • 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.

  1. 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
  2. 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
  3. 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.png for 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.
WP Publisher
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

list_authors4 people can write on Company Blog

  • PSPriya SharmaAuthor
  • RMRahul MehtaEditor
  • ACAna CostaAuthor
  • SLSam LeeContributor
companyblog.example/q3-product-updateDraft

Q3 Product Update

PSPriya SharmaCredited author · author: 4

03Authors

Publish as anyone on your team.

Each website connects with one account, but every post can carry the right person's name.

  • Name the author in plain wordsClaude looks up that person's author ID on the right website with list_authors and sets it on the draft.
  • Needs an Editor or Administrator accountAuthor and Contributor accounts can only post as themselves. WordPress refuses the request and nothing is created.
  • No email addresses sharedClaude only sees each author's ID, name and username.
  • Leave it out to keep the defaultNew drafts go to the connected account, and edits keep the current author.

On website-1, create a draft titled “Q3 Product Update” with Priya Sharma as the author. Don't publish.

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.

  1. You allowed itClaude Desktop asks you to approve publish_post each time.
  2. The title matchesThe title Claude gives must match post 128 on that website, so a wrong ID or wrong site is caught.
  3. It's a draft or pending postLive, scheduled and private posts can't be changed by these tools.
  4. 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.

Drafts first, always

New posts are always created as drafts. There is no way to create a post that is live straight away.

Passwords stay in settings

Application Passwords live in Claude Desktop's protected settings and are never sent back to Claude in replies or errors.

HTTPS only, no redirects

It talks only to the HTTPS address you entered and refuses redirects, so your login can't be passed on to another server.

Images from one folder only

Uploads come only from the folder you picked for that site. Sub-folders, shortcuts and other paths are refused.

No delete tools

It can't delete posts, images, categories or users. Removing anything still happens in WordPress, by you.

Keep publishing on "Ask"

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.

  1. 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.
  2. 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.

  3. Download the extension

    One small file: wp-publisher-for-claude-1.1.0.mcpb, about 44 KB.

    Download v1.1.0 (.mcpb)
  4. 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.

  5. 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.

  6. Test the connection

    Start a new chat in Claude and ask:

    List my websites, then test website-1. Don't create or publish anything.

  7. 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 onlylist_sites

    Lists your connected websites, their IDs and image folders. Never shows passwords.

    Which websites can you publish to?
  • Read onlytest_connection

    Checks the login works and what that account is allowed to do.

    Test website-2.
  • Read onlylist_authors

    The people on a website who can be set as a post's author.

    Who can write on Company Blog?
  • Read onlylist_categories

    The website's existing categories, 100 at a time.

    Show the categories on website-1.
  • Read onlylist_tags

    Existing tags, so drafts use tags that really exist.

    Find the SEO tag on website-1.
  • Read onlyget_post

    Reads a post for review, with its status, author and image.

    Show me draft 128 on website-1.
  • Writesupload_image

    Uploads 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 draftcreate_draft

    A new draft with a unique slug, categories, tags, image and author.

    Draft a post on spring recipes for website-3.
  • Edits draftsupdate_draft

    Changes a draft or pending post. Live posts can't be touched.

    Give draft 128 a shorter title.
  • Goes livepublish_post

    Publishes a reviewed draft, after your approval and a title check.

    Publish draft 128 on website-1.

07FAQ

Good questions.

Still stuck? Send me a note and I'll help you get it working.

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.

  • Free
  • Windows & macOS
  • 44 KB .mcpb