Seeb Abilities adds 100 new abilities to WordPress , so AI agents can write and edit posts, build pages block by block, manage patterns, templates, menus and users, moderate comments, audit your content and more, instead of only reading information about your site. WordPress 6.9 introduced the Abili
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.9 and PHP 8.0.
SourceWordPress plugins · Nov 15, 2026
01 / Source details
Aboutthistool.
Seeb Abilities adds 100 new abilities to WordPress , so AI agents can write and edit posts, build pages block by block, manage patterns, templates, menus and users, moderate comments, audit your content and more, instead of only reading information about your site.
WordPress 6.9 introduced the Abilities API : a standard way for plugins to describe what they can do, with typed inputs and outputs and permission checks, so that AI assistants, Model Context Protocol (MCP) clients and automation tools can discover and use them. Core registers only a few read-only abilities, such as site and environment information. Seeb Abilities fills the gap with the everyday content-management tasks.
Seeb Abilities is best used with the free MCP Adapter plugin, which turns these abilities into MCP tools that Claude , ChatGPT , Cursor , VS Code and other MCP clients can use directly.
Every ability:
Uses WordPress’s own functions ( wp_insert_post() , wp_update_post() , wp_set_object_terms() and so on), so hooks, caches, revisions and other plugins behave exactly as they do in the admin.
Checks the current user’s capabilities for that specific object. An agent connected as an Author can edit their own posts, but not someone else’s and not the site settings.
Declares input and output schemas, and annotations (read-only, destructive, idempotent) that clients use to decide when to ask before acting.
Is available through the WordPress REST API ( /wp-json/wp-abilities/v1/ ) and, when the MCP Adapter plugin is active, as MCP tools.
100 new abilities
All abilities use the seeb-abilities/ namespace and are grouped into categories.
Content (posts, pages and public custom post types)
posts-query : find posts by type, status, author, search term, taxonomy term or date
post-get : get a post with its content, terms and featured image
post-create : create a post, page or custom post type item
post-update : update title, content, excerpt, status, slug, author, date or featured image
post-delete : move a post to the trash, or delete it permanently with force
post-revisions : list the revisions of a post, pattern, navigation menu or customized template
revision-restore : restore any of these to an earlier revision
post-restore : restore a post from the trash
post-duplicate : copy a post, with its terms, featured image and the custom fields you’re allowed to edit, as a new draft
post-meta-get : read a post’s custom fields registered with register_post_meta()
post-meta-update : update a post’s registered custom fields
content-search : search across all public post types at once
posts-bulk-update : change the status, author, comments, stickiness or terms of up to 100 posts at once
content-replace : find and replace text across the site (for example an old phone number or domain), as a dry run first
revision-diff : see what changed between two revisions
page-tree-get : get all pages as a nested tree of parents and children
post-lock-check : check whether someone else is editing a post right now
trash-empty : permanently delete trashed items, optionally only those trashed a while ago
Taxonomies
terms-query : find categories, tags or custom taxonomy terms
term-create : create a term
term-update : rename a term or change its slug, description or parent
post-set-terms : set or append a post’s terms
term-delete : delete a term
terms-merge : merge duplicate terms into one, moving their posts
Blocks and patterns ( block editor )
block-types-list : list the registered blocks, with their category, title and description
block-type-get : get one block’s attributes, supports, styles and variations, so an agent can write valid block markup
post-blocks-get : get a post’s content as a tree of blocks, each with its path (for example 2.0 for the first block inside the third)
block-insert : insert one or more blocks at a path, or before or after a block
block-update : change a block’s attributes or inner content without touching the rest of the post
block-move : move a block to another position
block-duplicate : copy a block, with its inner blocks, right after it
embed-check : check whether a YouTube, Vimeo, Spotify or other URL can be embedded, and get the embed block markup
block-remove : remove a block and its inner blocks
blocks-replace : replace every block of one type, or with a given attribute value, across a post (for example turn all core/quote blocks into core/pullquote )
blocks-validate : check block markup before saving and report unknown blocks, invalid attributes and broken nesting
block-usage-find : find the posts, pages, templates and patterns that use a block type
patterns-list : list registered and synced patterns , with their categories
pattern-insert : insert a pattern into a post, either as a synced reference or as a copy of its blocks
pattern-create : save blocks as a new synced or unsynced pattern
pattern-update : update a synced pattern, which changes it everywhere it is used
pattern-delete : move a pattern to the trash, or delete it permanently
All block edits are saved as revisions, so any change can be undone with revision-restore . The first change to a theme template creates a customized copy, which template-reset removes again.
Site editor (block themes)
templates-list : list templates and template parts, and whether they are customized
template-get : get a template or template part as blocks
template-update : edit a template or template part with the same block abilities as posts
template-reset : remove customizations and go back to the theme’s version
global-styles-get : read the site’s global styles : colors, typography and spacing presets, so new blocks match the theme
global-styles-update : change the palette, fonts, link colors or block styles, with a revision to undo it
custom-css-get : read the Additional CSS (block and classic themes)
custom-css-update : replace or add to the Additional CSS, with a revision to undo it
Navigation
menus-list : list menus and their locations
menu-items-query : list the items of a menu
menu-item-add : add a page, post, term or custom link to a menu
menu-item-update : change a menu item’s label, URL, parent, position or link target
menu-item-delete : remove a menu item
menu-create : create a menu
menu-delete : delete a menu
menu-location-assign : show a menu in a theme location, such as the header or footer
Media
media-query : find media library items
media-sideload : import an image or file from a URL into the media library
media-update : update alt text, caption, title or description
media-get : get a media item with its file size and image sizes
media-delete : delete a media item
media-thumbnails-regenerate : generate the image sizes again, e.g. after switching themes
Comments
comments-query : find comments by post, status or author
comment-moderate : approve, unapprove, mark as spam or trash a comment
comment-reply : reply to a comment as the current user
comment-create : add a new comment to a post as the current user
comment-update : edit a comment’s text or author details
comments-bulk-moderate : approve, spam or trash up to 100 comments at once
comments-empty : empty the spam folder or the comment trash
comment-blocklist-update : add or remove words, emails and IP addresses on the disallowed and moderation lists
Users
users-query : list users with their roles (read-only, requires the list_users capability, never returns passwords)
current-user-get : get the connected user’s role and capabilities, so an agent knows what it is allowed to do
user-get : get a user’s profile
user-create : create a user, who gets an email to set their own password (passwords are never returned)
user-update : change a user’s name, email, bio or role (only roles you are allowed to assign, and never your own)
user-password-reset-send : email a user a password reset link
user-delete : delete a user and give their content to another user (refuses to delete content unless asked to)
user-sessions-destroy : log a user out of all browsers and devices
roles-list : list roles with their number of users and capabilities
privacy-requests-list : list personal data export and erasure requests
privacy-request-create : add a personal data export or erasure request
Site
settings-get : read general and reading settings
settings-update : change site title, tagline, timezone, date format and other allowlisted settings
plugins-list : list installed plugins and whether they are active
post-types-list : list registered post types and taxonomies
site-health-get : get the Site Health status and the tests that need attention
cron-events-list : list scheduled (cron) events and when they run next
themes-list : list installed themes and which one is active
updates-get : list available WordPress, plugin, theme and translation updates (nothing is installed)
permalinks-flush : regenerate the permalinks to fix “page not found” errors
cache-flush : clear the object cache and the page cache of WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache or SiteGround Speed Optimizer
debug-log-get : read the last lines of the PHP error log
site-identity-update : set the site logo and site icon
Audit
content-analyze : word count, reading time, heading outline and problems, links and images without alt text of a post
internal-links-check : find links to drafts, trashed posts, missing uploads and pages that return “not found”
images-missing-alt-find : find media library images without alt text
content-counts-get : overview of posts, comments, media and users by status, type and role
stale-content-find : find published content that hasn’t been updated for a long time
unused-terms-find : find categories and tags that aren’t assigned to any post
Safe by default
Deleting moves to the trash. Permanent deletion needs force: true and is marked as destructive.
Settings can only be read and changed from a fixed allowlist. Arbitrary options are never touched.
Protected post meta (keys starting with _ ) cannot be written.
Password-protected content is only returned to users who can
See it in action
A closer look.
Seeb Abilities – 100 New Abilities, Infinite Possibilities for AI Agents screenshot 1
02 / Source details
Gettingstarted.
01Install and activate the plugin from Plugins → Add New , or upload the seeb-abilities folder to /wp-content/plugins/ .
02Recommended: install the free MCP Adapter plugin to use the abilities from MCP clients like Claude, Cursor or VS Code.
03Optional: go to Settings → Seeb Abilities to turn off abilities you don’t want to expose.
Abilities run as the user who is authenticated, for example with an application password . Use an account that only has the role the agent actually needs.
03 / Source details
Frequently asked questions.
Do I need the MCP Adapter plugin?
No and yes. The abilities are registered with the WordPress Abilities API and can be used through its REST endpoints or from PHP. To use them from AI assistants and MCP clients, we recommend the free MCP Adapter plugin.
Can an AI agent break my site with this?
An agent can do only what the connected user’s role allows, and only through the listed abilities. It cannot run code, change arbitrary options or manage plugins. Deleting content moves it to the trash by default. For extra safety, connect with an Editor or Author account and turn off the categories you don’t need.
Does the plugin send data to any external service?
The plugin makes no external requests of its own, with these exceptions: media-sideload downloads the file from the URL given in the request, embed-check asks the provider of the URL (for example YouTube) for its embed details, as the block editor does, updates-get with refresh checks WordPress.org for updates as the Updates screen does, and internal-links-check requests pages of your own site to find the ones that return “not found”. user-create , user-password-reset-send and privacy-request-create send emails through your site, as the admin screens do.
When the plugin is activated, it asks whether you want to opt in to email notifications about security and feature updates, educational content and occasional offers, through Freemius . Only if you click “Allow & Continue”, your name, email address, site URL, WordPress and PHP versions and the list of plugins and themes are sent to Freemius. If you click “Skip”, nothing is sent and the plugin works the same. When you deactivate the plugin, you can optionally tell us why; that answer is only sent if you submit it. See the Freemius privacy policy and terms of service .
Does it work with custom post types and taxonomies?
Yes, if they are registered with show_in_rest set to true. Custom post types are subject to their own capabilities.
Why does it require WordPress 6.9?
The Abilities API was added to core in WordPress 6.9 (see the Abilities API announcement ). On older versions the plugin does nothing.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati