Integrations / Content

WordPress

Find, draft and update posts and pages, look up media, categories and tags, and read, answer and moderate comments on a self-hosted WordPress site.

14 tools

Tools

wordpress.list_posts

List or search posts, newest first. IDs are integers; category and tag IDs come from list_categories and list_tags.

searchstatuscategoriestagsafterper_pagepage

wordpress.get_post

Get a post with its content as stored (raw) and as rendered HTML, by its integer ID.

post_id*

wordpress.create_post writes

Create a post, saved as a draft unless status says otherwise. Returns its ID and a link to preview it.

title*content*excerptstatuscategoriestagsslugdatefeatured_media

wordpress.update_post writes

Change a post's title, content, status, terms or other fields. Only the fields given change.

post_id*titlecontentexcerptstatuscategoriestagsdate

wordpress.list_pages

List or search pages. IDs are integers; parent is 0 for top-level pages.

searchstatusparentper_pagepage

wordpress.create_page writes

Create a page, saved as a draft unless status says otherwise.

title*content*statusparentslug

wordpress.list_media

List or search the media library, newest first, with each item's integer ID, URL and alt text.

searchmedia_typeper_page

wordpress.list_categories

List or search categories with their integer IDs and post counts.

searchper_page

wordpress.list_tags

List or search tags with their integer IDs and post counts.

searchper_page

wordpress.list_comments

List comments, newest first. Holding for moderation is status hold; reading anything but approved comments needs an Editor.

poststatussearchper_page

wordpress.reply_to_comment writes

Post a comment as the connection's user, as a reply when parent is given. Returns the comment's ID.

post*parentcontent*

wordpress.moderate_comment writes

Approve, hold, mark as spam or trash a comment. Needs an Editor.

comment_id*status*

wordpress.api_get

Send a GET request to any WordPress API path under https://{site}/wp-json/wp/v2 and return the response. For endpoints the named tools don't cover.

path*params

wordpress.api_request writes

Send a POST, PUT, PATCH or DELETE request to any WordPress API path under https://{site}/wp-json/wp/v2.

method*path*paramsbody

Tick Allow raw writes on the connection to add api_request, which can send POST, PUT, PATCH and DELETE requests to any WordPress API path.

Connect

  1. In WordPress admin, open Users → Profile (or edit the user Murmurator should act as), scroll to Application Passwords, enter a name such as Murmurator and select Add New Application Password. Copy it; it is shown once.
  2. Use a user whose role fits: an Author can draft and publish their own posts, an Editor can also edit pages and moderate comments.
  3. Set Site to the site's host: a public https host such as blog.example.com, or, for a server at home, its tailnet name and port such as http://wordpress:8080 with a tailscale connection named as the Tailnet. WordPress only offers application passwords over https unless the site's WP_ENVIRONMENT_TYPE is local, and a site installed in a subfolder such as example.com/blog can't be reached yet.

Credentials

Application password

WordPress API docs

Turn one person's AI process into the company's.

Murmurator is invite-only. Already invited? Sign in and build something real.