← BACK TO work
Developer tool2026v2 — speaks MCP directly

Sage Agent MCP

A WordPress MCP server with no moving parts.

The problem

The first WordPress agent worked only by chaining Divyansh's plugin to the MCP Adapter plugin and then to an npm stdio-to-HTTP bridge. Every connected machine therefore needed Node, and one WordPress connection had three moving parts.

What it does

A self-contained MCP server for WordPress: one plugin, one endpoint, no companion plugin and no Node bridge. It lets an AI client operate a WordPress site directly.

v1 registered abilities into WordPress’s Abilities API and leaned on the MCP Adapter plugin plus an npm package to translate stdio to HTTP — three moving parts and a Node dependency on every machine you connect from. v2 speaks the protocol itself and drops all of it.

Why it is built this way

I made v2 speak MCP over HTTP itself: one WordPress plugin, one endpoint, no companion plugin, Node bridge, Composer build or external service. Thirty-eight abilities sit behind three discovery/description/execution tools to keep client context flat, and destructive operations snapshot first; file writes are syntax-checked and confined to `ABSPATH`, while post creation defaults to draft.

What was hard

Writing PHP into a live site is unforgiving: one syntax error in a theme or plugin file takes the whole site down. Every file write is parse-checked before it saves and confined to the WordPress root, and destructive operations snapshot first, because an agent with write access to a live site has to fail safe rather than fast.

Outcomes

  • One plugin, one endpoint
  • No Node bridge
  • Protocol implemented directly

Stack

PHPWordPressMCP