●   WordPress × Model Context Protocol

Make WordPress
your AI project
command center.

Give Claude, Cursor, and custom AI agents safe full CRUD access to structured WordPress milestones—with duplicate protection, strict validation, and an audit trail.

CURRENT STACK    WordPress 7.0 · PHP 8.5 · WP-CLI
● ● ●AGENT SESSION · LIVE
PM

We just finished pouring the foundation at Downtown Highrise. We’re at 25%. Log it.

✦   Calling project-ops/create-milestone

project_name"Downtown Highrise"milestone_title"Foundation poured"completion_percentage25coordinates[34.0522, -118.2437]
Milestone created safelyPost #1842 · Duplicate guard active
01

Full CRUD

Create, query, get, update, and safely delete milestones through five typed abilities.

02

Duplicate protection

Idempotency keys, deterministic fingerprints, and atomic locks stop accidental double entries.

03

Strict by default

Bounded schemas, private records, coordinate validation, and conflict-aware updates protect data quality.

04

Admin-safe setup

A read-only status page stays inside the Milestones menu—no role, theme, permalink, or Settings changes.

THE WORKFLOW

From job site update
to database record.

One plain-language request. One authenticated ability execution. One canonical WordPress record the agent can verify, update, or safely retire.

01   FIELD INPUT

Say what happened

“We finished pouring the foundation at Downtown Highrise. We’re at 25%. Log it.”

VOICE · CHAT · AGENT
02   MCP TRANSLATION
{ }

Structure the intent

The agent uses the MCP Adapter to discover the ability and produces a strict, schema-valid JSON payload.

NATURAL LANGUAGE → JSON
03   WP EXECUTION
W

Create the record

WordPress validates per-record permissions, prevents duplicates, writes ACF data, and returns the canonical record.

POST + CUSTOM FIELDS
UNDER THE HOOD

Native pieces.
Clean handoffs.

01AI clientClaude · Cursor
→ MCP
02Abilities APISchema · Permissions
→ PHP
03WordPressCPT · ACF · Database
01 / OVERVIEW

A direct, typed bridge between AI and WordPress.

MCP Project Milestones registers private project data, namespaced ACF metadata, and five permission-aware abilities without changing unrelated roles, themes, permalinks, or admin settings.

5 ABILITIEScreate · query · get · update · deleteMCP-discoverable, authenticated execution
02 / INSTALLATION

Prerequisites & setup

  1. 1
    WordPress 6.9–7.0 and PHP 7.4–8.5

    WordPress 7.0.2 with PHP 8.3+ is recommended; PHP 8.5 is fully supported.

  2. 2
    Install required plugins

    Activate Advanced Custom Fields (Free or Pro) and the official WordPress MCP Adapter.

  3. 3
    Upload this plugin

    Upload mcp-project-milestones.zip from Plugins → Add Plugin → Upload Plugin, activate it, then open Project Milestones → Setup & Status for a read-only dependency check and prefilled connection config.

Download installable ZIP ↓
03 / CONNECT AN AGENT

Claude Desktop via WP-CLI

Open Setup & Status for a site-specific configuration. Make sure WP-CLI is available where WordPress runs, then add the site as an MCP server in Claude Desktop. On the default server, agents discover and invoke these abilities through the Adapter’s discover, info, and execute tools.

claude_desktop_config.json
{
  "mcpServers": {
    "local-wordpress-ops": {
      "command": "wp",
      "args": [
        "--path=/var/www/html/your-wordpress-path",
        "mcp-adapter", "serve",
        "--server=mcp-adapter-default-server",
        "--user=admin_username"
      ]
    }
  }
}

Tip Replace the WordPress path and admin username. The selected user must have the normal WordPress permissions needed to manage the requested records; use a dedicated least-privilege account in production.

04 / API SCHEMA

Predictable input, every time.

Every ability ships an exact input and output schema. The create contract below rejects unknown properties, bounds coordinates and text, and accepts a stable idempotency key for retry-safe execution.

CREATE ABILITYproject-ops/create-milestone

input-schema.json
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "project_name": { "type": "string", "minLength": 1, "maxLength": 200 },
    "milestone_title": { "type": "string", "minLength": 1, "maxLength": 200 },
    "summary": { "type": "string", "minLength": 1, "maxLength": 20000 },
    "completion_percentage": { "type": "integer", "minimum": 0, "maximum": 100 },
    "lat": { "type": "number", "minimum": -90, "maximum": 90 },
    "lng": { "type": "number", "minimum": -180, "maximum": 180 },
    "idempotency_key": { "type": "string", "minLength": 8, "maxLength": 128 }
  },
  "required": ["project_name", "milestone_title", "summary", "completion_percentage"]
}
05 / ENTERPRISE CONTROLS

Designed to protect live operational data.

The production release adds enforced idempotency, safe deletion, per-record capabilities, private records, conflict detection, and bounded audit history.

01Retry-safe create

Keys, fingerprints, and atomic locks return the original record on duplicate calls.

02Conflict-aware update

expected_modified_gmt stops stale agents from overwriting newer work.

03Trash by default

Delete is recoverable unless permanent mode is explicitly confirmed.

04Admin isolation

No global assets, rewrite flushes, role edits, theme changes, or unrelated Settings entries.

06 / FULL SOURCE

WordPress-ready. One installable package.

Download the reviewed v2.2.1 implementation with five abilities, strict schemas, ACF-safe writes, dependency checks, duplicate prevention, and audit logging.

mcp-project-milestones.php
// Loading complete plugin source…
Download complete plugin ↓
YOUR NEXT PROJECT UPDATE

Log it with a sentence.
Let WordPress handle the rest.

Download plugin ↓Explore developer docs →