Bringing agentic workflows to WordPress with the Abilities API

My personal website was recently migrated from an Alibaba Cloud-based serverless architecture to WordPress.com. While the migration went smoothly with few issues, it left a few broken links across my blog posts. The affected links were internal links referencing other blog posts I previously authored which became invalid as the…

My personal website was recently migrated from an Alibaba Cloud-based serverless architecture to WordPress.com. While the migration went smoothly with few issues, it left a few broken links across my blog posts. The affected links were internal links referencing other blog posts I previously authored which became invalid as the URL slug from my previous site differed from those generated by WordPress.

Manually finding, fixing and verifying all 18 broken links across the 11 affected blog posts would’ve been tiresome, time-consuming and error-prone. As the lazy person that I usually am, I decided to turn to AI to help me complete this task 😜

Fortunately, WordPress has been introducing AI capabilities to both the core open source project and managed WordPress.com sites through the AI Building Blocks for WordPress initiative since 2025, with the feature set maturing to production readiness in 2026 following the official release of WordPress 7.0.

This article gives an overview of the Abilities API serving as a foundation for WordPress’s AI-integrated features as well as how I used the WordPress.com MCP integration to automatically discover and fix the broken links across my 37 blog posts arising from the migration.

Abilities API: the foundation for all things AI in WordPress

The WordPress Abilities API was introduced in July 2025 following the release of WordPress 6.9. The key design philosophy behind the Abilities API is that the core WordPress codebase and WordPress plugins would expose their “capabilities” via the Abilities API: atomic units of functionality offered by WordPress core or plugins under a standardized interface. Then, various AI-specific integrations and plugins would consume these “capabilities” to deliver AI features directly within WordPress or otherwise re-export these capabilities under industry-standard protocols understood by 3rd-party AI tooling.

  1. WordPress AI: the experimental AI plugin for WordPress which enables a wide selection of AI features right within the WordPress block editor Gutenberg. It consumes the Abilities API introduced in WordPress 6.9 and included natively within WordPress since 7.0. All that is required to start using it is to install an AI Provider plugin and configure it with the model provider’s credentials
  2. AI Provider for OpenAI (+ Google / Anthropic): plugins used to supply model provider credentials to WordPress AI required for enabling AI features within WordPress. They appear as connectors under “Settings > Connectors” in the WordPress admin panel
  3. WordPress mcp-adapter: Model Context Protocol (MCP) adapter plugin for self-hosted WordPress sites. It consumes registered capabilities via the Abilities API and re-exports them as MCP tools. MCP is an industry-standard protocol for AI tool calling natively understood by external AI agents such as Claude Code, Codex and OpenCode
  4. WordPress.com MCP: MCP server for WordPress.com hosted sites available in all paid plans: Personal, Premium, Business, Commerce and Enterprise (WordPress VIP). Like the open source mcp-adapter plugin for self-hosted WordPress sites, WordPress.com MCP also leverages the Abilities API for exposing MCP tools which external AI agents can directly consume to perform site actions such as creating and publishing blog posts

Since my personal website – the one you’re reading now 😉 – is hosted on WordPress.com, I used the WordPress.com MCP server to automate the tedious and time-consuming process of discovering and fixing the broken links across all 37 blog posts arising from the migration.

Configuring allowed MCP tools in my WordPress.com user preferences

“AI and MCP” access is enabled by default in the WordPress.com user preferences.

By default, 5 “read” and 1 “write” MCP tools are enabled out of a total of 38 and 90 respectively. The pre-enabled MCP tools expose non-sensitive actions such as querying the latest available paid plans across WordPress.com and submitting feedback.

Both the “read” and “write” MCP tools can be enabled or disabled globally, by category and by individual actions.

As the responsible engineer that I am, I enabled only the additional “read” and “write” tools necessary for my particular task following the principle of least privilege (PoLP), actions such as:

  1. Listing available WordPress.com sites and domains under my account
  2. Listing posts and fetching post content
  3. Listing categories and tags – probably not required by retrospect but should be harmless even if abused by a compromised AI agent
  4. Updating existing posts by creating, editing and deleting blocks including their content

Connecting my AI agent to the WordPress.com MCP server

The harness (AI agent) I used to perform the task was OpenCode. OpenCode is an open source harness available under the MIT license. Compared to Claude Code, the source code for OpenCode is auditable, model provider agnostic and respects open standards such as AGENTS.md.

The model provider configured in OpenCode for this task was the Ark Coding Plan by Volcano Engine. Volcano Engine is the public cloud provider operated by ByteDance which hosts a variety of open weight AI models such as DeepSeek V4 and GLM 5.2. For simplicity, I used the ark-code-latest meta-model recommended by Volcano Engine to complete the task which consumed just over 16% of my 5-hour Coding Plan token quota across the 2 hours of work that it performed. Plenty of bang for my buck, I’d say 😎

OpenCode terminal session recording

The OpenCode terminal session recording is about 50MiB in size which exceeds the 16MiB limit imposed by Asciinema.org servers. Nevertheless, you can view the GIF animation or download the original Asciicast recording.

Concluding remarks and going further

So this was a quick introduction to the AI-integrated features in WordPress built on the Abilities API and how I used them to automate the tedious, time-consuming task of identifying and fixing broken internal links across all my blog posts.

I hope you enjoyed reading this article as much as I did authoring it and stay tuned for updates! 😉

+ , ,

Leave a Reply

Discover more from Donald Sebastian Leung

Subscribe now to keep reading and get access to the full archive.

Continue reading