Full CRUD
Create, query, get, update, and safely delete milestones through five typed abilities.
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-CLIWe just finished pouring the foundation at Downtown Highrise. We’re at 25%. Log it.
✦ Calling project-ops/create-milestone
Create, query, get, update, and safely delete milestones through five typed abilities.
Idempotency keys, deterministic fingerprints, and atomic locks stop accidental double entries.
Bounded schemas, private records, coordinate validation, and conflict-aware updates protect data quality.
A read-only status page stays inside the Milestones menu—no role, theme, permalink, or Settings changes.
One plain-language request. One authenticated ability execution. One canonical WordPress record the agent can verify, update, or safely retire.
“We finished pouring the foundation at Downtown Highrise. We’re at 25%. Log it.”
VOICE · CHAT · AGENTThe agent uses the MCP Adapter to discover the ability and produces a strict, schema-valid JSON payload.
NATURAL LANGUAGE → JSONWordPress validates per-record permissions, prevents duplicates, writes ACF data, and returns the canonical record.
POST + CUSTOM FIELDSMCP Project Milestones registers private project data, namespaced ACF metadata, and five permission-aware abilities without changing unrelated roles, themes, permalinks, or admin settings.
create · query · get · update · deleteMCP-discoverable, authenticated executionWordPress 7.0.2 with PHP 8.3+ is recommended; PHP 8.5 is fully supported.
Activate Advanced Custom Fields (Free or Pro) and the official WordPress MCP Adapter.
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.
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.
{
"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.
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
{
"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"]
}The production release adds enforced idempotency, safe deletion, per-record capabilities, private records, conflict detection, and bounded audit history.
Keys, fingerprints, and atomic locks return the original record on duplicate calls.
expected_modified_gmt stops stale agents from overwriting newer work.
Delete is recoverable unless permanent mode is explicitly confirmed.
No global assets, rewrite flushes, role edits, theme changes, or unrelated Settings entries.
Download the reviewed v2.2.1 implementation with five abilities, strict schemas, ACF-safe writes, dependency checks, duplicate prevention, and audit logging.
// Loading complete plugin source…