{"id":375607,"date":"2026-09-30T15:12:18","date_gmt":"2026-09-30T15:12:18","guid":{"rendered":"https:\/\/en-ca.wordpress.org\/plugins\/agent-publisher\/"},"modified":"2026-10-01T17:07:11","modified_gmt":"2026-10-01T17:07:11","slug":"acadium-agent-publisher","status":"publish","type":"plugin","link":"https:\/\/am.wordpress.org\/plugins\/acadium-agent-publisher\/","author":23573809,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.9.0","stable_tag":"1.9.0","tested":"7.1.2","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Acadium Agent Publisher","header_author":"Acadium","header_description":"Let Claude and other AI agents draft posts, update drafts, upload images and look up categories and tags, as a drafts-only user. Works with the WordPress Abilities API and the MCP Adapter.","assets_banners_color":"","last_updated":"2026-10-01 17:07:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Acadium\/acadium-agent-publisher","header_author_uri":"https:\/\/acadium.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":136,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.0":{"tag":"1.4.0","author":"anselbrandt","date":"2026-09-30 15:11:46","revision":3721553},"1.6.0":{"tag":"1.6.0","author":"anselbrandt","date":"2026-09-30 17:30:53","revision":3721756},"1.6.1":{"tag":"1.6.1","author":"anselbrandt","date":"2026-09-30 18:10:34","revision":3721812},"1.7.0":{"tag":"1.7.0","author":"anselbrandt","date":"2026-09-30 19:26:54","revision":3721917},"1.8.0":{"tag":"1.8.0","author":"anselbrandt","date":"2026-10-01 04:01:14","revision":3722338},"1.9.0":{"tag":"1.9.0","author":"anselbrandt","date":"2026-10-01 17:07:11","revision":3723528}},"upgrade_notice":{"1.9.0":"<p>Staff can now connect Claude with their own WordPress accounts, and posts are credited to them. Existing AI Agent connections keep working, and your saved settings are kept.<\/p>","1.8.0":"<p>Agents can no longer publish with featured images under 1,200 px wide (or your site&#039;s minimum) unless you allow it under Settings &gt; Agent Publisher &gt; Images.<\/p>","1.7.0":"<p>Adds image guidance and checks, a find-media tool for images you upload yourself, and one-step featured image replacement on live posts.<\/p>","1.6.1":"<p>Fixes Claude connectors failing with a server error on sites that run Limit Login Attempts Reloaded or similar plugins.<\/p>","1.6.0":"<p>Adds a one-click Claude Desktop extension for sites that can&#039;t use the connector. Includes the 1.5.0 security fixes.<\/p>","1.5.0":"<p>Security release: recommended for all sites, especially those in a Publish mode. Adds one-click setup and connection checks under Settings &gt; Agent Publisher.<\/p>","1.4.0":"<p>create-draft-post is now create-post, which can also publish and set a featured image in one step. Restart Claude Desktop (or reconnect) after updating so it picks up the new tools.<\/p>","1.3.1":"<p>Fixes Claude Desktop not loading the tools that create and edit posts. Reconnect Claude (or restart Claude Desktop) after updating.<\/p>","1.3.0":"<p>The MCP Adapter is built in, and the new connection URL is \/wp-json\/acadium-agent-publisher\/mcp. Existing connections keep working.<\/p>","1.2.0":"<p>Adds optional OAuth so claude.ai and the Claude mobile apps can connect. Off until you enable it under Settings &gt; Agent Publisher.<\/p>","1.1.0":"<p>Adds optional publishing. The default stays &quot;Drafts only&quot;; nothing changes until you pick another mode under Settings &gt; Agent Publisher.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3721756,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3721756,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.0","1.6.0","1.6.1","1.7.0","1.8.0","1.9.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[251511,2353,229563,529,242115],"plugin_category":[],"plugin_contributors":[283715],"plugin_business_model":[],"class_list":["post-375607","plugin","type-plugin","status-publish","hentry","plugin_tags-abilities","plugin_tags-ai","plugin_tags-claude","plugin_tags-content","plugin_tags-mcp","plugin_contributors-anselbrandt","plugin_committers-anselbrandt"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/acadium-agent-publisher\/assets\/icon-128x128.png?rev=3721756","icon_2x":"https:\/\/ps.w.org\/acadium-agent-publisher\/assets\/icon-256x256.png?rev=3721756","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Acadium Agent Publisher lets an AI agent, such as Claude, write and publish blog posts for your site through the WordPress Abilities API and the Model Context Protocol (MCP). The official MCP Adapter library is built in, so there is nothing else to install.<\/p>\n\n<p>Your staff connect Claude with <strong>their own WordPress accounts<\/strong>: the posts Claude writes are credited to and owned by the person who connected it. Claude works with limited permissions, never more than that person's own role: their own posts only, no settings, no other people's posts. Under <strong>Settings &gt; Agent Publisher<\/strong> you decide how far Claude may go:<\/p>\n\n<ul>\n<li><strong>Drafts only<\/strong>: Claude creates and edits drafts, and a person publishes them.<\/li>\n<li><strong>Submit for review<\/strong>: Claude can also move drafts to \"Pending review\" for an editor.<\/li>\n<li><strong>Publish<\/strong>: Claude can also publish or schedule posts, after the checks you set, and unpublish them again.<\/li>\n<li><strong>Publish and edit live posts<\/strong> (default): Claude can also change posts after they are live.<\/li>\n<\/ul>\n\n<p>Each person's role still applies: a Contributor's Claude can only write drafts and submit them for review, in any mode.<\/p>\n\n<p>Checks before an agent publishes:<\/p>\n\n<ul>\n<li>a title and content are always required<\/li>\n<li>optional: a featured image with alt text<\/li>\n<li>optional: allowed categories<\/li>\n<li>optional: a daily limit<\/li>\n<\/ul>\n\n<p>Every agent action is listed under Recent agent activity on the settings page.<\/p>\n\n<h4>Connect Claude in a few clicks<\/h4>\n\n<p>The <strong>Connect Claude<\/strong> section under Settings &gt; Agent Publisher creates the AI Agent user, turns on connector sign-in (OAuth) and shows the connection URL. In Claude Desktop, claude.ai or the Claude mobile apps, add the site as a custom connector with that URL: no Application Password and no software on your computer.<\/p>\n\n<p><strong>Connection checks<\/strong> on the same page test HTTPS, permalinks, the connection URL, the Authorization header and connector sign-in from the server itself, and explain how to fix what fails (with a one-click .htaccess fix for the Authorization header on Apache). Sites that can't use the connector (for example, WordPress in a subfolder) can use the Claude Desktop extension instead: download it from the same page, create an Application Password there, and open the file. Claude Desktop installs it and runs it with its own Node.js, so there's nothing else to install and no configuration file to edit.<\/p>\n\n<p>When you connect, an administrator logs in to WordPress and approves the connection, choosing which AI Agent user it acts as. The connection never gets the administrator's own permissions. Connected apps are listed on the settings page, and you can disconnect any of them.<\/p>\n\n<h4>Safety<\/h4>\n\n<ul>\n<li><strong>The AI Agent role never has publishing rights.<\/strong> It has only read, edit_posts, delete_posts and upload_files. Publishing, scheduling, unpublishing and editing live posts happen only through this plugin's abilities, which check your settings first. Even if the agent calls the regular REST API directly with its password, it cannot publish or change live content.<\/li>\n<li><strong>Agents only change their own posts.<\/strong> They cannot touch other users' posts.<\/li>\n<li><strong>Unsafe HTML is removed.<\/strong> WordPress strips scripts, iframes and event handlers from what the agent writes.<\/li>\n<li><strong>Uploads are checked.<\/strong> The real file type must be JPEG, PNG, GIF or WebP, the size is limited, and URL uploads only fetch from public https addresses.<\/li>\n<li><strong>OAuth is off by default.<\/strong> When it's on:\n\n<ul>\n<li>Every connection needs an administrator's approval.<\/li>\n<li>PKCE is required.<\/li>\n<li>Access tokens expire after an hour, and refresh tokens are single-use.<\/li>\n<li>Tokens are stored only as hashes, and they work only for the MCP and Abilities API routes.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>Publishing can trigger things that unpublishing cannot undo, such as subscriber emails or social media posts from other plugins. Choose a stricter mode if posts should be reviewed by someone else before they go live.<\/p>\n\n<h4>Abilities<\/h4>\n\n<ul>\n<li><code>agent-publisher\/get-capabilities<\/code> (read-only): what the site allows<\/li>\n<li><code>agent-publisher\/list-terms<\/code> (read-only)<\/li>\n<li><code>agent-publisher\/get-post<\/code> (read-only; any status, including published)<\/li>\n<li><code>agent-publisher\/create-post<\/code> (as a draft, for review, or published in one step with its featured image)<\/li>\n<li><code>agent-publisher\/update-draft-post<\/code><\/li>\n<li><code>agent-publisher\/upload-media<\/code><\/li>\n<li><code>agent-publisher\/find-media<\/code> (read-only: find images in the Media Library)<\/li>\n<li><code>agent-publisher\/request-upload<\/code> (a one-time link where the user uploads their own image)<\/li>\n<li><code>agent-publisher\/get-upload<\/code> (read-only: the image from an upload link)<\/li>\n<li><code>agent-publisher\/submit-for-review<\/code><\/li>\n<li><code>agent-publisher\/publish-post<\/code> (publish now or schedule)<\/li>\n<li><code>agent-publisher\/unpublish-post<\/code><\/li>\n<li><code>agent-publisher\/update-published-post<\/code> (including replacing the featured image)<\/li>\n<\/ul>\n\n<p>They are available through the core Abilities REST API (<code>\/wp-json\/wp-abilities\/v1\/<\/code>; read-only abilities use GET, the others POST) and, as one MCP tool each, at the plugin's MCP endpoint <code>\/wp-json\/acadium-agent-publisher\/mcp<\/code> for clients such as claude.ai, Claude Desktop and Claude Code.<\/p>\n\n<h4>For developers<\/h4>\n\n<p>Filters:<\/p>\n\n<ul>\n<li><code>agent_publisher_post_types<\/code>: post types the post abilities work on (default: <code>post<\/code>).<\/li>\n<li><code>agent_publisher_post_meta<\/code>: custom field keys agents may read and write (default: none).<\/li>\n<li><code>agent_publisher_upload_mimes<\/code>: accepted image types (default: JPEG, PNG, GIF, WebP).<\/li>\n<li><code>agent_publisher_max_upload<\/code>: maximum upload size in bytes (default: 10 MB).<\/li>\n<\/ul>\n\n<p>Development happens on GitHub: https:\/\/github.com\/Acadium\/acadium-agent-publisher<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Acadium Agent Publisher. If the site uses \"Plain\" permalinks, click the one-click \"Post name\" button the plugin shows.<\/li>\n<li>Under Settings &gt; Agent Publisher, copy the connection URL and share it with your staff. Nothing else to set up.<\/li>\n<li>Each person adds the site in Claude (Claude Desktop, claude.ai or the Claude mobile app): Settings &gt; Connectors &gt; Add custom connector, paste the connection URL, click Connect, log in with their own WordPress account and click Allow.<\/li>\n<li>Optionally, choose what Claude may do under Settings &gt; Agent Publisher (default: Publish and edit live posts) and set image guidance.<\/li>\n<\/ol>\n\n<p>Your site must use HTTPS. Sites the connector can't reach (for example WordPress in a subfolder) can use the Claude Desktop extension with an Application Password instead; see \"Can't use the connector?\" on the settings page.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20the%20agent%20publish%20posts%3F\"><h3>Can the agent publish posts?<\/h3><\/dt>\n<dd><p>Only if you choose \"Publish\" or \"Publish and edit live posts\" under Settings &gt; Agent Publisher. By default it can only create drafts, and a person publishes them.<\/p><\/dd>\n<dt id=\"can%20the%20agent%20bypass%20these%20settings%20through%20the%20rest%20api%3F\"><h3>Can the agent bypass these settings through the REST API?<\/h3><\/dt>\n<dd><p>No. The AI Agent role has no publishing capabilities, so the regular REST API refuses to publish or edit live posts for it in every mode. Only this plugin's abilities can do that, after checking your settings.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20from%20the%20claude%20mobile%20app%3F\"><h3>Can I use it from the Claude mobile app?<\/h3><\/dt>\n<dd><p>Yes. Turn on \"Allow OAuth connections\" under Settings &gt; Agent Publisher and add your site as a custom connector in claude.ai. Connectors added there are also available in the Claude mobile apps.<\/p><\/dd>\n<dt id=\"do%20i%20need%20the%20mcp%20adapter%20plugin%3F\"><h3>Do I need the MCP Adapter plugin?<\/h3><\/dt>\n<dd><p>No. The plugin includes the official MCP Adapter (https:\/\/github.com\/WordPress\/mcp-adapter) library. If the MCP Adapter plugin, or another plugin that includes it (such as WooCommerce), is also active, WordPress loads the newest copy once, so they do not conflict. The MCP Adapter's default endpoint, <code>\/wp-json\/mcp\/mcp-adapter-default-server<\/code>, keeps working for connections made with version 1.2 or earlier.<\/p><\/dd>\n<dt id=\"who%20can%20approve%20an%20oauth%20connection%3F\"><h3>Who can approve an OAuth connection?<\/h3><\/dt>\n<dd><p>Only administrators. The connection always acts as the AI Agent user the administrator picks, never as the administrator. Disconnect it under Settings &gt; Agent Publisher &gt; Connected apps.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20connect%20to%20external%20services%3F\"><h3>Does this plugin connect to external services?<\/h3><\/dt>\n<dd><p>No. It does not contact any server on its own. The upload ability downloads an image only when the agent supplies an image URL, and only from public https addresses. With OAuth on, apps such as claude.ai call your site's OAuth endpoints; your site does not call them.<\/p><\/dd>\n<dt id=\"do%20scheduled%20posts%20need%20anything%20special%3F\"><h3>Do scheduled posts need anything special?<\/h3><\/dt>\n<dd><p>They are published by WordPress' scheduler (WP-Cron), like posts you schedule yourself. If your site disables WP-Cron, make sure a server cron job runs it.<\/p><\/dd>\n<dt id=\"how%20do%20i%20revoke%20access%3F\"><h3>How do I revoke access?<\/h3><\/dt>\n<dd><p>Revoke the agent's Application Password under Users &gt; (agent) &gt; Application Passwords, or delete the agent user. Deactivating the plugin removes the abilities.<\/p><\/dd>\n<dt id=\"claude.ai%20cannot%20connect\"><h3>claude.ai cannot connect<\/h3><\/dt>\n<dd><p>Check that \"Allow OAuth connections\" is on and that <code>https:\/\/your-site\/.well-known\/oauth-authorization-server<\/code> shows a JSON document. OAuth discovery requires WordPress to be installed at the root of its domain, not in a subdirectory. A firewall or CDN must pass <code>\/.well-known\/<\/code> and <code>\/agent-publisher-oauth\/<\/code> requests to WordPress, and must forward the Authorization header.<\/p><\/dd>\n<dt id=\"the%20agent%20gets%20a%20401%20error%20although%20the%20password%20is%20correct\"><h3>The agent gets a 401 error although the password is correct<\/h3><\/dt>\n<dd><p>Your web server may be removing the Authorization header, which is common with Apache and CGI\/FastCGI. Add <code>SetEnvIf Authorization \"(.*)\" HTTP_AUTHORIZATION=$1<\/code> to your .htaccess, and make sure security plugins allow Application Passwords and REST API access for logged-in users.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.9.0<\/h4>\n\n<ul>\n<li>Staff connect Claude with their own WordPress accounts: posts Claude writes are credited to and owned by the person who connected it. No AI Agent user or administrator approval needed; anyone who can write posts can connect (filter agent_publisher_can_connect to limit it). Administrators can still credit an AI Agent user instead.<\/li>\n<li>Through a connection, a person's capabilities are capped to the AI Agent's (own posts only, no settings, no unfiltered HTML) and never exceed their own role: a Contributor's Claude writes drafts; publishing needs both the site mode and the person's own publish right.<\/li>\n<li>Upload links: request-upload gives the user a one-time page (valid 30 minutes) to drop their own image into the Media Library at full size; get-upload returns it to Claude. Needs a role that can upload files.<\/li>\n<li>Claude is told to use free stock photo URLs for generic images instead of generating images and sending them as base64.<\/li>\n<li>New installs: connector sign-in (OAuth) is on and the mode is \"Publish and edit live posts\". Sites with saved settings keep them.<\/li>\n<li>Settings page: \"Recommended Claude settings\" for the connector's tool permissions. Activity log marks actions \"(via Claude)\".<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Featured images under the minimum width are refused when publishing or replacing a live post's image, by default (Settings &gt; Agent Publisher &gt; Images; untick to allow them with a warning).<\/li>\n<li>Built-in minimum of 1,200 px when the site sets none, and a recommended width (the largest size WordPress generates) in get-capabilities, so agents always have a target.<\/li>\n<li>Agents are told never to reduce an image's resolution to fit it through base64, and a small image sent as base64 gets a warning pointing to the upload route (Media &gt; Add New, then find-media).<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>New find-media tool: Claude finds images in the Media Library by title or file name. For large images, upload them in WordPress and ask Claude to use them.<\/li>\n<li>Image guidance under Settings &gt; Agent Publisher &gt; Images: minimum width, the aspect ratios your theme crops featured images to, and guidance for agents. get-capabilities reports it along with accepted types, the size limit and the sizes WordPress generates. Images that don't fit get warnings in the result; \"Strict\" refuses to publish with them.<\/li>\n<li>update-draft-post and update-published-post accept featured_image, so a live post's featured image can be replaced in one step. Post results include the featured image and the sizes WordPress generated from it.<\/li>\n<li>get-post reads the agent's own published and scheduled posts.<\/li>\n<li>Base64 uploads accept line breaks, data: prefixes, URL-safe characters and missing padding; errors show what's wrong and where. An optional sha256 refuses corrupted uploads. upload-media returns the file's size and sha256.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Fix: connector requests failed with a server error (HTTP 500, \"Couldn't connect to the server\" in Claude) on sites where another plugin checks the logged-in user early, such as Limit Login Attempts Reloaded. Introduced in 1.5.0.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Claude Desktop extension (MCP Bundle) for sites that can't use the connector: download it from Settings &gt; Agent Publisher, create an Application Password there, and open the file. Claude Desktop installs it with its own Node.js; no Node.js install, npx path or JSON editing. The password is stored securely by Claude Desktop.<\/li>\n<li>The Application Password panel now shows the connection URL, username and password with Copy buttons, for the extension's install dialog. The claude_desktop_config.json block is still available for manual setups.<\/li>\n<li>The extension pins the WordPress MCP bridge to a tested version instead of fetching the latest from npm at every start.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>New \"Connect Claude\" setup on the settings page: create the AI Agent user, turn on connector sign-in and copy the connection URL in a few clicks. An Application Password and a ready-made Claude Desktop configuration are available for sites that can't use the connector.<\/li>\n<li>New connection checks: HTTPS, permalinks, whether the connection URL answers, whether the Authorization header reaches WordPress (with a one-click .htaccess fix on Apache) and whether connector sign-in can be discovered.<\/li>\n<li>Security: publishing, unpublishing and editing live posts through the abilities is now limited to AI Agent users; other users need their own WordPress capabilities (for example, Contributors can no longer publish through the abilities in Publish mode).<\/li>\n<li>Security: OAuth access tokens work only on the MCP and Abilities REST routes, checked on the route actually dispatched; never in wp-admin, admin-ajax, cron or XML-RPC.<\/li>\n<li>Security: invalid authorization requests show an error page instead of redirecting; the consent screen shows the app's address and flags apps outside claude.ai as unverified; administrators who also hold the AI Agent role can't be chosen as a connection's user.<\/li>\n<li>Security: reusing a rotated refresh token revokes the connection; clients can only revoke their own tokens; token and revocation rate limits are per client (new filter agent_publisher_client_ip for sites behind a proxy).<\/li>\n<li>Image downloads stop at the size limit instead of fetching the whole file first.<\/li>\n<li>MCP errors are written to the PHP error log only when WP_DEBUG is on.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>New <code>create-post<\/code> replaces <code>create-draft-post<\/code>. In one call it creates the post with categories, tags and a featured image (<code>featured_image<\/code> uploads it), and can submit it for review or publish or schedule it when the site mode allows. An agent now needs one approval for a finished post instead of up to three.<\/li>\n<li>If a pre-publish check fails, <code>create-post<\/code> creates nothing (including the uploaded image), so the agent can fix its input and try again.<\/li>\n<li>Tool descriptions and server instructions no longer tell agents to ask again in chat for something the user already requested.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fix: when no custom fields are enabled, the create, update and update-published tools no longer send an invalid schema. MCP clients such as Claude Desktop skipped those tools, so agents could not create posts.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>The MCP Adapter is now built in; the separate MCP Adapter plugin is no longer needed.<\/li>\n<li>New MCP endpoint <code>\/wp-json\/acadium-agent-publisher\/mcp<\/code> lists each ability as its own tool. The MCP Adapter default endpoint keeps working, including with OAuth.<\/li>\n<li>A notice with a one-click fix when the site uses \"Plain\" permalinks, which AI clients cannot connect through.<\/li>\n<li>Setup status on the settings page now shows permalinks and the connection URL.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>OAuth 2.1 for MCP clients, so claude.ai (web, desktop and mobile apps) can connect as a custom connector without an Application Password. Includes discovery metadata (RFC 9728, RFC 8414), dynamic client registration (RFC 7591), authorization code with PKCE, rotating refresh tokens and revocation (RFC 7009).<\/li>\n<li>Administrator consent screen: each connection acts as a chosen AI Agent user.<\/li>\n<li>Connected apps list with Disconnect on the settings page.<\/li>\n<li>OAuth is off by default (\"Allow OAuth connections\").<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Publishing modes under Settings &gt; Agent Publisher: drafts only (default), submit for review, publish, publish and edit live posts.<\/li>\n<li>New abilities: get-capabilities, submit-for-review, publish-post (now or scheduled), unpublish-post, update-published-post.<\/li>\n<li>Pre-publish checks: featured image with alt text, allowed categories, daily limit.<\/li>\n<li>Recent agent activity on the settings page.<\/li>\n<li>The AI Agent role (previously \"AI Agent (drafts only)\") never has publishing capabilities; publishing goes only through the plugin's abilities.<\/li>\n<li>Write abilities now all use POST in the core Abilities REST API (update-draft-post previously required DELETE).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: list terms, get post, create draft post, update draft post and upload media abilities, plus the AI Agent (drafts only) role.<\/li>\n<\/ul>","raw_excerpt":"Let Claude and other AI agents draft, review and publish posts, upload images and look up categories and tags, within rules you set.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/375607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=375607"}],"author":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/anselbrandt"}],"wp:attachment":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=375607"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=375607"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=375607"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=375607"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=375607"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=375607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}