Seeb Abilities adds 53 new abilities to WordPress, so AI agents can write and edit posts, build pages block by block, manage patterns and templates, moderate comments 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:
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./wp-json/wp-abilities/v1/) and, when the MCP Adapter plugin is active, as MCP tools.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 datepost-get: get a post with its content, terms and featured imagepost-create: create a post, page or custom post type itempost-update: update title, content, excerpt, status, slug, author, date or featured imagepost-delete: move a post to the trash, or delete it permanently with forcepost-revisions: list the revisions of a post, pattern, navigation menu or customized templaterevision-restore: restore any of these to an earlier revisionpost-restore: restore a post from the trashpost-duplicate: copy a post, with its terms, featured image and the custom fields you’re allowed to edit, as a new draftpost-meta-get: read a post’s custom fields registered with register_post_meta()post-meta-update: update a post’s registered custom fieldscontent-search: search across all public post types at onceTaxonomies
terms-query: find categories, tags or custom taxonomy termsterm-create: create a termterm-update: rename a term or change its slug, description or parentpost-set-terms: set or append a post’s termsBlocks and patterns (block editor)
block-types-list: list the registered blocks, with their category, title and descriptionblock-type-get: get one block’s attributes, supports, styles and variations, so an agent can write valid block markuppost-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 blockblock-update: change a block’s attributes or inner content without touching the rest of the postblock-move: move a block to another positionblock-remove: remove a block and its inner blocksblocks-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 nestingblock-usage-find: find the posts, pages, templates and patterns that use a block typepatterns-list: list registered and synced patterns, with their categoriespattern-insert: insert a pattern into a post, either as a synced reference or as a copy of its blockspattern-create: save blocks as a new synced or unsynced patternpattern-update: update a synced pattern, which changes it everywhere it is usedAll 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 customizedtemplate-get: get a template or template part as blockstemplate-update: edit a template or template part with the same block abilities as poststemplate-reset: remove customizations and go back to the theme’s versionglobal-styles-get: read the site’s global styles: colors, typography and spacing presets, so new blocks match the themeNavigation
menus-list: list menus and their locationsmenu-items-query: list the items of a menumenu-item-add: add a page, post, term or custom link to a menuMedia
media-query: find media library itemsmedia-sideload: import an image or file from a URL into the media librarymedia-update: update alt text, caption, title or descriptionComments
comments-query: find comments by post, status or authorcomment-moderate: approve, unapprove, mark as spam or trash a commentcomment-reply: reply to a comment as the current userUsers
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 doSite
settings-get: read general and reading settingssettings-update: change site title, tagline, timezone, date format and other allowlisted settingsplugins-list: list installed plugins and whether they are activepost-types-list: list registered post types and taxonomiessite-health-get: get the Site Health status and the tests that need attentioncron-events-list: list scheduled (cron) events and when they run nextthemes-list: list installed themes and which one is activeforce: true and is marked as destructive._) cannot be written.seeb_abilities_ability_args to change an ability’s arguments before it is registered.seeb_abilities_enabled to enable or disable abilities in code.seeb_abilities_allowed_settings to change which settings settings-get and settings-update can access.