Skip to main content
Glama
nvdigitalsolutions

NV Digital Open Operator System (NV oOS)

Official

NV Digital Open Operator System (NVoOS)

PHPUnit codecov JavaScript Tests PHP Linting Security Checks License: GPL v3 WordPress PHP Patent Pending Documentation

Demo NV oOS Complete

Version: 1.2.10 Release Date: 2026-10-23

See ยง Release History for the 12 most recent releases; every older release is in the Previous Releases table. Full detail: CHANGELOG.md.

๐Ÿ†• v1.2.10 Highlights: Console migration Phase 5bโ€“5d (Proposal 084) + console polish, crash fixes, a real transcript-storage meter, and a dependency advisory sweep. Phase 5bโ€“5d (PR #7180) โ€” the orphaned cost/analytics REST controllers register (real Analytics page), the Unified Blueprints catalogue bridges behind mcp-ai-pro/v1/blueprints, the Command Center absorbs into the Dashboard, and the console gains a semantic DataTable + grouped collapsible sidebar. Crash fixes (PR #7184) โ€” the blueprints 500 (admin-context class gating), React error #310 on four console pages (a permanent rules-of-hooks ESLint gate), a reworked settings page, and chat dock UX. Storage meter (PR #7185) โ€” the status bar reads real server transcript storage via the new storage_bytes envelope field. Dependencies (PR #7186) โ€” markdown-it 14.3.3, MCP SDK 1.32.0, launch-editor 2.14.2 (14 of 16 alerts). Build (PR #7182) โ€” full tracked-bundle rebuild after lockfile movement. Docs (PRs #7183, #7178) โ€” rebuild discipline codified in the spa-ui/dependabot skills; Cloudways Anti-Bot Protection playbook. Tool count: ~355 base + ~1,377 Pro (~1,731 total; unchanged).

MCP Specification: 2026-07-28 (Stateless Core, Full Compliance)
Maintained by NV Digital
License: GPLv3 or later
Requires: WordPress 6.0+, PHP 7.4+
Patent Status: Patent Pending (Application #19/410,504)
Documentation: Grade A (95/100) โ€” 1,617 files across 12 directories, 108 admin screenshots, 100% feature coverage

๐Ÿ” For Reviewers & Auditors

New to this repo? Start here โ†’ docs/project/FOR_REVIEWERS.md

That document answers every common question in one place: what the project is, current security posture, what's production vs experimental, PHP version requirements, AI development methodology, compliance status, and scoping advice for a limited-budget review.

Quick links for reviewers:

Related MCP server: WP MCP Ultimate

๐Ÿ“‘ Table of Contents

Getting Started

Core Functionality

Addons & Extensions

Orchestration & AI Features

AI Providers & Integration

Performance & Optimization

Remote MCP Setup

Assistant Management

Development

Reference

Changelog

Sponsor & Support


๐Ÿ—บ Repository Map

Directory

Purpose

includes/

Core plugin classes โ€” admin, assistants, tools, services, REST, security (12 infrastructure classes), providers (18 chat providers), harness, data, markup, measurement, skills, professions, teams, slash-commands, A2A/ACP protocols, federation, elementor, blocks, crawler, integrations

lib/core/

Framework-agnostic AI orchestration engine (nvoos/core): 32 domain contracts, 21 WordPress adapters, ChatOrchestrator, ProviderRouter, ToolRegistry, SkillRegistry โ€” PHP 8.1+

addons/

30 installable addons (Pro, Chat SPA, Docs Hub, SaaS Controller, Cloud Worker, Cloudways Dashboard, Toolkit Shell, Canvas, Canvas Toolkit, Document Editor, Media Studio, Media Worker, Graphify, Comic Reader, Funiq Bridge, Fleet Operator, Algorave, Cornerstone3D, Design System, Embedded, Fantasy Football, LibreChat, Schedule Anything Platform, Schedule Anything SPA, Tenant Router, Page Agent, Checkout API, mcp-wordpress-gateway, ChatGPT Plugin, MCP Gateway)

assets/

Frontend JS/CSS, images, CSV templates, examples

.agents/skills/

76 coding-time agent skills for Zed editor (20 wp-* WordPress plugin development patterns + 36 design-* skills incl. design-figma-to-elementor + mcp-ai-wpoos-plugin operational guide + mcp-ai-wpoos-test-suite repair guide + mcp-ai-wpoos-updates maintenance guide + mcp-ai-wpoos-wporg-submission wp.org readiness guide + mcp-ai-wpoos-ecosystem-port port-loop guide + mcp-ai-wpoos-assistant-portability export/import guide + mcp-ai-wpoos-playground-demos Playground demo blueprint guide + mcp-ai-wpoos-dependabot-loop alert-triage guide + mcp-ai-wpoos-toolkit-audit per-toolkit hardening audit guide + mcp-ai-wpoos-toolkit-creation new-Pro-toolkit creation guide + mcp-ai-wpoos-toolkit-universalisation single-tenantโ†’universal rework guide + mcp-ai-wpoos-toolkit-ingestion open-format data-ingestion playbook + mcp-ai-wpoos-spa-ui SPA UI stack & testing guide + mcp-ai-wpoos-spa-rest-contract console REST contract audit guide + mcp-ai-wpoos-checkout-integration purchase-flow client guide + mcp-ai-wpoos-content-graph-spa Content Graph explorer โ†” SPA port & auth guide + mcp-ai-wpoos-model-foundry corpus-foundry fine-tuning guide + mcp-ai-wpoos-dictation-app companion-app build/engines/verification guide + mcp-ai-schedule-anything-ops Schedule Anything SaaS ops guide + mcp-ai-artcraft-ops ArtCraft MCP operational guide)

.bmad/

6 BMAD workflow agent YAML definitions + team composition config

.context/

Subsystem context files (10 topics + 5 templates) for agent session loading

plugins/

Standalone plugins: NVOOS Content Graph, NVOOS Content Graph AI, NVOOS Content Graph AI Platform

packages/

23 NPM packages under @nvdigitalsolutions scope

src/

TMA (Telegram Mini App) builders + workflow builder source

shared/

Shared source code across builds

core/

Standalone "core" distribution (mcp-ai-wpoos-core.php)

config/

Site blueprints

examples/

Agent and workflow example code

extensions/

Hermes WebUI dashboard extensions (fleet monitoring/control plane, backup-download, external-app-tab, mcp-tool-shortcuts)

tests/

PHPUnit test suite

docs/

Comprehensive documentation (~1,600 files across 12 directories)

bin/

Development and deployment scripts

docker/

Docker Compose configuration

languages/

Translation files (.pot/.po/.mo)

patches/

Dependency patches

.github/

CI/CD workflows (~30 pipelines), custom agents, Copilot instructions


๐Ÿงฉ Overview

Real-time AI Orchestration Toolkit / Harness for Wordpress - NV oOS is a modular AI framework (Object-Oriented System) for WordPress that connects your site's data with 18 language-model providers: OpenAI, Gemini, Anthropic, DeepSeek, OpenRouter, Baseten, Kimi (Moonshot), Z.AI (GLM), DigitalOcean, NVIDIA NIM, Cloudflare Worker AI, Azure, Ollama, LM Studio, Hugging Face, and TypeSafe Jev (decision-only), plus local WebLLM and embedded engines. It allows you to create and manage AI Assistants that can interact with users, access WordPress data, and perform custom tool functions.

โœจ What's New at a Glance (v1.2.10)

  • ๐Ÿงญ Console migration Phase 5bโ€“5d + console polish (Proposal 084, PR #7180). The orphaned cost/analytics REST controllers now register in includes/bootstrap/loader.php and power the real Analytics page (cost trend, provider donut, top tools/users); the Unified Blueprints page bridges behind GET /mcp-ai-pro/v1/blueprints as a searchable install catalogue; the Agent Command Center absorbs into the console Dashboard (fail-soft KPI + activity). Console-wide: a semantic DataTable (sortable headers, masterโ€“detail rows, sticky header) replaces the div-list tables, buttons are standardized, and the sidebar groups into Workspace / Automation / Command Centers / Insights / Admin (W3C disclosure, persisted state).

  • ๐Ÿงฉ Crash fixes (PR #7184). The blueprints 500 โ€” the admin_blueprints module gated the page class behind an admin context, so its static catalogue seams fataled on front-end REST; the class now loads unconditionally (only init() stays is_admin()). React error #310 (hooks after early returns) fixed on Schedule Manager, Workflows, Pro Ops, and Orchestration Stats โ€” with a permanent react-hooks/rules-of-hooks ESLint gate that caught 21 latent violations. The settings page gains section cards, cross-tab search, and a sticky save footer; the chat dock gets mode-synced conversation-list collapse, a theme switch, a stacked composer, and a working drag-resize.

  • ๐Ÿ’พ Real transcript-storage meter (PR #7185). The status-bar "Sessions: X KB" meter measured localStorage keys that can never exist for the server-side transcript store (always 0). WP_MCP_AI_Transcript_Repository::get_storage_bytes() now aggregates per-user payload lengths, the /chat-transcripts envelope carries storage_bytes, and the StatusBar prefers the server figure with a localStorage fallback for older installs.

  • ๐Ÿ›ก Dependency advisories closed (PR #7186). markdown-it โ†’ 14.3.3 (ReDoS + O(nยฒ)), @modelcontextprotocol/sdk โ†’ 1.32.0 (gateway 22/22), launch-editor โ†’ 2.14.2 โ€” 14 of 16 open alerts; the vite pair already fixed on the alpha line.

  • ๐Ÿ”จ Full tracked-bundle rebuild (PR #7182). Lockfile-only advisory bumps had left tracked bundles silently stale for 13 days โ€” the full artifact tree was rebuilt (16 files) and the rebuild discipline codified in the spa-ui + dependabot-loop skills (#7183).

  • ๐Ÿš€ Standalone SPA endpoint sync (PR #7181). The Vite mirror gains the three canonical ProSpaEndpoints keys (cost, blueprints, commandCenter) and points analytics at the core namespace โ€” the Velocity build gate fixed.

  • ๐Ÿ“š Docs & skills (PRs #7178, #7183, #7185). The Schedule Anything ops skill gains the Cloudways Anti-Bot Protection (Imunify360 WebShield) failure class with the diagnostic ladder and fix; the spa-rest-contract skill gains bug class 11 (wrong-store meters); the test-suite skill documents the run-tests-docker.sh dump-autoload fallback.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.10 across all version-bearing files. Pro addon: 1.2.10. Tool count: ~355 base + ~1,377 Pro (~1,731 total โ€” unchanged; live registry authoritative). Model catalog: v2026.10.03 (unchanged). Provider count: 18 (unchanged). Addon count: 30 (unchanged; Schedule Anything Platform 0.1.2). Media Worker: 3.4.0 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged). Coding-time agent skills: 76 (unchanged). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.8 oOS set (30 files).

๐ŸŽฏ Mission: Modernizing Small to Medium Business Websites

NV oOS is specifically designed to help small to medium-sized businesses fast-track their outdated, stale, or insecure company websites to modern technology standardsโ€”without the need to add yet another wrapper around API calls. Instead, we're trying to peel back decades of API wrappers with the help of AI, providing:

  • Direct AI Integration - No middleware required. Connect directly to OpenAI, Gemini, Anthropic, Hugging Face, Cloudflare Worker AI, Ollama, LM Studio, OpenRouter, and DeepSeek without custom development

  • Security-First Architecture - Built-in protection against nefarious usage with active monitoring and prevention systems

  • Enterprise-Grade Features - Access to capabilities typically requiring expensive custom development

  • Compliance & Audit Tools - Comprehensive logging, rate limiting, and usage tracking built-in

  • Zero Technical Debt - Modern codebase following WordPress standards, ready for current technology stacks

๐Ÿ›ก Active Security Monitoring

NV oOS actively prevents and monitors against nefarious behavior. The plugin includes:

  • Nefarious Usage Monitor - Real-time detection of suspicious patterns and automatic emergency shutdown capabilitiesใ€F:includes/class-wp-mcp-ai-nefarious-usage-monitor.phpโ€ L1-L676ใ€‘

  • Root Security Key - Optional emergency authentication layer to prevent unauthorized reactivation after security incidentsใ€F:docs/features/security/root-security-key.mdโ€ L1-L511ใ€‘

  • Granular Capability Controls - Every tool and API endpoint enforces WordPress capabilities to prevent unauthorized access

  • Rate Limiting - Built-in protection against abuse with configurable limits per user, model, and time period

  • Comprehensive Audit Logging - Track all API calls, tool executions, and security events for compliance and forensic analysis

  • Input Sanitization & Output Escaping - All user input sanitized, all output escaped following WordPress security best practices

This is not a tool for circumventing security or promoting bad practices. Every feature is designed with security, transparency, and responsible AI usage as core principles. The plugin actively works to stop and prevent misuse before it happens.

Latest audit: See docs/operations/compliance/SECURITY_AUDIT_2026_04.md โ€” the published summary of the April 2026 security & compliance code review (no Critical findings; 5 High items, 3 Fixed and 2 Partially Fixed). Full deliverables under docs/project/audits/2026-04/.

WordPress.org compliance hardening (May 9, 2026): docs/operations/compliance/WORDPRESS_ORG_COMPLIANCE_2026_05_09.md โ€” findings B3, B8, B10, B13, and production vendor remap all resolved.

โš  Warranty & Safe Use

We make every effort to keep NV oOS safe and secure โ€” but by design, it can be destructive and resource-intensive when not properly configured.

NV oOS grants AI assistants access to powerful WordPress operations. The same capability that automates real work can cause irreversible harm if misconfigured:

  • Destructive tools โ€” bulk content deletion, user management, file writes, mass email, WP-CLI, direct database operations

  • API billing exposure โ€” uncapped AI provider calls can exhaust quotas and trigger unexpected charges

  • Server resource exhaustion โ€” concurrent agentic loops and SSE streams can saturate CPU/memory on shared hosting

Before going live: test on staging, take verified backups, apply least-privilege tool permissions, enable rate limiting, and review the system prompt of every public-facing assistant.

๐Ÿ“„ Full details: WARRANTY.md โ€” security commitment, "AS IS" disclaimer, destructive-operations table, resource-consumption guide, and mitigation checklist aligned with OWASP, NIST SP 800-53, ISO/IEC 27001, and the WordPress Plugin Developer Handbook.

Patent Pending

NV oOS is the subject of a pending patent application for its novel System and Method for Dynamic AI Orchestration Layer with Real-Time Capability Gating and Resource Budgeting.

Application Number: 19/410,504

The patent covers NV oOS's innovative approach to implementing sophisticated AI orchestration in WordPress's request-based PHP architectureโ€”a platform not designed for real-time streaming, asynchronous operations, or persistent state management. This technical achievement enables enterprise-grade AI capabilities on WordPress by recreating event-driven behavior within PHP's synchronous execution model.

Key Innovations Covered:

  • Dynamic resource budget allocation during streaming operations

  • Capability-based access control for AI tool execution

  • Registry-state-based scheduling in stateless environments

  • Metrics-driven budget adjustment for real-time optimization

  • Persistent-behavior illusion in request-based architectures

The orchestration layer makes NV oOS unique in the WordPress ecosystem by solving fundamental architectural limitations that prevent traditional WordPress plugins from supporting advanced AI features. See the System Architecture section below for technical details on how these innovations work together.

๐Ÿ— System Architecture

NV oOS implements a comprehensive orchestration layer for managing AI operations during real-time streaming events. The system architecture comprises:

  • 18 language-model providers โ€” OpenAI, Gemini, Anthropic, DeepSeek, OpenRouter, Baseten, Kimi (Moonshot), Z.AI (GLM), DigitalOcean, NVIDIA NIM, Cloudflare Worker AI, Azure, Ollama, LM Studio, Hugging Face, TypeSafe Jev (decision-only), plus local WebLLM + embedded engines

  • ~1,731 tool classes (~355 base + ~1,377 Pro; live count via WP_MCP_AI_Tool_Registry::get_tools() is authoritative) registered through a singleton Tool Registry

  • 36 REST controllers (16 base + 20 pro) under the mcp-ai/v1 namespace

  • 64 service classes powering orchestration, budgets, and workflows

  • 5 authentication methods โ€” WordPress nonce, assistant credentials, mesh keys, Auth0 JWT, guest tokens

  • Toolkit MCP servers โ€” per-toolkit JSON-RPC 2.0 servers exposed under /wp-json/mcp-ai-pro/v1/mcp/{slug}; discoverable at /.well-known/mcp

  • 8 inline-async-tick consumers โ€” cooperative tick-lock pattern eliminates WP-Cron startup latency for background jobs (transcript mining, async tool executor, SaaS Apply, Crawl4AI, Docs Hub rebuild, Graphify reindex, Harness eval, Gemini Veo polling)

  • 7 LLM Harness layers (+ 1 Pro) โ€” opt-in epistemic layers Aโ€“H activated per-assistant via the LLM Harness metabox

  • Orchestration Phases 1โ€“7 โ€” HITL approval queue, prompt-injection detector, structured output, OTel exporter, DAG builder, durable runs, triggers/webhooks, sub-agents

๐Ÿ“– For a detailed explanation of how NV oOS extends standard SSE and MCP protocols with novel orchestration features, see ORCHESTRATION-LAYER-ARCHITECTURE.md

Core Orchestration Layer: Overcoming PHP's Limitations

Critical Context: Most real-time AI streaming systems are built with Node.js, Python FastAPI, or Go โ€” platforms designed for asynchronous, event-driven operations. These platforms natively support:

  • Long-lived connections and persistent state

  • Non-blocking I/O and parallel execution

  • Event loops and asynchronous callbacks

  • WebSocket protocols and SSE streaming

NV oOS achieves the same capabilities in PHP/WordPress โ€” an environment fundamentally not designed for these patterns โ€” through a sophisticated orchestration layer that creates a "persistent-behavior illusion":

  1. Real-Time Budget Enforcement - Monitors token/memory usage during streaming, prevents exhaustion through predictive allocation

  2. Capability-Based Tool Gating - WordPress role-based access control for AI tool execution

  3. Predictive Optimization - Analyzes usage patterns to prevent resource overruns before they occur

  4. Distributed Orchestration - Multi-provider support with policy-aware routing

  5. Auditability & Compliance - Complete governance layer with logging and rate limiting

  6. Cron-Based Task Orchestration - Extends orchestration to async operations with budget inheritance

Multi-Agent Orchestration Enhancement (DeepSeek V4-Inspired)

Added: January 2026 (v1.1.0)

Building upon the core orchestration layer, NV oOS now includes a sophisticated multi-agent coordination framework inspired by DeepSeek V4's orchestration patterns:

Key Components:

  • Agent Role System - Four specialized roles (Planner, Executor, Critic, Specialist) with role-specific capabilities

  • Team Composition - Automated team assembly based on task requirements and profession expertise

  • Coordinated Workflows - Multi-step workflows with agent delegation, result aggregation, and validation

  • Team CPT Integration - Persistent team configurations with orchestration modes (single/sequential/parallel/swarm)

  • Profession-Based Discovery - 296 professions auto-assigned agent roles via intelligent seeding across 17 knowledge bases

Example Multi-Agent Workflow:

// 1. Compose research team (planner + executors + critic)
$orchestrator = new WP_MCP_AI_Agent_Team_Orchestrator();
$team = $orchestrator->compose_team( array( 'task_type' => 'research' ) );

// 2. Execute coordinated workflow
// Planner decomposes task โ†’ Executors research subtasks โ†’ 
// Communication service aggregates โ†’ Critic validates quality
$result = $orchestrator->execute_team_workflow( $team, $task, $context );

Documentation:

Why This Architecture Is Novel: Overcoming PHP's Limitations

  • Event loops and background workers

PHP/WordPress, by contrast, is fundamentally request-based:

  • Every HTTP request spawns a new process that dies after responding

  • I/O operations block execution

  • No persistent memory between requests

  • No native event loop or async coordination

NV oOS solves this by implementing an orchestration layer that creates a "persistent-behavior illusion" โ€” effectively recreating Node.js's event loop behavior within WordPress's synchronous, request-based architecture. This architectural compensation is the system's core technical innovation:

PHP Limitation

NV oOS Solution

No persistent state

Registry & policy engine maintain state via database/cache

No event loop

Cron Manager extends orchestration across time-shifted operations

Blocking I/O

Predictive budget allocator prevents blocking operations

Request-based lifecycle

SSE controller implements streaming within request boundaries

No background workers

WordPress cron system simulates async job processing

This makes NV oOS patent-worthy as a technical workaround โ€” it achieves sophisticated AI orchestration in an environment specifically not designed for such patterns. See ORCHESTRATION-LAYER-ARCHITECTURE.md for the complete technical analysis.

Computer-Implemented Resource Management

The system operates as a computer-implemented method executing on a processor with memory, performing:

  1. Dynamic Resource Budget Allocation: The orchestration layer dynamically allocates token and memory budgets to tool execution requests based on real-time system capacity and operation requirements. The WP_MCP_AI_Resource_Manager continuously monitors server resources (PHP memory limits, execution time constraints) and automatically adjusts operational parameters.

  2. Capability-Based Access Control: Tool execution endpoints enforce granular capability-based access controls. Each tool in the registry declares required WordPress capabilities, and the REST API controller validates user permissions before allowing execution. This ensures secure, policy-driven access to all operations.

  3. Registry-State-Based Scheduling: The WP_MCP_AI_Tool_Registry maintains tool availability state and schedules execution based on policy constraints. Tools are loaded conditionally based on dependency availability, and execution is scheduled according to assistant configuration and user permissions.

  4. Metrics-Driven Budget Adjustment: The system continuously monitors execution metrics (memory usage, API response times, token consumption) and adjusts resource budgets in response to prevent resource exhaustion and reduce latency. The WP_MCP_AI_Token_Budget_Manager implements safety margins and dynamic chunking to prevent API limit overruns.

System Components

The system comprises a processor and memory storing instructions that:

  • Monitor real-time resource availability through PHP runtime introspection

  • Enforce capability checks at REST endpoint boundaries

  • Schedule tool execution through a centralized registry

  • Adjust token and memory budgets based on detected system metrics

  • Maintain operation logs for audit and optimization

This architecture is embodied in non-transitory computer-readable media (PHP source files) that, when executed by a web server processor, cause the system to perform the complete resource management workflow. The implementation prioritizes stability, security, and efficient resource utilization across diverse hosting environments.

Symfony Process Integration (December 2025)

NV oOS Pro addon integrates the Symfony Process component for secure external command execution. This modern framework replaces direct exec() calls in 6 Pro tools and 2 supporting services, providing:

  • Enhanced Security: Proper argument escaping and command validation

  • Timeout Management: Configurable timeouts with graceful handling

  • Better Error Handling: Comprehensive exception catching and WordPress-friendly error reporting

  • Process Control: Real-time output streaming and cancellation support

Migrated Tools & Services:

  • FFmpeg operations (video frame extraction, metadata reading)

  • Python rembg (background removal)

  • WP-CLI execution

  • Meta AI Jukebox (music generation)

  • Supporting services for video and audio processing

The Process Service (WP_MCP_AI_Process_Service) provides WordPress-friendly wrappers with WP_Error integration, making external process execution consistent with WordPress coding standards.ใ€F:includes/services/class-wp-mcp-ai-process-service.phpโ€ L1-L220ใ€‘ใ€F:docs/history/2025/implementations/symfony-phases/SYMFONY_PHASE2B_PROCESS_INTEGRATION.mdโ€ L1-L100ใ€‘


๐Ÿ“œ Release History

The 12 most recent releases are documented in full below. Every older release has a one-line summary in the Previous Releases table, and complete per-release detail lives in CHANGELOG.md.

v1.2.10 โ€” October 23, 2026

Console Migration Phase 5bโ€“5d, Crash Fixes, Storage Meter & Advisory Sweep

  • ๐Ÿงญ Admin-surface console migration Phase 5bโ€“5d + polish (Proposal 084, PR #7180). The orphaned WP_MCP_AI_REST_Cost_Manager + WP_MCP_AI_REST_Analytics_Manager controllers now register in includes/bootstrap/loader.php (Phase 5b) and power the real Analytics page (cost trend, provider donut, top tools/users โ€” manage_options-gated, wrapping the existing service layers); the Unified Blueprints page bridges behind GET /mcp-ai-pro/v1/blueprints as a searchable install catalogue (5c); the Agent Command Center absorbs into the console Dashboard (5d, fail-soft KPI + activity). Console-wide polish: a semantic DataTable (sortable headers, masterโ€“detail expandable rows, sticky header, scroll containment, zebra striping) replaces the div-list tables; standardized primary/danger buttons; a grouped collapsible sidebar (ConsoleSidebar + nav-features: Workspace / Automation / Command Centers / Insights / Admin) with the W3C disclosure pattern, persisted state, and default-Workspace-expanded.

  • ๐Ÿงฉ Crash fixes + settings + chat dock (PR #7184). The blueprints 500 โ€” the admin_blueprints module gated the page class behind context => 'admin', so its static catalogue seams fataled on front-end REST; the class loads unconditionally now (only init() stays is_admin()), pinned by an 11-test REST suite. React error #310 (hooks after early returns) fixed on Schedule Manager, Workflows, Pro Ops, and Orchestration Stats โ€” with a permanent react-hooks/rules-of-hooks ESLint gate that caught 21 latent violations across 4 files. The settings page gains section cards per tab (the schema's previously unused section/section_id), cross-tab search with breadcrumbs, a sticky save footer, and dirty-field indicators. The chat dock: mode-synced conversation-list collapse (docked starts collapsed, full-page open โ€” boot-synced to avoid a first-frame flash), the visible status-bar โ˜ฐ toggle, a light/dark theme switch, a stacked composer (textarea no longer squashed to 31px), and drag-resize on the textarea itself.

  • ๐Ÿ’พ Server transcript storage meter (PR #7185). The status-bar "Sessions: X KB" meter measured same-origin localStorage keys that can never exist for the server-side transcript store. WP_MCP_AI_Transcript_Repository::get_storage_bytes() aggregates per-user payload lengths (0 when the CCT is unavailable), GET /mcp-ai/v1/chat-transcripts carries storage_bytes, and the StatusBar prefers the server figure with a localStorage fallback for older installs.

  • ๐Ÿ›ก Dependency advisory sweep (PR #7186). markdown-it โ†’ 14.3.3 (ReDoS + O(nยฒ), bounded override โ€” 6 alerts), @modelcontextprotocol/sdk โ†’ 1.32.0 (gateway exact pin, 22/22 โ€” 8 alerts), launch-editor floor โ†’ 2.14.2 (2 alerts) โ€” 14 of 16 open alerts closed; the vite pair already fixed on the alpha line.

  • ๐Ÿ”จ Full tracked-bundle rebuild (PR #7182). Lockfile-only advisory bumps (#7175, #7106) had left tracked bundles silently stale for 13 days โ€” the full artifact tree rebuilt (16 files: the three generate-* worker bundles, chat bundles, SPA dists, TMA entries, drift manifest); spa-v2 + complete-velocity rebuilt byte-identical same-day.

  • ๐Ÿš€ Standalone SPA endpoint sync (PR #7181). The Vite mirror gains the three canonical ProSpaEndpoints keys (cost, blueprints, commandCenter) and points analytics at the core mcp-ai/v1/analytics namespace (matching the canonical PHP config) โ€” the Velocity build gate's TS2739 fixed.

  • ๐Ÿ“š Docs & skills (PRs #7178, #7183, #7185). The spa-ui skill gains a "Rebuild discipline" subsection (lockfile-movement staleness signature, the vendor never-commit rule, the revert-on-shared-branch play, merge discipline) and the dependabot-loop skill gains Step 7 (rebuild tracked bundles); the Schedule Anything ops skill gains the Cloudways Anti-Bot Protection (Imunify360 WebShield) failure class โ€” symptom signature, the pdata/wsidchk clues, the diagnostic ladder, and the fix โ€” cross-referenced from the Complete Console deploy runbook; the spa-rest-contract skill gains bug class 11 (wrong-store meters) + the storage_bytes baseline; the test-suite skill documents the run-tests-docker.sh silent dump-autoload fallback.

  • ๐Ÿงช Tests (PRs #7184, #7185). Regression pins for the blueprints REST surface (11 tests / 103 assertions), the cost/analytics/command-center REST surfaces (17 tests), the loading โ†’ loaded transitions on the four hook-order pages, the transcript-storage suite (3 tests), and the useTranscripts storageBytes parsing/fallback cases.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.10 across all version-bearing files (plugin header, WP_MCP_AI_VERSION, WP_MCP_AI_PRO_VERSION, package.json, readme.txt Stable tag). Pro addon: 1.2.10. No addon version moves in-window (Schedule Anything Platform stays 0.1.2). Media Worker: 3.4.0 (unchanged โ€” verified across package.json + both health/status surfaces). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ€” unchanged) โ€” zero registry registrations in-window (the cost/analytics managers are REST controllers; live registry authoritative). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged). Coding-time agent skills: 76 (unchanged โ€” five skills updated in place). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.8 oOS set (30 files โ€” 9 + 2 + 19).

v1.2.9 โ€” October 22, 2026

Complete Console App + Admin Console Migration, SA Visibility & New REST Routes

  • ๐Ÿ–ฅ NV oOS Complete Console Velocity app (Proposal 083, PRs #7150, #7154). A new standalone Cloudways Velocity app (examples/nvoos-complete-velocity/) serving the full spa-v2 admin surface for Complete customers โ€” build-time composition via the @nvoos/pro-spa-v2 Vite alias (no spa-v2 fork), cookie auth through the proven same-origin BFF proxy (serve.mjs, no connection screen), and a Schedule Anything-format shell: dashboard home, one route-split page per addon, a collapsible nav rail, and a persistent chat dock (single ChatPage instance โ€” conversations keep streaming while browsing).

  • ๐Ÿงญ Admin-surface console migration, Phases 0โ€“4d (Proposal 084, PRs #7164, #7166). WP_MCP_AI_Feature_Flags + GET /mcp-ai/v1/features gate the console nav (fail-open); Approvals/Slash Commands/Triggers/Portability/Security/Teams ports with per-page wp-admin kill-switches; a schema-driven Settings engine (/settings/schema + /settings/values, dirty-diff saves, secret masking); ops/diagnostics/token-manager pages + GET /mcp-ai-pro/v1/ops/overview; Schedule Manager (P9) + Workflow Builder (ReactFlow canvas) + records/dashboards/calendar/F&B/channels/media-ops pages. A REST contract parity audit fixed nine client/server mismatches โ€” including the assistants GET/PUT routes that broke the edit form. Phase 5 (retirement soak + kill-switch flips) remains.

  • ๐Ÿ“… Schedule Anything full visibility (PR #7147 โ€” platform 0.1.1 โ†’ 0.1.2). The builder palette now reads the live registry via GET /mcp-ai-pro/v1/sa-tools (paged light rows, server search + group facet โ€” replaces a hardcoded 19-tool fixture); GET /toolkits returns tier/platform_active/entitled (server-decided, greys out of-tier toggles); the missing flowhub + shopify-sync toolkit rows are back; multisite admins gain sa_manage_workspace idempotently; preset filters use server facet dropdowns + load-more; same-state toggles are a successful no-op.

  • โš™ New base settings/features routes (PRs #7157, #7164). GET/POST /mcp-ai/v1/settings (SPA-shaped { success, data }, secrets masked as the admin placeholder, whitelisted sanitize + key mapping + clamps), GET /mcp-ai/v1/features, GET /mcp-ai/v1/teams, and the settings schema/values pair.

  • ๐Ÿ›ก Opt-in debug logging (PR #7161). The JetEngine CCT hot path no longer logs a debug event per request; debug-level events gate behind enable_debug_logging (default off) while errors/warnings/criticals stay always-on; the CG Pro logger port mirrors the gate and degrades to a safe no-op standalone.

  • ๐Ÿ”— Memory-graph bridge seams (PR #7145). trace_memory_provenance resolves its bridge/DB walker through three filters and walks DERIVED_FROM/OBSERVED_BY/MEMBER_OF (not the never-populated RECALLS) with a new kind field; the RRF fusion stream resolves its bridge via wp_mcp_ai_memory_rrf_graph_bridge; the Content Graph plugin self-declares as the bridge (no CG version bump โ€” release prep is a follow-up).

  • ๐Ÿงฉ Console reliability (PRs #7174, #7176, #7163). Six 404ing mcp-ai-pro/v1 console routes fixed by a context-free rest_console_bridges registry module (the admin-context gate never fired for the front-end SPA); the schedule picker moves to its own /schedules/selectable route (last-registrant-wins collision fixed); dashboards and nav gate on toolkit toggles (disabled toolkits vanish server-side); loading states replace empty-then-loaded flashes on Assistants/Tools/Settings/Records/Dashboards/Channels.

  • ๐Ÿงพ SPA REST contract fixes (PRs #7156, #7155). The tools-list client maps the real { tools, total } envelope (route additively returns slug + required_capability); the knowledge-graph visual-config fetch sends the wp_rest nonce (cookie-mode 401 fixed); the Content Graph guest branch validates through the real guest-token layer; transcript 404s mean "fresh session".

  • ๐Ÿš€ Schedule Anything Velocity deploy chain (PRs #7146, #7148, #7151). Missing CSS assets fixed (asset-closure gate + 404-loudly serve.mjs, MIME-verified in the sync workflow); React 18.3 โ†’ 19.1.0 as a documented Pattern-B deviation; the complete-console mirror's build scripts are no-op shims with dependencies stripped (Velocity deploy fixed).

  • ๐Ÿ“‰ Build & dependencies (PRs #7167, #7168, #7175, #7144, #7171, #7173, #7165). The Pro zip stops shipping root examples/ (โˆ’5.4 MB); vite โ†’ 8.2.4 across the 9 alerted manifests + schedule-anything-spa 6.4.4, hono โ‰ฅ4.13.11, follow-redirects โ‰ฅ1.16.1 (alerts 1336โ€“1377); the dictate workflows install the real rustup arch targets (tauri lipo-merges the universal bundle); the standalone SPA's @xyflow/react lockfile + paths/aliases fixed.

  • ๐Ÿ“š Docs & skills (PRs #7162, #7170, #7169, #7172, #7160, #7153). New mcp-ai-wpoos-spa-rest-contract skill (75 โ†’ 76) canonizes the REST contract audit (seven bug classes, audit path, fix decision rules, validation matrix); spa-ui gains the Tailwind v4 tracked-dist loop, the Pattern-B React 19 checklist, and the clean-install lockfile gotcha; content-graph-spa + schedule-anything-ops updated; README sponsor section + FUNDING.yml activated (VS16 anchor fixed); Proposal 085 (Funiq Velocity storefront) is docs-only.

  • ๐Ÿงช Tests (PRs #7149, #7174). The order-dependent tenant-isolation failure is fixed (option reset in setUp()); phpunit.xml.dist drops its no-op source excludes (the 70 GB Rust target/ walk no longer hangs suite startup); the console-bridge registration is regression-pinned.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.9 across all version-bearing files (plugin header, WP_MCP_AI_VERSION, WP_MCP_AI_PRO_VERSION, package.json, readme.txt Stable tag). Pro addon: 1.2.9. Schedule Anything Platform: 0.1.1 โ†’ 0.1.2 (#7147). Media Worker: 3.4.0 (unchanged). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ€” unchanged) โ€” zero registry registrations in-window (sa-tools + the settings/features/ops routes are REST surfaces, not tools; live registry authoritative). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged). Coding-time agent skills: 75 โ†’ 76 (+mcp-ai-wpoos-spa-rest-contract). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.7 oOS set (30 files) + the superseded Schedule Anything Platform v0.1.1 ZIP.

v1.2.8 โ€” October 19, 2026

Schedule Anything API + Single-Site Mode, F&B Worker Offload & MCP OAuth Hardening

  • ๐Ÿ“… Schedule Anything presets + toolkits API (PR #7124, Proposal 081). Four mcp-ai-pro/v1 routes (rest_schedule_anything module): GET /toolkits + POST /toolkits/{slug}/toggle (server-side tier entitlements via the platform's SA_Toolkit_Manager, 403 sa_toolkit_not_entitled), GET /presets + /presets/{id} (12 presets across 6 toolkits), and idempotent POST /presets/{id}/install (replay returns the original schedule). Schedule records leaving REST are redacted (redact_schedule_for_public() โ€” credential-bearing fields stripped), and the SPA builder payload aligns with the server contract (sonner error surfacing).

  • ๐Ÿ  Schedule Anything Platform single-site mode (PR #7134, Proposal 082 โ€” addon 0.1.0 โ†’ 0.1.1). No more activation wp_die on non-multisite: sole-tenant self-provisioning (tier default enterprise, filter sa_single_site_tier), a manage_options capability seam for SPA REST, 409 sa_cannot_offboard_sole_tenant, a SA_SAAS_API_KEY-gated heartbeat, and a 17-case suite wired into the root PHPUnit run via a self-guarding addon tests bootstrap.

  • ๐Ÿญ F&B ingest ร— media-worker offload (PR #7114, Proposal 079 + Appendix B). The worker's POST /api/ingest/parse returns the F&B {columns, rows} matrix contract (XLSX/CSV/TSV/JSON/JSONL/PDF/photo; .xls/.ods โ†’ 503 capability_unavailable with local fallback), /api/image/batch gains the files[N] contract + per-file tolerance; the F&B loader parses heavy formats sidecar-first with local PhpSpreadsheet/PdfParser fallbacks; optimise_images_batch and the OCR-service PDF path offload; opt-in ocr_vision_fallback rung.

  • ๐Ÿ›ก MCP OAuth authorize hardening (PR #7133). Exact-string redirect URI matching (RFC 9700 โ€” the wildcard bypass is gone), registration-time URI validation, a nonce-bound consent page before any code is issued, unknown-scope rejection, and token-endpoint redirect_uri matching โ€” Pro addon + the byte-identical Content Graph Pro mirror (19-test suites, 114 adjacent assertions on WP 6.9 + 7.1).

  • ๐Ÿ–ฅ WP-CLI integration gaps closed (PR #7135). The dead mcp-ai content command registers again; a canonical WP_MCP_AI_Pro_Toolkit_Settings_Map (40 toolkits) fixes "Unknown toolkit key" for 11 real settings keys; toolkit enable|disable are manage_options-gated (--yes); new foundry/para/qms/mcp-app/fnb commands with the integration CLIs discovered via wp help mcp-ai.

  • ๐Ÿ’ฌ Chat composer vertical expansion + collapsible toolbar (Proposal 080, PRs #7113, #7116, #7118โ€“#7120). Auto-grow 1โ†’3 lines (field-sizing: content + fallback), iOS keyboard reflow (interactive-widget=resizes-content, dvh chain, useVisualViewport), a Zed-style drag-resize divider (clamped + persisted), a focus composer, an in-place collapsing desktop toolbar, a mobile toolbar row, and three pre-existing a11y lint failures fixed โ€” 202 vitest tests green.

  • ๐Ÿ“ง Gmail body hydration + attachment text (PR #7110). HTML-only empty_parts emails hydrate via body.attachmentId before normalization; attachments return extracted text (PDFs via smalot/pdfparser, text/csv/json, actionable errors for scanned PDFs); unpadded base64url re-padding fixed.

  • ๐Ÿฝ F&B fixes (PRs #7108โ€“#7112). Excel serial dates (46023 = 2026-01-01) no longer read as Unix epoch (the 1970-01 collapse that blanked every trend chart); the universal reader honors the operator's table_map; the raw-row import keeps non-canonical columns; resume/retry imports persist a resumeCursor; progress placeholders render.

  • ๐ŸŽ™ Dictation macOS verification + universal builds (PRs #7122, #7123, #7137). A macos-latest boot-smoke job (30 s boot-residency gate + headless --mcp engine probe), an interactive tmate session workflow (scripts/macos-matrix-remote.sh), and one universal arm64+x86_64 artifact (lipo merged, both slices boot-verified) replacing the per-arch DMGs.

  • ๐Ÿš€ Schedule Anything Velocity app (PRs #7125, #7126, #7131). examples/schedule-anything-velocity/ serves the prebuilt SPA with the proven proxy core (no CORS config); a root server.js ESM shim satisfies Velocity PM2's default entry; the sync-token secret renamed NVOOS_SA_VELOCITY_REPO_TOKEN (GitHub caps secret names at 40 chars). The platform plugin's Requires Plugins header is dropped so the oos-complete bundle activates (core matches the dependency against the folder slug โ€” three distribution slugs; #7132).

  • ๐Ÿ”— Dependencies (PRs #7106, #7121). handlebars 4.7.9 โ†’ 4.7.10 (GHSA-8r5x-fm3f-whwj); the Schedule Anything SPA joins every SPA zip build + release gate.

  • ๐Ÿ“š Docs & skills (PRs #7115, #7128, #7129). New mcp-ai-schedule-anything-ops skill (74 โ†’ 75); the dictation-app skill gains the macOS remote verification loop; Pro tool coverage manifest regenerated (1,387 classes).

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.8 across all version-bearing files (plugin header, WP_MCP_AI_VERSION, WP_MCP_AI_PRO_VERSION, package.json, readme.txt Stable tag). Pro addon: 1.2.8. Schedule Anything Platform: 0.1.0 โ†’ 0.1.1 (#7134). Media Worker: 3.4.0 (unchanged โ€” the new ingest route ships without a worker bump). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ€” unchanged) โ€” zero registry registrations in-window (#7135's commands are WP-CLI, #7124's surface is REST, #7114's client is a service; live registry authoritative). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged โ€” the dictation-app bundled copy re-synced byte-identical). Coding-time agent skills: 74 โ†’ 75 (+mcp-ai-schedule-anything-ops). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.6 oOS set (30 files) + the superseded Schedule Anything Platform v0.1.0 ZIP.

v1.2.7 โ€” October 17, 2026

F&B Universalisation, Sinhala TTS, and the Pro SPA Multi-Page Expansion

  • ๐Ÿฝ๏ธ Food & Beverage universalisation + open-format ingestion (PRs #7094โ€“#7096, Proposal 078). The F&B toolkit moves from a single-tenant demo to a universal product: WP_MCP_AI_Fnb_Tenant_Profile de-couples currency (canonical neutral metric keys with legacy *_lkr aliases for the 20/20 oracle), render() de-venues both assistant surfaces via token substitution, demo_mode => false, and a new WP_MCP_AI_Fnb_Report_Exporter (DomPDF-first PDF + html_to_pdf fallback + CSV) powers fnb_export_report (+1 Pro). The universal reader scores a single Drive folder to table roles; the multi-format loader + Observation/terminology-map layer and a read-only Ingest & Review dashboard complete the ingestion track; an analytics dashboard adds KPI tiles + trend charts + panel tables.

  • ๐Ÿ—ฃ Sinhala-native TTS (PR #7099). generate_sinhala_speech (+1 base) closes the generate_openai_speech gap (OpenAI voices are English-optimized, Google Cloud TTS has no si-LK voice) via SpeechGen (si-LK), Hugging Face facebook/mms-tts-sin, or a custom webhook; wired into the media_generation preset, with a teacher-assistant-sri-lanka.md system-prompt + tool pack.

  • ๐Ÿงฉ Pro SPA multi-page expansion (PRs #7078โ€“#7080). #/docs, #/media, and #/documents frame the Docs Hub / Media Studio / Document Editor SPAs in sandboxed iframes (mirroring #/knowledge-graph), with filterable docsHub/mediaStudio/documentEditor endpoints and nav-* commands; the standalone app defaults docsHub to the console docs hub.

  • ๐ŸŽ™ Dictation-app skill bundling (PR #7077). mcp-ai-wpoos-dictation-app ships inside includes/bundled-skills/ and the bin/sync-agent-skills.php allowlist (base bundled 76 โ†’ 77).

  • ๐Ÿ›ก Tool-schema hardening (PRs #7087, #7100, #7104). Per-property boolean required hoisted to the top-level array (both ChatOrchestrator + REST build_tools_payload()) and empty properties emitted as {} (seven no-arg tools + the central Tool_Schema_Auditor + the CG-AI mirror), fixing DeepSeek 400s.

  • ๐Ÿ” Google Workspace unification + native Sheets (PRs #7097, #7101, #7105). search_gmail/search_drive delegate to the shared clients (fixing the google_workspace/email_imap rejection); get_drive_file reads native Google Sheets via the Sheets API v4 (sheet_name, tabs, row_count); extract_google_error_message() surfaces the real 403 cause.

  • ๐Ÿ“Š F&B reliability (PRs #7091, #7092, #7102, #7103). Recoverable unknown-metric errors (Levenshtein closest-ID suggestion), complete-by-default + resumable imports (25,000-row cap), header-dictionary metric resolution + covers fallbacks + fixed-height KPI charts, and a WPCS indentation pass.

  • ๐Ÿ‘ฅ Team-member tool invocation (PR #7088). invoke_team_member() resolves profession slugs through build_tools_payload() (proper {type,function} definitions + attention/capability inheritance).

  • ๐Ÿ” Framed SPA credential auth + surface fix (PRs #7075, #7076, #7085). Headless Bearer cred_โ€ฆ auth for framed Media Studio/Document Editor (capability-gated to the issuing user), the broken home-URL iframe fallback removed, and keep-alive hub tabs.

  • ๐Ÿ”— Dependency (PR #7074). @modelcontextprotocol/sdk 1.30.1 โ†’ 1.31.0 in the mcp-wordpress-gateway (GHSA-6qxp-vccf-f47h).

  • ๐Ÿ“š Docs & skills (PRs #7081, #7082, #7084, #7086, #7093). design-performance-audit Flatsome + post-deploy sync, four more skill refreshes + Proposal 075, a Cloudflare 520 troubleshooting entry, the nvoos-dictate lockfile sync, and the Pro coverage-manifest regeneration.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.7 across all version-bearing files (plugin header, WP_MCP_AI_VERSION, WP_MCP_AI_PRO_VERSION, package.json, readme.txt Stable tag). Pro addon: 1.2.7. No addon version moves in-window. Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ€” +1 base +1 Pro) โ€” generate_sinhala_speech (#7099) + fnb_export_report (#7094); live registry authoritative; lib/core/sub-project tools never counted. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base (+mcp-ai-wpoos-dictation-app) + 41 Pro. Coding-time agent skills: 73 โ†’ 74 (+mcp-ai-wpoos-toolkit-ingestion; -universalisation self-bookkept at #7094). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.5 oOS set (30 files โ€” see ยง2.5).

v1.2.6 โ€” October 14, 2026

Drive OAuth Restored, F&B Reliability, OCR vLLM & the Dictation Browser Agent

  • ๐Ÿ” Google Drive OAuth restored (PR #7053). The #6981 narrowing to the non-sensitive drive.file scope silently broke search_drive, get_drive_file, and the F&B tools for pre-existing content โ€” a per-file scope that can't see anything the app didn't create. drive.readonly is restored as the default alongside drive.file, behind the unchanged wp_mcp_ai_google_drive_oauth_scope filter; the CG-AI-platform OAuth manager mirrors it (sub-project, flag-not-edited).

  • ๐Ÿฝ Food & Beverage reader reliability (PRs #7057, #7060, #7061, #7062). The Sheets reader assumed one Drive file per table; real clients use a single workbook. The WP_MCP_AI_Pro_Google_Drive_Client gains Sheets-API-v4 helpers (get_sheet_values()/get_sheets_metadata()) and the reader resolves table IDs to worksheet tabs with fuzzy matching (case/underscore/hyphen/substring) + a preserved split-file fallback. A DEMO_WORKBOOK_ID fallback + workbook_id() accessor fix the fresh-install file-lookup break; the spreadsheets.readonly OAuth scope + maybe_annotate_sheets_error() surface the real Sheets scope failure instead of a misleading split-file "not found". A new WP_MCP_AI_Fnb_Csv_Exporter (workbook โ†’ CSV-per-table with an admin export button) and the 18-table demo dataset (~10,700 rows) now ship in data/*.csv (the tests/ path was stripped from release builds).

  • ๐Ÿ”’ Drive connection fixes (PR #7051). The WP_MCP_AI_Inline_Async_Tick_Trait double-declaration fatal in the harness eval scheduler (the non-once Composer classmap load raced a later require_once); Drive 400 responses now log the full body (so invalid_grant vs invalid_client is finally visible); folder_id can now be cleared (preserve only when the key is absent โ€” the always-posted empty string was mistaken for an omission).

  • ๐Ÿ” Self-hosted OCR vLLM contract (PR #7055). WP_MCP_AI_Self_Hosted_OCR_Client::ocr_images() emitted the SGLang dialect while every operator surface directs users to deploy vLLM โ€” so the no-repeat-ngram processor was never engaged and long documents looped on coordinate tokens. Rewritten to the vLLM OpenAI-compatible shape (model = HF id; skip_special_tokens + ngram_size/window_size + DeepSeek's whitelist_token_ids under extra_body.vllm_xargs); base + CG Pro mirror byte-identical.

  • ๐Ÿค– Dictation browser agent + FastConformer (PRs #7041, #7043โ€“#7050). The agent feature drives a real browser over CDP (chromiumoxide) from dictated/typed instructions โ€” a ReAct loop, a six-variant verdict model with real read-back, an origin-guarded safety gate + sensitive-field masking + async HITL Approve/Deny, and the brain model now correctly uses settings.agent.model (never the shared cleanup/TTS model). A second local STT engine (fastconformer nemo_ctc) ships; an explicit CleanupConfig.polish_enabled master switch replaces the wait_for_llm_ms > 0 gate (the 0 default used to silently disable polish); model download/install hardened (.download moved out of the install dir, 5ร— staging-swap retry, spawn_blocking install).

  • ๐Ÿงญ NV oOS multi-SPA hub + Pro SPA v2 fixes (PRs #7063, #7066, #7064, #7072). A new GET /mcp-ai-pro/v1/spa-surfaces discovery endpoint (WP_MCP_AI_Pro_SPA_Surfaces_Controller, gated on shortcode_exists()/class_exists()) + the dictate app's "NV oOS" multi-surface hub. The Pro SPA v2 last-message-save + assistant-memory regressions are fixed (#7066); the tool-shortcuts/slash-commands/OKF drawers now accept guest/bearer/assistant-credential auth via the new trait-wp-mcp-ai-spa-credential-auth.php (they were cookie-only โ†’ 401 inside the dictate iframe, #7072).

  • ๐Ÿ”— Dependency (PR #7059). shell-quote bumped to >=1.11.0 (resolving 1.12.0) across the root + saas-controller + Pro SPA manifests, closing the GHSA-pqg4-j6r4-53mv command-injection alert in three lockfiles.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.6 across all version-bearing files (plugin header, WP_MCP_AI_VERSION, WP_MCP_AI_PRO_VERSION, package.json, readme.txt Stable tag). Pro addon: 1.2.6. No addon version moves in-window. Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~354 base + ~1,376 Pro (~1,730 total โ€” unchanged) โ€” zero registry diff in-window (no class-wp-mcp-ai-tool-* registrations; #7063's spa-surfaces is a REST endpoint and #7062's CSV exporter is a service, both non-tool). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 72 (unchanged โ€” no new skills in-window). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.4 oOS root set (30 files โ€” see ยง2.5).

v1.2.5 โ€” October 13, 2026

GTmetrix ร— WPCode Toolkit, Food & Beverage Phase 9 & the Hardened Dictation App

  • ๐Ÿš€ GTmetrix ร— WPCode performance toolkit (PR #7026, Proposal 068). +24 Pro tools โ€” a 23-tool gtmetrix_* set (start/monitor/retest, report + Lighthouse-audit + resource-summary reads, browser/location/simulated-device listing, alert + page-tag + monitoring management, and generate_wpcode_snippet) plus the read-only list_wpcode_snippets on a shared WP_MCP_AI_Pro_WPCode_Snippet_Repository (extracted zero-behavior-change from create_wpcode_snippet, conditional_logic support). Deterministic CWV/grade/weight scoring with a 41-check standalone oracle, a credit-aware Action Scheduler poller + CPT snapshot store surviving GTmetrix's 1-month retention, a Basic-auth client with 429 backoff + sensitive-resource hard-blocks, and gtmetrix_install_wpcode_fix drafts-only/chat-restricted. Five schedule + two workflow presets, an assistant pack + wp mcp-ai pro gtmetrix seed-assistant, full 7-surface registration + regenerated coverage manifests. Deferred (plan ยง8): WP 7.1 second pass, live-key smoke test, proposals-README status.

  • ๐Ÿฝ Food & Beverage Phase 9 (PR #7032). +10 Pro tools โ€” five transactional-table CPT backends (mcp_ai_fnb_sale|purchase|stock|waste|booking behind enable_fnb_native_storage, with idempotent upserts + before/after hooks) read by metrics/reports unchanged through a WP_MCP_AI_Fnb_Cpt_Reader; the ACT-tier fnb_import_table Sheet/CSVโ†’CPT bridge (dry-run, idempotent); and nine fnb_pr_* purchase-request tools running the approval lifecycle on the QMS engine (preconditions via wp_mcp_ai_qms_state_preconditions, PO numbering PR-YYYYMM-###, release-signature relaxation). The four A1โ€“A4 assistants ship as unified Blueprints; a new top-level F&B Management menu (CRM/PM pattern) with five CPT screens + a dashboard + settings link. Deferred: Phase 10 chat/social/booking wiring, reference-table CCT fields, Appendix A10.

  • โš™๏ธ F&B admin menu + module-registry fix (PR #7029). tools/food-beverage/init.php was dead code โ€” fnb was missing from the Pro Module Registry's conditional_toolkits/dir_map, so the admin menu never registered (tools still worked via the central map). A new F&B settings page + the CRM-style enable gate land; the 21 shipped tools now surface correctly. design-...-toolkit-creation case study updated to eleven registration surfaces.

  • ๐Ÿฑ F&B assistant-pack seeding + CSV guidance (PR #7033). The truncated WP_MCP_AI_Fnb_Assistant_Seeder completed (seed(), portability-engine load, image-tool add) so the one-click Seed assistant packs admin button and the wp mcp-ai pro fnb seed-assistants CLI share identical semantics; CSV data-directory guidance + a read-only status row (configured/exists/is-directory/readable/writable).

  • ๐ŸŽ™ Dictation companion app hardened (examples/nvoos-dictate, PRs #7017, #7020, #7021, #7025). The live-capture stream-hold regression (cpal Stream dropped on return โ†’ zero callbacks), the stuck-Alt hotkey (synthetic key-up after unhook), adaptive energy-VAD with a real-signal fallback, and the model re-download OpenOptions write-access bug fixed; whisper+parakeet now build into one binary (vendored whisper-rs-sys static CRT); a Diagnostics page + mic input-device picker ship. Deferred: auto-restart watchdog, loopback meeting audio.

  • ๐Ÿ” Dictation follow-up: credentials + macOS + whisper speed (PR #7027). whisper release speed fixed (RTF 5.2 โ†’ 0.36 via whisper-rs-sys/force-debug); version 0.1.0 โ†’ 0.2.0; a Windows Credential Manager backend (win_cred.rs writing CRED_PERSIST_LOCAL_MACHINE) replaces keyring 3.6.3's broken CRED_PERSIST_ENTERPRISE path (write-then-read-back verification); the macOS port proposal (068) lands as a plan doc.

  • ๐Ÿฌ macOS port (P5, PR #7030). cfg-gated PTT (permission-free Cmd+Opt+Space toggle + opt-in CGEventTap hold), a TCC permissions layer with System Settings deep links, CoreGraphics paste, ScreenCaptureKit meeting audio via a Swift sidecar (NDJSON), per-app cleanup profiles (NSWorkspace frontmost detection), Info.plist/entitlements, and a macos-latest CI job. Not yet verified on real Mac hardware (CI has no audio/screen/permission hardware).

  • ๐Ÿค– Local LLM polish, video input & licensing (PR #7037, Proposals 071/072). lm_studio/ollama Stage-2 cleanup providers on a shared local_openai transport; DecodedMedia + a chunker demux MKV/MP4(MOV)/WebM without FFmpeg (transcribe_media/summarize_media IPC); nvoos-dictate + the two SPA demos marked proprietary NV Digital (license = "proprietary"/"UNLICENSED", LICENSE.txt/NOTICE.md/.reuse/dep5).

  • ๐Ÿ‘ Vision object detection + VLM label polish (PRs #7039, #7040, Proposals 075/076). Opt-in ONNX-YOLO detection (yolov11n default, yolov8n fallback) with SORT/ByteTrack tracking and a click-to-select pin overlaid on the webview canvas, plus an opt-in Qwen2.5-VL label-polish layer (crop โ†’ base64 PNG to LM Studio/Ollama) that re-labels the closed-vocabulary detector's low-confidence/misnamed boxes. Deferred: MediaPipe-hand, ByteTrack low-confidence recovery, biometric identity.

  • ๐Ÿ‘ค Standalone SPA login presets (PR #7031). HOME-selected deploy-specific login pages (cookie-dev-proxy / application-password / assistant-credential / preconfigured) with runtime NVOOS_* env injection through serve.mjs (secret-free startup logging, < escaping) and an opt-in NVOOS_AUTO_CONNECT kiosk mode.

  • ๐Ÿž Coverage & contract drift (PRs #7035, #7036). The three model-foundry exporters' produces handoff side corrected to null (corpus schema identifiers aren't ID-handoff keys); the enable_webchat_integration toolkit count fixed (36 โ†’ 37); the Pro coverage manifest regenerated (+ wp-mcp-ai-fnb-assistant-seeder).

  • ๐Ÿ“ Docs & skills (PRs #7015, #7016, #7019, #7023, #7024, #7028, #7038). Two new coding-time skills (71 โ†’ 72: mcp-ai-artcraft-ops โ€” ArtCraft MCP reverse-engineering/rebuild guide; design-performance-audit โ€” the GTmetrix โ†’ WPCode optimization pipeline) + Rust editor config (Zed + VS Code) + proposal docs 068/070/071/072/074/075/076 + the 1.2.4 readme.txt/README gap closure (#7019, which also encoded the check against recurrence in the updates skill). Sub-project: nvoos-content-graph 1.0.11 prep for wp.org (#7014 โ€” own changelog/readme/POT track, flag-not-edited).

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.5 across all version-bearing files (plugin header, WP_MCP_AI_VERSION, WP_MCP_AI_PRO_VERSION, package.json, readme.txt Stable tag). Pro addon: 1.2.5. No addon version moves in-window (content-graph 1.0.11 + CG-AI-platform 2.0.0 ZIP rebuilds are sub-project/build-only). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~354 base + ~1,376 Pro (~1,730 total โ€” +34 Pro) โ€” the 24-tool GTmetrix toolkit (#7026) + the 10-tool F&B Phase 9 wave (#7032); live registry authoritative; lib/core/sub-project tools never counted. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged โ€” the two new skills are coding-time only). Coding-time agent skills: 71 โ†’ 72. Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.3 oOS root set (see ยง2.5).

v1.2.4 โ€” October 12, 2026

MCP Quirk Hardening, Chart Recipes, Model Foundry Phase 1 & the Content Graph SPA Page

  • ๐Ÿ›ก MCP client-quirk hardening (PR #7007, Proposal 066). Every advertised tools/list schema now carries a root type: object and hazardous schemas are skipped-with-reason instead of dropping the whole catalog (bracketed property names, >20 KB schemas, root combinators, >64-char slugs โ€” the new WP_MCP_AI_Tool_Schema_Auditor); nvoos_get_profile attaches structuredContent whenever its outputSchema is advertised (Codex turns declared-outputSchema text-only results into errors); the registry fires wp_mcp_ai_mcp_tools_list_changed (once per request) backing listChanged; JetEngine MCP + MCP App discovery caches cap at the server ttlMs and invalidate on notifications/tools/list_changed; the CG-AI standalone mirror ports the hardening. Site Health direct test + debug field; 44 new tests on WP 6.9 + 7.1.

  • ๐Ÿ“ˆ nvoos-chart recipe rendering (PRs #7003, #7005). Fenced nvoos-chart JSON renders as real HTML/CSS charts on all three chat surfaces (no SVG/canvas/CDN) โ€” 29 types (v1's bar/column/line/area/dot/donut/heatmap + v2's histogram, box, strip, stem, violin, pie, waffle, unit, diverging, lollipop, dumbbell, slope, bullet, pyramid, waterfall, candlestick, gantt, sparkline, radial, dial, race, grid); invalid fences degrade to escaped code blocks; sanitisation by construction (extracted before marked/DOMPurify, createElement + textContent); resource caps (40 labels / 12 series / 120 points / 240 cells); theme-adaptive, dark-mode-aware, prefers-reduced-motion; grouped-bar rendering fixed. +1 base tool create_chart_fence (server-side validator mirror) + the design-chart-recipes skill + byte-identical conformance fixtures across the three suites. Deferred (plan ยง12): race replay, SPA CSV copy, render_chart_preview REST, mermaid spike, a11y scan.

  • ๐Ÿง  Model Foundry Phase 1 โ€” Corpus Foundry (PR #7008, Proposal 067). +3 Pro tools โ€” export_trajectory_corpus (harness traces โ†’ OpenAI tool-calling rows), export_preference_pairs (DPO rows, R4, min_margin skip), export_plugin_docs_corpus (docs-hub uploads or a symlink-safe validated dir โ†’ docs_v1 rows with per-document provenance) โ€” behind the new deactivatable model_foundry Pro module + the ai_ml preset. The WP_MCP_AI_Corpus_Governance engine is consent fail-closed (_wp_mcp_ai_training_consent; caps โ†’ exact โ†’ fuzzy โ†’ opt-in semantic dedup โ†’ PII scrub โ†’ deterministic content-hash holdout split โ†’ R12 provenance โ†’ guarded sharded write โ€” holdout rows never enter train.jsonl; skip-never-truncate). Consent UI ships in Phase 3 (wp_mcp_ai_model_foundry_assistant_consented until then); Phases 0/2โ€“6 deferred in the implementation plan. mcp-ai-wpoos-model-foundry skill + docs/features/model-foundry.md.

  • ๐Ÿ—บ Content Graph explorer page in the Pro SPA (PR #6998). #/knowledge-graph in the admin surface + standalone Vite app โ€” the plugin's Cytoscape explorer vendored with a documented wrapper-only delta (IIFE โ†’ exported factory, jQuery-namespaced listeners, destroy() teardown, body byte-identical to upstream); jQuery bundled into the lazy 213 KB-gzip chunk. The CG plugin gains a read-only GET /graph/visual-config route + assistant-credential read auth (write routes stay manage_options-only โ€” sub-project track, flag-not-edited; its own changelog/readme.txt updated in-window). Trade-off: the admin IIFE grows 563 KB โ†’ 1.2 MB โ€” entry split deferred.

  • ๐ŸŒ Standalone SPA deploy & auth hardening (PRs #6999, #7000, #7002, #7004, #7006). Cookie-mode login re-scoped through the proxy (absolute wp-login.php form actions/redirect_to broke cross-host deploys โ€” serve.mjs buffers only the login page and rewrites them to the app origin; the Vite dev proxy mirrors it); the vendored explorer's $.ajax calls carry bearer/basic/guest/worker auth via a new ajaxPrefilter (no vendored changes โ€” byte-identity preserved); tsconfig paths + CI build-verify unblock the Velocity deploy; serve.mjs gains a #!/usr/bin/env node shebang (Velocity executes the entry through sh) + a server.on('error') handler with an EADDRINUSE hint; the Velocity doc gains the entry-path callout.

  • ๐Ÿ›ก SPA static-server headers (PR #7009). X-Content-Type-Options: nosniff + Strict-Transport-Security: max-age=86400 on the static branch only (ramp to 31536000 after a clean week; no includeSubDomains/preload); CSP Report-Only template ships commented (the inline Cloudflare challenge script would break script-src 'self').

  • ๐Ÿฝ F&B toolkit toggle restored (PR #7010). enable_fnb_toolkit was defined but never listed in the features subtab group โ€” render() only outputs fields in the active group, so the checkbox never appeared and the toolkit couldn't be enabled from the UI. Added to the subtab fields + memory map (64 MB) + footer counter; regression test; toolkit-count expectation 35 โ†’ 36.

  • ๐Ÿ“ Docs & skills (this pass). User-directed partial @since reconciliation โ€” the literal @since 2.x.0 placeholder family (never recorded in OI-1) corrected to its true shipped versions (1.1.43/1.1.51/1.1.54/1.2.4, blame-verified, incl. three @deprecated lines) and the new model-foundry 1.6.0 + chart-fence 1.4.0 tags corrected to 1.2.4 โ€” the mcp-apps 1.9.x module family and all historical OI-1 groups stay parked (issue #5968). Coding-time skills 66 โ†’ 69 in-window (design-chart-recipes, mcp-ai-wpoos-content-graph-spa, mcp-ai-wpoos-model-foundry); AGENTS.md + copilot-instructions updated by the introducing PRs, the README repo-map fold-in + the ยง1.5 design-* 34 โ†’ 35 correction land here; in-window spa-ui/content-graph-spa/test-suite skill edits reconciled.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.4 across all version-bearing files (plugin header, WP_MCP_AI_VERSION, WP_MCP_AI_PRO_VERSION, package.json, readme.txt Stable tag). Pro addon: 1.2.4. No addon version moves in-window (content-graph 1.0.10, CG-AI 1.0.4, CG-AI-platform 2.0.0 ZIP rebuilds โ€” build-only, unchanged). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~354 base + ~1,342 Pro (~1,696 total โ€” +1 base +3 Pro) โ€” create_chart_fence (#7005) + the three model-foundry exporters (#7008); live registry authoritative; lib/core/sub-project tools never counted. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 66 โ†’ 69. Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.2 oOS root set (6 files โ€” 3 ZIPs + 3 .sha256; the 1.2.3 set stays until the 1.2.4 ZIPs build).

v1.2.3 โ€” October 10, 2026

CORS Same-Origin Enforcement, Standalone SPA WordPress Login & REST Auth Fixes

  • ๐Ÿ›ก CORS same-origin enforcement (PR #6986). WordPress core rest_send_cors_headers() (rest_pre_serve_request, priority 10) reflects any Origin header back with Access-Control-Allow-Credentials: true on every REST response โ€” which silently overrode the Security โ†’ Network "Same Origin" setting, so a hardened site still echoed arbitrary origins. The new WP_MCP_AI_CORS_Guard (12th includes/security/ class) hooks priority 20 and, in site mode, replaces the reflected header with the configured policy: exact-allowlisted origins (site origin + the new cors_allowed_origins setting, one origin per line + the wp_mcp_ai_cors_allowed_origins filter) are echoed with credentials; everything else gets the site's own origin with credentials off; star mode keeps core's allow-all reflection. Enforcement covers the plugin's REST routes (/mcp-ai/v1 by default, extensible via wp_mcp_ai_cors_guard_route_prefixes); the MCP/OPTIONS/SSE/controller emitters share one resolve_allow_origin(). 20 new tests; 138 related REST/security tests pass.

  • ๐Ÿ” Standalone SPA WordPress login (PR #6993, Proposal 064). A fourth auth mode for examples/nvoos-pro-spa-vite โ€” WordPress login via an Application Password (Basic auth over REST): wp/v2/users/me?context=edit validation with a UTF-8-safe Basic header, and the real user + capabilities mounted into the runtime, so the deployed app (chat.nvoos.cloud) gets the full admin surface with real server-side capability enforcement instead of the bearer mode's client-side manage_options. The Basic header attaches only to requests targeting the configured site origin (never the media worker or third parties). Plugin-side gaps fixed by live verification: chat_transcripts_permissions_check() skips the nonce for Authorization-header requests (CSRF-safe by construction), and permissions_check()/permissions_check_assistant_list() gained Application Password branches (same capability gates, admin bypass + rate limiting intact). 39 PHPUnit tests; full live matrix verified.

  • ๐Ÿ›ฐ OOS streaming CORS fixed (PR #6993). The OOS engine's SSE emitter (lib/core SseHandler) sent no CORS headers โ€” every cross-origin browser chat stream on OOS-routed sites was blocked (pre-existing; bearer/guest modes too). WP_MCP_AI_CORS_Guard::emit_stream_cors_headers() fires from the WP adapter before handleChatStreaming(); lib/core stays framework-agnostic.

  • ๐Ÿ”‘ SPA REST auth: credentials & session nonce (PR #6990 โ€” closes #6987, #6985). Transcripts/approvals now validate a pure assistant credential (Bearer cred_โ€ฆ or raw header) via the shared WP_MCP_AI_REST::validate_request_credential() โ€” reads scoped to the credential's issuing assistant (mismatched assistant_id โ†’ 403); approve/deny stay manage_options-only so a leaked credential can't bypass the HITL gate. handle_session_nonce() re-binds identity from the auth cookie (wp_validate_auth_cookie) before wp_create_nonce() โ€” core's rest_cookie_check_errors had zeroed the session user, so the minted nonce failed rest_cookie_invalid_nonce on retry; cookie-less requests still get the guest nonce. 10 new tests; 38/38 on WP 7.1.3 + WP 7.2-alpha.

  • ๐Ÿ“… Pro Schedule Manager multi-recipient notify_email (PR #6991 โ€” closes #6642, #6651). Comma/space/semicolon-separated recipient lists normalize through normalize_notify_email() (reusing sanitize_email_recipients() behind the class_exists guard) with per-address Symfony validation; plan_schedules_from_workflow uses the same normalizer; the create/edit inputs moved type="email" โ†’ type="text" with a comma-separated hint. The five CRM slugs land in tool-status.txt as dev (OI-5 closed) and the pagination-fields fixture accumulation is fixed (setUp ordering โ€” #6975 item 3). 136/136 batch on WP 6.9 + 7.1.2.

  • ๐ŸŒ Standalone SPA cookie mode + production proxy (PR #6994). Cookie mode died with a JSON parse error wherever the app origin had no proxy (the SPA fallback answers unknown paths with index.html + HTTP 200) โ€” a probe now verifies the origin serves the WP REST API and readJson() refuses non-JSON with actionable errors. The zero-dependency scripts/serve.mjs production proxy (/wp-json, /wp-admin, /wp-login.php, /wp-includes when NVOOS_TARGET_SITE is set) streams SSE, rewrites login Location/redirect_to, strips Set-Cookie Domain, and 502s cleanly on upstream failure; App/EmbeddedApp are React.lazy in the shell (entry 501 KB โ†’ 196 KB minified, 148 โ†’ 63 KB gzip).

  • โš™๏ธ .env loading for the standalone SPA (PR #6996). defineConfig(({ mode }) => โ€ฆ) + loadEnv(mode, envDir, '') (empty prefix โ†’ non-VITE_ keys load) so NVOOS_TARGET_SITE/NVOOS_WORKER_URL come from .env files; scripts/dev.mjs resolves shell > .env > http://localhost:8000 precedence; scripts/serve.mjs intentionally stays process-env-only (Velocity runtime env vars).

  • ๐Ÿ“ฆ npm package ESM dists fixed (PR #6984). nvoos-slash-commands, nvoos-dom-batcher, and nvoos-audio published dists that were syntactically invalid ESM (export statements inside unclosed IIFEs โ€” the strip regexes anchored at ^ missed docblock-led sources). Generators fixed, all 22 manifests modernized to "type": "module" (CJS scripts โ†’ adapt-for-npm.cjs), all 23 packages rebuilt with valid dists, and the new examples/nvoos-vite-demo/ (Vite + TS sample over 8 packages with a dev-only mock SSE server) ships. The three fixed packages bump to 0.1.0-alpha.4 โ€” publish deferred (needs npm auth), then the demo's vendor/ aliases drop.

  • ๐Ÿ— Build (#6988/#6995). The spa-standalone sync/deploy workflows pin main at git init (git init -q -b main โ€” bare git init named the branch from init.defaultBranch, so the push died with refspec main does not match) and assemble the deploy tree under examples/ so Velocity's root directory finds package.json (chat.nvoos.cloud was stuck serving the initial build).

  • ๐Ÿ“ Docs (#6989, #6992). The CORS guard + docs/operations/deployment/nvoos-pro-spa-velocity-setup.md deploy guide (root-directory pitfall, build/entry commands, VITE_DEFAULT_SITE_URL, auth modes, the ยง5 CORS allowlist) and the one-shot docs/project/open-issues-triage-2026-10-10.md snapshot (36 remaining issues tiered Aโ€“D; five closed in-session).

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.3 across all version-bearing files. Pro addon: 1.2.3. No addon version moves in-window (docs-hub 0.5.3, content-graph 1.0.10, CG-AI-platform 2.0.0 ZIP rebuilds โ€” build-only, unchanged). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff in-window). Tool count: ~353 base + ~1,339 Pro (~1,692 total โ€” unchanged) โ€” no registry diffs in-window; live registry authoritative. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 66 (unchanged โ€” three updated in place: plugin, spa-ui, updates). Security classes: 11 โ†’ 12 (WP_MCP_AI_CORS_Guard). Stale build ZIPs removed: the 1.2.1 oOS build set (30 files โ€” 9 root + 2 optional-components + 19 toolkit-addons) with the blueprints/ollama-demo.json URL carried to the complete-1.2.2 ZIP.

v1.2.2 โ€” October 10, 2026

Chat Profiles Read-Only Mode, F&B Assistant Packs & Google OAuth Production Readiness

  • ๐Ÿ›ก Chat profiles with server-enforced read-only mode (PR #6977, Proposal 015). Two built-ins โ€” write (non-restrictive default) and read-only (blocks tools carrying write/state-changing/destructive/irreversible/financial-impact/access-control-change/mass-email/data-destruction capability flags). Profiles resolve server-side per request (user meta โ†’ site default โ†’ write fail-safe) so a client can never widen its own grant; client-sent profiles honoured only for wp_mcp_ai_change_chat_profile (โ†’ manage_options) holders; downgrades allowed for any logged-in user; guests default to read-only. The new 11th security class WP_MCP_AI_Read_Only_Profile_Gate hooks wp_mcp_ai_before_tool_execution at priority 0 before the destructive-ops gate (deny โ†’ ask โ†’ allow; 403 WP_MCP_AI_Chat_Profile_Blocked envelope; audit events chat_profile_blocked/chat_profile_escalation_attempt; advisory system-prompt hint). REST GET/POST /mcp-ai/v1/chat-profile (deliberately not a tool โ€” the agent can't self-elevate mid-run), wp mcp-ai chat-profile list|get|set|audit-flags, settings, and the Pro SPA v2 profile selectors. 49/49 tests on WP 6.9 + 7.1; Phase D gaps documented (queue-time async enforcement; confirm_write deferred).

  • ๐Ÿฝ F&B assistant packs A1โ€“A4 (PR #6982, Proposal 062 Phase 4). Four canonical v1 nvoos-assistant bundles (addons/pro/presets/assistant-packs/fnb/ โ€” A1 Manager, A2 Kitchen & Bar Stock, A3 Financial, A4 Content) with spec-verbatim G-01โ€ฆG-12 instructions; seeder wp mcp-ai pro fnb seed-assistants (--dry-run/--mode/--status/--porcelain/--include-image-tools) importing through the shared WP_MCP_AI_Assistant_Portability engine; READ + DRAFT tiers, ACT off; fnb_audit_log A1-only; A4 image tools off by default. Standalone 4/4 validator + 45 tests / 192 assertions. Phases 5b/6/8/9/10 still pending.

  • ๐Ÿ” Google OAuth production readiness (PR #6981). Drive scopes unified on the non-sensitive drive.file scope across all four flows behind the wp_mcp_ai_google_drive_oauth_scope filter โ€” removes Drive from the CASA verification surface (full-Drive reads remain available via the filter); Calendar defaults to Minimal for new installs; upstream token revocation on Gmail/Drive disconnect; publishing-status warnings on the Gmail/Drive footers; production-verification plan + customer guide docs.

  • ๐Ÿž Pro SPA v2 fixes (#6974/#6976). The default-assistant fallback delegated to a nonexistent class โ€” new wp_mcp_ai_pro_get_default_assistant_id() + non-admin directory visibility (assistant_visible_to_current_user(), cache bypass, no hidden-default advertising) + the assistantSelector runtime flag; the embedded sidebar hamburger moved out of the sidebar and the status-bar Sessions figure tracks localStorage live (useStorageUsage).

  • ๐Ÿ›  Workflow-builder TS parity + full JS rebuild (#6979). exportWorkflow/importWorkflow + the DFS validateWorkflow ported into the TypeScript edition (Export/Import called undefined at runtime), animated edges restored, five dead .js duplicates dropped, and every JS package + addon bundle rebuilt.

  • ๐Ÿ”ง Test drift fixed (#6978/#6980). The F&B oracle's key-name/float-delta drift and the CG-AI platform evolved-prompt guest-profile pollution โ€” both lessons encoded in the coding-time skills.

  • ๐Ÿ— Build (#6970/#6972, c9d54bd273). The SPA addon tag-release flow works (new release-spa-addons.yml; the workflow's inputs.create_release == true string bug fixed); the demo-videos pipeline is manual-only until CI-verified (issue #6971); the F&B oracle path, workflow-preset edges, and coverage-manifest CI failures fixed.

  • ๐Ÿ“ฆ Sub-projects. nvoos-docs-hub 0.5.2 โ†’ 0.5.3 (#6966 checkout config object name โ€” the modal was dead on arrival; #6967 rebuild reliability โ€” the live cache is no longer cleared on settings saves/updates, atomic staging promotion serves the previous index during rebuilds; #6968 pre-submission pass โ€” PCP 0 blocking errors, 5 allowlisted OffloadedContent rows + the documented NonPrefixedTraitFound warning; tag docs-hub-v0.5.3 pushed and 0.5.3 is live on the wp.org directory). nvoos-content-graph 1.0.9 โ†’ 1.0.10 (#6973 โ€” excluded CCTs/CPTs now actually leave the graph via pruneExcludedSources() with a post_id > 0 guard + chunked pruneNodesByTypes(); opt-in CPTs captured; auto-rebuild skips excluded types; 183 tests / 801 assertions; run Rebuild Graph once after deploying 1.0.10).

  • ๐Ÿ“ Docs & skills (#6969, this pass). Proposal 063 (PhreshOS Pro toolkit + Cloudways Velocity addon) lands โ€” docs only, five decision points required. Five coding-time skills updated in place: plugin (ร—3 copies + RELEASE-NOTES), wporg-submission (docs-hub 0.5.3 + CG 1.0.10), checkout-integration (0.5.3/1.0.10 refs), test-suite (patterns 68 โ†’ 69), updates.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.2 across all version-bearing files. Pro addon: 1.2.2. nvoos-content-graph: 1.0.9 โ†’ 1.0.10 (#6973 โ€” sub-project track, flag-not-edited). Docs Hub addon: 0.5.2 โ†’ 0.5.3 (#6968 โ€” the 1.2.1 pass's tag-pending follow-up completed). Toolkit Shell: 0.3.0 (unchanged). Schedule Anything SPA: 0.2.0 (unchanged). MCP Gateway: 0.1.1 (unchanged). Media Worker: 3.4.0 (unchanged). Fleet Operator: 1.0.0 (unchanged). Media Studio: 0.6.1 (unchanged). SaaS Controller: 0.3.0 (unchanged). Design System addon: 0.3.0 (unchanged). ChatGPT Plugin addon: 0.1.0 (unchanged). Chat SPA: 0.7.0 (unchanged โ€” the FOR_REVIEWERS row's 0.6.0 was pre-existing drift, corrected this pass). Comic Reader: 0.5.0 (unchanged). nvoos-content-graph-ai: 1.0.4 (unchanged). nvoos-content-graph-ai-platform: 2.0.0 (unchanged โ€” the v2.0.0 ZIP build commits are build-only). nvoos-content-graph-pro: 1.0.0 (unchanged). Checkout API: 0.1.2 (unchanged). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff in-window). Tool count: ~353 base + ~1,339 Pro (~1,692 total โ€” unchanged) โ€” no registry diffs in-window; the chat-profile REST endpoint is deliberately not a tool and the F&B assistant packs are bundles, not tools; live registry authoritative. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 66 (unchanged โ€” five updated in place). Security classes: 10 โ†’ 11 (WP_MCP_AI_Read_Only_Profile_Gate). Stale build ZIPs removed: the 1.1.99 oOS build set (30 files โ€” 9 root + 2 optional-components + 19 toolkit-addons) + the superseded docs-hub v0.5.1/v0.5.2 and content-graph v1.0.8 addon ZIPs (4 files).

v1.2.1 โ€” October 8, 2026

Food & Beverage Pro Toolkit, Docs Hub Tools & Checkout, MCP Server Identity

  • ๐Ÿฝ Food & Beverage Management Pro Toolkit (PR #6962, Proposal 062). 21 fnb_* Pro tools gated behind enable_fnb_toolkit (default off) โ€” read/search/calculate/compare/variance/stock/waste/days-of-cover/weekend/price/budget/margin/duplicate-invoice/labour/utilities/report/drafts/audit โ€” on a deterministic metric engine (M-01โ€ฆM-21 + Kasavana & Smith menu-engineering quadrants + as-of price joins + incurred-vs-paid split) with a 17-table registry (column-alias drift tolerance), Drive + CSV fixture readers, report builder R-01โ€ฆR-13, and a drafts-only writer. Grounded in the Surf Club Midigama spec + demo workbook; 20/20 Check-totals oracle PASS (food cost % 26.88%, beverage % 28.15%, total opex 9,988,745.79, cost per cover 4,092.07; all 59 menu items classified); 18 fixture CSVs + a 243-value oracle ship with a standalone smoke-run.php + the ready PHPUnit oracle. 5 schedule presets + 2 workflow presets + SA Toolkit Manager + WP-CLI. Phases 4/5b/6/8/9/10 deferred (assistant packs, schedule install, MCP exposure, demo dry-run โ€” needs Drive folder IDs + service-account scoping + the DeepSeek demo-model confirmation โ€”, native CPT/CCT storage + the Appendix A fnb_pr_* QMS lifecycle, channel/social/booking wiring). The new mcp-ai-wpoos-toolkit-creation skill documents the build pattern.

  • ๐Ÿ“„ Docs Hub content management tools (PR #6964). Five docs_hub_* Pro tools in the Document Generation toolkit manage the Docs Hub uploads content folder โ€” write (YAML frontmatter + auto index rebuild), read, list, delete (dry-run by default), and rebuild (sync/async) โ€” through a shared traversal-safe validator (no ../absolute/drive-letter paths, realpath containment, the 2 MB cap mirroring the Docs Hub scanner); active-plugin integration via uploads_docs_dir() + NV_oOS_Docs_Hub_Rebuild_Job, graceful degradation when inactive; manage_options for writes, edit_posts for reads. 32 tests / 105 assertions on WP 6.9 + 7.1.

  • ๐Ÿชช MCP server identity discovery (PR #6956). The new base tool mcp_server_info (+1 base) reports server name, plugin version, mode, Pro-active flag, site name/URL, MCP endpoint, and the optional bridge name โ€” a deliberately non-sensitive payload (read capability; the wp_mcp_ai_mcp_server_identity filter docblock forbids secrets). list_mcp_tools gains the shared _meta identity block (opt-out include_meta=false) and the X-MCP-Bridge-Name header flows sanitized + 120-char capped into $context['bridge_name'] โ€” informational only, never used for authorization. 9/9 tests; the CG-AI ListMcpToolsTool sync is a Pending-sync tracker row.

  • ๐Ÿ’ณ Docs Hub checkout upsell (PR #6963, addon 0.5.1 โ†’ 0.5.2). The Content Graph commerce stack ports into the wp.org Docs Hub plugin: an "Unlock AI-powered features / Get NV oOS Complete" card, a five-class includes/checkout/ stack (config, vendor client for the nvoos-checkout API, autoload-free license store, Plugin_Upgrader installer with base-plugin conflict guard, admin-only REST POST /nvoos-docs/v1/payments/{session,verify} + GET โ€ฆ/health with per-user throttling and the already-licensed short-circuit โ€” no second charge possible), and the nvoos-dh-* purchase modal (on-demand Stripe.js, ToS/refund consent + buyer email + EU VAT, pending-intent recovery, manual ZIP download). == External Services == disclosure + commerce review notes; POT 193 โ†’ 271 msgids; PCP PASS. Follow-up: tag docs-hub-v0.5.2 to build the ZIP, then the SVN upload. The new mcp-ai-wpoos-checkout-integration skill documents the port.

  • ๐Ÿž Skill-catalogue gaps fixed (PR #6954). Subfolder sidecars (references//scripts/) install via one Git-Tree walk (non-executable extensions, 40-file cap, best-effort); GitHub token support (WP_MCP_AI_SKILL_CATALOGUE_GITHUB_TOKEN โ†’ filter โ†’ the existing github_access_token setting โ€” token never sent to other hosts) with anonymous enrichment capped at 10 skills per source and stopped on the first 403/429; the empty VoltAgent/awesome-agent-skills default removed. 17/17 tests; CG Pro mirror with the documented per-mode deviations. (Release notes pre-staged into the 1.1.99 section in-window.)

  • ๐Ÿ”‡ Elementor partial-deploy warnings fixed (PR #6961). class_exists( $widget_class, false ) keeps the widget-registration loop off the Composer autoloader โ€” a partially-deployed plugin copy no longer spams two PHP warnings per missing class per elementor/widgets/register fire; behaviour is identical when files exist (they are require_once'd explicitly).

  • ๐Ÿ“ฆ Sub-projects. nvoos-content-graph 1.0.8 โ†’ 1.0.9 (#6959) โ€” the wp.org re-submission review pass (cron scheduling on init, packaging tri-sync, free-base-version disclosure, regenerated POT; PCP 0 ERRORs / 161 known-category WARNINGs) with the checkout-modal polish (#6958 โ€” Stripe loading spinner, the filterable free base-version link, the honest dev-status note). Proposal 061 (MCP Registry & Directory Publishing, docs-only) โ€” Phase 2 executed: bridge published to the official MCP Registry + npm 0.1.0-alpha.4; the gateway remotes publish stays gated on decision D6.

  • ๐Ÿ“ Docs & skills (PRs #6955, #6960, #6957). Three coding-time skills ship in-window (63 โ†’ 66): mcp-ai-wpoos-spa-ui, mcp-ai-wpoos-toolkit-creation, mcp-ai-wpoos-checkout-integration (all count surfaces updated in-window); the content-graph 1.0.9 wp.org lessons fold into mcp-ai-wpoos-wporg-submission + mcp-ai-wpoos-test-suite (patterns 67 โ†’ 68); the docs-hub rsync line-continuation CI abort is fixed (#6957).

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.2.1 across all version-bearing files (the version-jump decision โ€” the ROADMAP's planned 1.2.0 scope was delivered early across v1.1.1โ€“v1.1.35, so the first 1.2-line release is numbered 1.2.1; recorded in the open-items tracker). Pro addon: 1.2.1. nvoos-content-graph: 1.0.8 โ†’ 1.0.9 (#6959 โ€” sub-project track, flag-not-edited). Docs Hub addon: 0.5.1 โ†’ 0.5.2 (#6963). Toolkit Shell: 0.3.0 (unchanged). Schedule Anything SPA: 0.2.0 (unchanged). MCP Gateway: 0.1.1 (unchanged). Media Worker: 3.4.0 (unchanged). Fleet Operator: 1.0.0 (unchanged). Media Studio: 0.6.1 (unchanged). SaaS Controller: 0.3.0 (unchanged). Design System addon: 0.3.0 (unchanged). ChatGPT Plugin addon: 0.1.0 (unchanged). nvoos-content-graph-ai: 1.0.4 (unchanged). nvoos-content-graph-ai-platform: 2.0.0 (unchanged โ€” the v2.0.0 ZIP build commit is build-only). nvoos-content-graph-pro: 1.0.0 (unchanged โ€” #6954's mirror carries the documented per-mode deviations). Checkout API: 0.1.2 (unchanged). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~353 base + ~1,339 Pro (~1,692 total โ€” +1 base +26 Pro) โ€” mcp_server_info (base, #6956) + the 21 gated fnb_* tools (#6962 โ€” the v1.1.89 ECA precedent counts gated tools) + the 5 docs_hub_* tools (#6964); live registry authoritative. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 66 (63 โ†’ 66 in-window โ€” spa-ui, toolkit-creation, checkout-integration; the count bookkeeping landed with the introducing PRs). Stale build ZIPs removed: the 1.1.98 oOS build set (30 files โ€” 9 root + 2 optional-components + 19 toolkit-addons).

v1.1.99 โ€” October 7, 2026

SPA UI Stack Enhancement, Gateway OAuth 2.1 & the Docs Hub Playground

  • ๐Ÿงฉ SPA UI stack enhancement (PR #6952, Proposal 060). toolkit-shell 0.2.0 โ†’ 0.3.0 โ€” Radix Dialog/ConfirmDialog/DropdownMenu/Select/Tabs/Checkbox + CVA Button primitives, a TanStack TableView (sortable headers, ConfirmDialog deletes), a @dnd-kit KanbanView (persisted reorder + cross-column moves via updateResource(group_by)), a react-hook-form + zod FormView (runtime schema from the manifest, per-field role="alert" errors), sonner toasts, 14 --nds-* design-token references, and an ESLint dual-React guard (bundled React 19 off @wordpress/element); schedule-anything-spa โ†’ 0.2.0 โ€” Tailwind v3 โ†’ v4 (@theme inline NDS aliases), 16 shadcn-style primitives, @xyflow/react v12, route-level code splitting, @wordpress/i18n, axe + jsx-a11y gate. Shipped suites 31/31 + 23/23 (vitest + jsdom + Testing Library); three bugs caught pre-ship (zod 0-coercion, RHF resolver-identity churn, Kanban a11y).

  • ๐Ÿ” MCP Gateway OAuth 2.1 resource server (PR #6945, Phase 1). With GATEWAY_OAUTH_ISSUER set, the gateway becomes an RFC 9728 protected resource alongside static API keys (inert otherwise): RFC 9728 metadata (GET /.well-known/oauth-protected-resource + /mcp variant), 401 WWW-Authenticate challenges with resource_metadata + scopes, zero-dependency JWT validation (node:crypto RS256/384/512 + ES256/384, in-memory JWKS cache with rotation refetch, strict iss/aud/exp/nbf/scope, fail-closed), scope-based site binding (site:<slug> mirrors static-key semantics; site:read advertised), and no token passthrough (the gateway keeps exchanging for per-site Fleet Operator tokens). 58/58 tests. Phases 2โ€“5 deferred โ€” Auth0 provisioning (RFC 8414 + DCR + PKCE), scripted PKCE e2e + ChatGPT test, server.json + registry submission, deployment guide.

  • ๐ŸŽฎ Docs Hub Playground demo + wp.org Live Preview (PRs #6944, #6946โ€“#6949). The "Project Asteria" pattern (#6662) applied to Docs Hub: an idempotent local-first seed (6 Markdown pages + a published /docs/ page embedding [nvoos_docs]), a standalone demo.json, the Live Preview blueprint.json (already live in SVN r3731775), and a generator script โ€” blueprints/ dev-only across all three exclusion lists. Self-activate fix (#6946) โ€” the preview loader installs without activating, so both runPHP steps activate_plugin() with an include_once fallback (reproduced + verified with @wp-playground/cli@3.1.54). Wiki seed + full-page SPA (#6947) โ€” a 10-page wiki seed (the readme slug fixes the empty Live Preview) and /docs/ embedding ONLY [nvoos_docs] (no-title template, Additional-CSS full-bleed, demo-scoped skip-link removal). Zero margins (#6949) + the Playground badge (#6948).

  • ๐Ÿ”ง Gateway listing prep, icon & Claude Code plugin (PRs #6941โ€“#6943). GPL-3.0 LICENSE + license field + docs/operations/deployment/mcp-gateway-directory-submission.md (mcpservers.org / mcp.directory / pulsemcp); the mcp-gateway.svg icon (+ /assets static serving, landing logo/favicon, Dockerfile copy); the .claude-plugin/plugin.json (sensitive userConfig โ†’ MCP Authorization header) + /connect command + gateway skill; the Velocity guide ยง5/ยง6 marked to reality.

  • ๐Ÿ” Figma Agent Skills in the default catalogues (PR #6938). figma/mcp-server-guide joins the Pro Skill Catalogue default sources (14 Figma skills + 2 workflow skills, on-demand install); normalise_manifest_skills() dedupes by name (the figma repo mirrors the same skills in two trees โ€” 28 colliding entries would overwrite each other; shortest path wins). CG Pro mirror with the documented per-mode deviations; existing installs see the source after Restore Default Catalogues. Catalogue gaps fixed in the same release (follow-up): subfolder sidecars install (references//scripts/ trees โ€” non-executable extensions only, 40-file cap, best-effort), GitHub token support (constant โ†’ filter โ†’ the existing github_access_token setting; token only ever sent to GitHub hosts) with anonymous enrichment capped at 10 skills per source and stopped on the first 403/429, and the empty VoltAgent/awesome-agent-skills default removed. 17/17 catalogue tests.

  • ๐Ÿž Gmail body extraction fixed (PR #6939). extract_body() walks candidates in preferred-format order, skips empty parts, falls back text/plain โ†” text/html, searches message/rfc822 parts last (forwarded emails), decodes base64 transfer-encoded parts; normalize_message() reports body_source + body_empty_reason so assistants get actionable reasons. 27/27 tests.

  • ๐Ÿ“ฆ Complete-ZIP blueprint stripping fixed (PRs #6936, #6940). The 1.1.98 Complete ZIP shipped 0 blueprint JSONs (Pro ZIP: 65) โ€” bin/build-plugin-zip.sh and release.yml's COMMON_EXCLUDES carried their own unanchored --exclude 'examples'; both root-anchored + a hard CI guard (Assert blueprint examples present in full build); the blueprints empty state distinguishes "library missing" from "toolkit disabled".

  • ๐Ÿ›ก Security & fixes. Fleet Operator tokens are no longer printed in plaintext (readonly type="password" input with Show/Hide + Copy, credential blocks behind <details>, #6950 โ€” the console site needs the updated fleet-operator build deployed); the media worker's synthetic external targets (STATUS_EXTERNAL_TARGETS, synthetic-only mode, sweeper stays the single transition owner) + the split-brain checkedAt fix + downSince recovery clear (#6941, 46/46 status tests); the docs-hub rsync \-continuation CI abort (#6951).

  • ๐Ÿ“ Docs (PR #6947). mcp-ai-wpoos-test-suite gains pattern 67 (loader-exclude + --list-tests), mcp-ai-wpoos-playground-demos gains the docs-hub demo + wp.org no-activation trap, mcp-ai-wpoos-wporg-submission gains the Live Preview blueprints section, and the nvoos-operations + mcp-gateway addon skills are updated.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.1.99 across all version-bearing files. Pro addon: 1.1.99. Toolkit Shell: 0.2.0 โ†’ 0.3.0; Schedule Anything SPA: 0.1.0 โ†’ 0.2.0. MCP Gateway: 0.1.1 (unchanged โ€” the window's five gateway PRs ride the shipped line; addons/mcp-gateway/CHANGELOG.md gains an Unreleased section). Media Worker: 3.4.0 (unchanged โ€” #6941 defers the bump to the release process). Docs Hub addon: 0.5.1 (unchanged). Fleet Operator: 1.0.0 (unchanged). Media Studio: 0.6.1 (unchanged). SaaS Controller: 0.3.0 (unchanged). Design System addon: 0.3.0 (unchanged). ChatGPT Plugin addon: 0.1.0 (unchanged). nvoos-content-graph: 1.0.8 (unchanged). nvoos-content-graph-ai: 1.0.4 (unchanged). nvoos-content-graph-ai-platform: 2.0.0 (unchanged). nvoos-content-graph-pro: 1.0.0 (unchanged โ€” #6938's mirror verified byte-identical). Checkout API: 0.1.2 (unchanged). Comic Reader addon: 0.5.0 (unchanged). Chat SPA: 0.7.0 + Canvas Toolkit: 0.2.0 (unchanged). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff). Tool count: ~352 base + ~1,313 Pro (~1,665 total โ€” unchanged) โ€” zero registry-map diff in-window (live registry authoritative). Provider count: 18 (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 63 (unchanged). Stale build ZIPs removed: the 1.1.97 oOS set (6 root files โ€” 3 ZIPs + 3 .sha256) + the superseded nvoos-toolkit-shell-v0.2.0.zip (the v0.3.0 ZIP built by the build-spa-addons run and committed to alpha-working post-branch-cut).

v1.1.98 โ€” October 6, 2026

Figma-to-Elementor Pipeline, Unified Blueprints Fixes & the Dependabot Sweep

  • ๐ŸŽจ Figma-to-Elementor design-to-build pipeline (PR #6934, Proposals 057โ€“059 โ€” docs + skill, no PHP). The 7-stage agentic pipeline (Scope โ†’ Read โ†’ Plan โ†’ Tokenize โ†’ Build โ†’ Verify โ†’ Handoff) rides the shipped MCP Apps / OAuth / A2A / per-toolkit MCP server machinery โ€” Figma MCP on the read side, Elementor MCP on the write side, single-assistant and split topologies โ€” with the normative stage rules (get_design_context first, tokenize-before-build, drafts only, never publish, Figma read-only), a build-manifest contract + JSON Schema (reference/build-manifest.schema.json), and the design-file contract. The new bundled skill design-figma-to-elementor (Zed + includes/bundled-skills/ mirrors, byte-identical) and the user guide ship with it โ€” coding-time skills 62 โ†’ 63, base bundled 75 โ†’ 76. Proposal 058 (transactional DTCG token import) is the user-facing follow-up; Proposal 057 (SPA toolkit design-file system) is parked by decision as reference; Phase 3 (end-to-end demo + Verify seed test) is deferred on live endpoints (Figma account + Elementor 4.3+ site).

  • ๐Ÿงฉ Unified Blueprints fixed (PR #6933). (1) The blueprint library was stripped from release builds โ€” the unanchored examples/ (.gitattributes) / examples (.distignore) exclusions matched every directory named examples, removing all 65 toolkit blueprint JSONs + the per-toolkit import tools from git archive/release ZIPs; both rules are now root-anchored (/examples, /assets/examples). (2) The page listed every toolkit on disk, contradicting its own empty state and the import tools' is_available() gates โ€” a new $toolkit_enable_keys map mirrors each import tool's gate, get_all_blueprints_grouped() skips disabled toolkits, both AJAX handlers (install, get_details) reject disabled toolkits, and cards fall back to post_title for Healthcare-style JSONs.

  • ๐Ÿ”ง Gateway sync dispatch + changelog (PR #6927). The #6925 merge push produced zero workflow runs (the squashed message absorbed a CI-suppression marker), leaving nvoos-mcp-gateway:main on 0.1.0 โ€” sync-mcp-gateway.yml gains a workflow_dispatch trigger and a version guard (syncs skip when the incoming package.json is older than the mirror tip, so out-of-order runs can never roll the public mirror backwards); addons/mcp-gateway/CHANGELOG.md now tracks 0.1.0 โ†’ 0.1.1.

  • ๐Ÿ”’ Dependabot sweep (PR #6931) โ€” 138 of 166 open npm alerts resolved. Bounded in-major bumps across 17 trees: axios โ‰ฅ1.20.0 <2 (51), brace-expansion@^1 โ‰ฅ1.1.21 <2 (41), source-map-js โ‰ฅ1.2.2 <2 (16), dompurify (8), proxy-addr โ‰ฅ2.0.8 <3 (4), compression โ‰ฅ1.8.2 <2 (3), joi (3), katex ^0.18.2 (3), moment โ‰ฅ2.31.0 <3 (3), simple-git โ‰ฅ4.0.1 <5 + @simple-git/argv-parser โ‰ฅ2.0.1 <3 (4), basic-ftp โ‰ฅ6.2.1 <7 (1), postcss-selector-parser@^7 โ‰ฅ7.1.6 <8, webpack-dev-middleware โ‰ฅ7.4.6 <8 โ€” with npm-pack evidence for every cross-version move. 28 deferred in issue #6930; the dashboard is dismissed (138 fix_started + 28 tolerable_risk โ†’ 0 open alerts; main clears once alpha-working merges).

  • ๐Ÿ“ Docs (PRs #6929, #6932). PR-hygiene + sync-recovery lessons land in the mcp-ai-wpoos-updates skill (fresh origin/alpha-working cuts, PRs against alpha-working, no CI-skip markers in commit messages โ€” with recovery steps) + the gateway deployment guide ยง7; the design-ai-assistant-admin skill gains the NV oOS agent-enablement detection section (Zed sessions) with the mcp-ai-wpoos-plugin cross-reference.

  • ๐Ÿ›ก Memory-leak & unbounded-growth hardening (PR #6937) โ€” 29 verified findings fixed (audit plan: docs/project/plans/memory-leak-hardening-plan.md; conventions: docs/features/performance/RESOURCE-MANAGEMENT.md). Media worker: queue retries carry their attempt count so persistently failing jobs emit failed instead of retrying forever (regression-tested), the Puppeteer slot is held until the browser disconnects, SMTP transports are memoized + closed on shutdown, uploads are unlinked on every /api/video/process path, the crawl4ai store is capped at 200, graceful shutdown disconnects Redis/SMTP + stops queue loops, the ffmpeg service gains a kill timeout, the Dockerfile gains NODE_OPTIONS heap cap + OOM snapshots, and /api/health exposes process.memoryUsage(). Browser JS: chat.js stream teardown, self-clearing quota interval, single Escape handler; cron-status-service cleanup; chat-spa job map capped. Base PHP: keyset-paginated transcript rebuild + chunked provenance verification, semantic cache rewritten to per-hash TTL transients (generation counter + FIFO registry), tool-load monitor consolidated with legacy migration, chat-response-cache registry + daily cron, LIMITs on harness-evolver/token-tracking/dashboard scans, Redis pconnect(). Pro PHP: bounded contacts/orders/vitals/execution-history queries, new 365d/90d retention crons, wp_next_scheduled/as_has_scheduled_action dedupe guards (report scheduling, Gmail Pub/Sub, compression sweep), health reminders non-autoloaded, OCR page cap. DLQ/SLA review: SLA Manager + queue-health snapshots verified bounded; the job-notifier cleanup that was wiping all fresh job-status transients hourly is fixed (canonical paired timeout-row delete) and the webhook registry prunes after 30 days. Follow-ups closed: webhook-dispatch dedupe (transient coalescing gate), DLQ retry_history ring-buffer + max-retry gate, async-queue stale-job reaper, and the two latent nonexistent-method calls replaced with the real WP_MCP_AI_Dead_Letter_Queue::add() / WP_MCP_AI_Job_Notifier::handle_job_completed() APIs.

  • ๐Ÿ“ฆ Versioning โ€” bumped to 1.1.98 across all version-bearing files. Pro addon: 1.1.98. MCP Gateway: 0.1.1 (unchanged). nvoos-mcp-bridge: 0.1.0-alpha.3 (unchanged). Media Worker: 3.4.0 (unchanged). Media Studio: 0.6.1 (unchanged). SaaS Controller: 0.3.0 (unchanged). Design System addon: 0.3.0 (unchanged). ChatGPT Plugin addon: 0.1.0 (unchanged). Fleet Operator: 1.0.0 (unchanged). nvoos-content-graph: 1.0.8 (unchanged). nvoos-content-graph-ai: 1.0.4 (unchanged). nvoos-content-graph-ai-platform: 2.0.0 (unchanged). nvoos-content-graph-pro: 1.0.0 (unchanged โ€” zero plugins/ diff in-window). Checkout API: 0.1.2 (unchanged). Docs Hub addon: 0.5.1 (unchanged). Comic Reader addon: 0.5.0 (unchanged). Model catalog: v2026.10.03 (unchanged โ€” zero catalog diff in-window). Tool count: ~352 base + ~1,313 Pro (~1,665 total โ€” unchanged) โ€” zero registry-map diff in-window (live registry authoritative). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (75 โ†’ 76 โ€” design-figma-to-elementor, #6934). Coding-time agent skills: 63 (62 โ†’ 63 โ€” the same skill; the repo-map fold-in lands here). Stale build ZIPs removed: the 1.1.96 oOS set (9 root + 2 optional-components + 19 toolkit-addons = 30 files). Post-window PR #6937 (memory-leak hardening): zero count changes.

๐Ÿ“‹ Previous Releases

Version

Date

Highlights

v1.1.97

Oct 2026

ECC-inspired agent-harness enhancements (Proposal 056: cascade routing on both engines, run_assistant_eval + scan_assistant_security +1 base each, hook profiles, session distiller, suggest_workflows_from_history +1 Pro); OOS parity gaps closed (35 โ†’ 38 features, parity-check CI); MCP Gateway protocol negotiation; 23-package public npm publish wave

v1.1.96

Oct 2026

nvoos-mcp-bridge npx package (Proposals 054/055) + Fleet Operator config generators; MCP Gateway addon 0.1.0 (public fleet MCP endpoint, inventory #31); per-request memory cut + bootstrap hardening (lazy tool registry, catalog-migration short-circuit, Pro option autoload fixes, 42 vs 74 MB A/B); media-worker runtime version strings fixed

v1.1.95

Oct 2026

Real image processing for the four placeholder tools (worker 3.3.0 โ†’ 3.4.0, Sharp + provider edit traits); nine-toolkit hardening wave (unguarded shell calls, nonexistent Gemini method, directory traversal closed); toolkit labels for list_mcp_tools; inter-step SSE keepalives; new mcp-ai-wpoos-toolkit-audit skill

v1.1.94

Oct 2026

ChatGPT Plugin addon + OAuth 2.1 resource-server (Proposal 053, nvoos_get_profile +1 base, addon #30); Decision-Scope Guard (Proposal 052 + ScopeDeclared sniff); toolkit MCP grant runtime enforcement + OOS chat parity; FlowHub MCP OAuth login proxy; safe-mode REST error masking (correlation ref); Site Health fatal/false-positive fixes + Docker hardening; markdown-it bounded-floor bump

v1.1.93

Oct 2026

Media worker fleet status monitoring (worker 3.2.0 โ†’ 3.3.0, +2 base get_fleet_status/get_site_uptime); WP-CLI parity & hardening (Proposal 050); FlowHub MCP Apps surfacing; Financial Planner OpenStock parity (Proposal 051, +3 Pro); October 2026 model catalog (v2026.10.03, 18 providers โ€” Z.AI joins); schedule/Media Studio 0.6.1/validators fixes; undici advisory

v1.1.92

Oct 2026

Media Studio AI fashion production suite (addon 0.1.0 โ†’ 0.6.0, 8 Pro fashion_* tools); inline vision data URLs (base64 via the WP server, 2048px cap); provider content + credential edge-case fixes (WP_MCP_AI_Tool_Research_Content_Normalization); Pro coverage-manifest regeneration

v1.1.91

Oct 2026

FlowHub Connection MCP mode (#6836); MCP App OAuth discovery chain (RFC 8414 โ†’ RFC 9728 โ†’ 401 probe โ†’ OIDC โ†’ REST, #6835); OAuth redirect allowlists for LinkedIn/QuickBooks/Mailjet/Yahoo (#6831/#6832); JSON envelope DB-error protection (WP_MCP_AI_Db_Output_Guard, #6827); security-events display + orchestration double-render fixes (#6829/#6830); RF-DETR presets + coverage manifest (#6828); nodemailer/fast-uri advisories (#6833/#6834); RF-DETR CG Pro port (#6825)

v1.1.90

Sep 2026

RF-DETR vision cognition (Proposal 049, 2 Pro tools + the roboflow provider inside analyze_image_objects); Upwork MCP-mode MCP Apps references; memory identity resolution + cross-agent access closure (manage_options gate โ€” the IDOR closed); strict MCP assistant-scope toggle; letterhead personalization; js-yaml/webpack-dev-middleware advisories

v1.1.89

Sep 2026

Google Classroom ECA integration (Proposal 046 โ€” shared includes/google/ Classroom foundation, 12 flag-gated Pro tools, google-classroom/webhook route); Design System rename 0.1.0 โ†’ 0.3.0 + token-driven email templates (Proposals 047/048, 8 addon-provided nds_* tools); Upwork MCP connection mode; vision/remote/EZuite reliability fixes + per-provider migration-map rewrite; MCP legacy-dialect handshake cache; CodeQL closure (0 open alerts) + ip-address/undici/multer advisories

v1.1.88

Sep 2026

Decision-model orchestration Phase A (TypeSafe Jev โ†’ router, Proposal 045); MCP Apps OAuth + credential hardening (Upwork loopback fallback, AES-256 at-rest encryption of inline MCP App/Remote Sites secrets); toolkit MCP servers deny-by-default on assistant grants; strict-gateway 400/SSE transport fallbacks; Upwork job-link canonical round-trip; PayHere/Flowhub guarded requires; SaaS Controller 0.1.0 โ†’ 0.3.0 (worker secrets + D1 schema in Plan/Apply) + gateway express bump

v1.1.87

Sep 2026

mcp-wordpress parity suite (30 native base tools); non-LLM image identification ladder (Proposal 043, 5 base + 2 Pro tools); outbound appointment booking toolkit (Proposal 044, 3 Pro tools); mcp-wordpress gateway addon (addon count 27 โ†’ 28); per-session budget warnings + restriction-notice fix; Upwork search + in-place workflow editing

v1.1.86

Sep 2026

MCP Apps Remote Sites connection type (encrypted central credentials, JSON-RPC Test/Discover, connection_ref reference mode); Higgsfield video/image provider quartet (+4 base tools, Proposal 042); get_system_logs filters (since/levels/search); action-items delivery template + smart excerpts; tool-cost labels in final responses; environment-status warning fix; new design-elementor-mcp-connection skill

v1.1.85

Sep 2026

MCP Apps connection + exposure wave (per-row diagnostics, token masking, negotiated protocol header, bridge tools on every chat surface, in-process same-site bridge); Docs Hub 0.5.1; README consolidation (single 12-entry Release History + Previous Releases table, anchor-validator CI)

v1.1.84

Sep 2026

TypeSafe Jev enhancement wave (Phase 0 API fidelity โ€” noul criteria, structured EntryType fields, bounded retries honouring retry-after, advisory decision cache, jev-preview alias; Phase 1 base typesafe_guardrail; Phase 2 Pro Jev integrations + typesafe_rerank/typesafe_eval/typesafe_skill_select; typesafe_decide capability alignment; Proposal 040)

v1.1.83

Sep 2026

Tool guidance everywhere (~1,487 tools, the severity-5 guidance sniff); TypeSafe Jev decision provider + Pro classifier (typesafe_decide, +1 base); the Assistant Builder meta-assistant; P3 ID-handoff data contracts; usage-monitor save fix; webchat SQL + guidance close-out; Pro bootstrap guard + Telegram chunking; Upwork & workflow delivery polish; canonical-envelope migrations

v1.1.82

Sep 2026

WordPress Playground demos (Project Asteria + NV oOS Complete ร— Ollama blueprints); Pro SPA cron_monitor flag + model-store seeding; token-tracking table hardening (CG AI port); result-delivery dedupe + metadata redaction; [ollama_status] banner fix; portability coverage guards; mcp-ai-wpoos-playground-demos skill (#59) + updates Track C; Docs Hub 0.4.7

v1.1.81

Sep 2026

Shopify UCP mode-aware tools + image cards; FlowHub connection resolution + proxy; JobNavigator CRM + Gmail poller (5 tools); OpenTerminal Financial toolkit (8 tools); multi-recipient result-delivery email

v1.1.80

Sep 2026

Assistant export/import everywhere (WP-CLI, REST, admin page, tools; credential hashes never exported); Security Center Usage Monitor sub-tab; Shopify UCP catalog modes replace the deprecated REST API; WP-CLI repairs + native chat --stream; WhatsApp webhook self-tests; new design-brand-assistant-provisioning + mcp-ai-wpoos-assistant-portability skills

v1.1.79

Sep 2026

Imaging symlink-deletion hardening (isLink()-first removal + realpath() containment, byte-identical CG Pro port); Content Graph 1.0.8 Stripe Checkout fixes (billing address + already-licensed gate); Checkout API 0.1.2 license emails + statement descriptor; Docs Hub 0.4.6 wp.org re-upload ready (0 blocking PCP errors); toolkit slash-test repair

v1.1.78

Sep 2026

Slash commands as declarative tool wrappers (~10,400 โ†’ ~1,000 lines, 36 commands mapped to real slugs, slash.* MCP prompts); DeepSeek V4 Pro restored to active ($0.66/$1.98 off-peak) with Content Graph AI mirror catching up; checkout hardening (mtime asset cache-busting, modal price sync, DEFAULT_PRICE_CENTS 3499); Docs Hub 0.4.4 (0 blocking PCP errors); legal consolidation (two-entity seller model); Content Graph 1.0.7 released

v1.1.77

Sep 2026

DeepSeek V4.1 Flash refresh (deepseek-flash + peak/off-peak cost calculator); knowledge-graph companion onboarding preset; base+pro regression matrix + toolkit gating fix; Pro WP-CLI load-order guard; agent-memory CCT phantom-slug fix; npm bumps; build publish-race fix; Checkout API 0.1.1 + Content Graph 1.0.7 launch; Wave G port clusters complete

v1.1.76

Sep 2026

Chat delivery full-report + per-channel formats (Telegram HTML/MarkdownV2 escaping, WhatsApp/Slack/Discord/Teams Markdown, Messenger/Google Chat plain); comic-creation toolkit toggle; NV oOS Complete checkout consent + buyer email + EU billing + Stripe metadata; manual-install primary + legal docs (privacy/AUP/ToS/compliance); playbook-seeder idempotency; security sweeps (tiptap/multer/csv-parse/react-router-dom/svgo/hono/vitest); Docs-Hub ZIP markdown exclusion; Wave F2 port clusters complete

v1.1.75

Sep 2026

Telegram delivery fixes (credential normalization + tier-4 Remote Sites fallback); Content Graph memory bridge (write/read graph projection) + NV oOS Complete checkout (conflict-guarded, chunked); Wave F2 financial-planning/social-media/MCP-server/slice-batch ports; nvoos-content-graph 1.0.4 โ†’ 1.0.6

v1.1.74

Sep 2026

Google Calendar query encoding fix (raw + in RFC3339 offsets โ†’ rawurlencode()); Result Delivery email formats (Markdown converter + html/markdown/both); Schedule Manager assistant-prompt editing; Wave F2 PM + calendar-booking toolkit ports; MCP-abilities test-infra fix

v1.1.73

Sep 2026

Woo tool upgrades (bulk_update_products variable scope, update_woo_product_qty notify flag); async job-queue table bootstrap fix; Comic Reader 0.5.0 (Komga parity); Docs Hub 0.4.3; Wave F2 + new nvoos-content-graph-pro v1.0.0

v1.1.72

Sep 2026

Woo price/qty tools (update_woo_product_price/update_woo_product_qty) on a shared updater trait; scheduled EZuite/FlowHub sync connection-ID fix; Pro update vendor-integrity check; gpt-image-2 defaults; ecosystem port Waves D8/E6 + platform Waves E1โ€“E5 + E-UI 1โ€“3

v1.1.71

Sep 2026

REST rate-limit fixed-window rework + Restrictions-tab unlock; MemPalace wing-scope enforcement; September model catalog (217 โ†’ 228 models); Content Graph 1.0.4 visual experience; platform E2 queue layer; new mcp-ai-wpoos-updates skill

v1.1.70

Sep 2026

exec-disabled host shell-call hardening; fifth PHPUnit repair wave (~29 test PRs) with production fixes across transcripts, charts, presets, mesh, memory, REST, and K16

v1.1.69

Sep 2026

Vision Analysis toolkit (Pro); tagDiv admin compat + metabox crash fix; DeepSeek empty-schema 400 fix; ZipSlip guard revival; fourth PHPUnit repair wave

v1.1.68

Sep 2026

Pro SPA v2 shortcode + embedded mode; Hermes fleet extensions (extensions/); chat-bubble stale-nonce self-heal; Docs Hub 0.4.2; providers disabled by default on fresh installs; third PHPUnit repair wave

v1.1.67

Sep 2026

Content Graph Platform extraction v2.0.0 standalone; ecosystem port Wave D + D-UI (Content Graph AI 1.0.4); Google Workspace Gmail/Drive read tools (6 new); ~100-PR PHPUnit repair wave

v1.1.66

Aug 2026

~100-PR PHPUnit suite repair campaign + new mcp-ai-wpoos-test-suite skill; Checkout API addon v0.1.0 + Content Graph paid checkout; Content Graph AI 1.0.3

v1.1.65

Aug 2026

OpenAI reasoning-model parameter fix; Media Worker full-Crawl4AI proxy; security-posture findings closed (#5972); chat/REST/transcript hardening; Content Graph wp.org refresh

v1.1.64

Aug 2026

Google Calendar connection + shared includes/google/ foundation (6 new tools); Composio account health + hardening; tool-declared non-loggable result fields; log-hygiene compaction + secret redaction

v1.1.63

Aug 2026

Artifact Evolution Phases Aโ€“G (gated Darwinian self-improvement loop); Pro Addons install page; chat storage worker offload; test-suite exit-trap sweep (bin/sweep-tests.php)

v1.1.62

Aug 2026

OKF Bundle Management Phases Aโ€“H (10-tool surface + Bundle Manager screen); Pro OKF skills drawer; vector-store tools migrated to the OpenAI Responses API

v1.1.61

Aug 2026

Agent identity bridging in memory store/recall; OKF skill-knowledge bundle generator; undici ^7.29.0 jsdom pin; Content Graph wp.org review reply

v1.1.60

Aug 2026

Restricted-user flagging + unblocking (Restriction Registry, Restrictions tab, WP-CLI); conversation import to transcript CCT; tool schema normalization

v1.1.59

Aug 2026

Media Worker crawling + Crawl4AI facade (v3.2.0); research tools multi-provider hardening; Docs Hub 0.4.1 rebuild + broken-link fixes; ~32 orphaned tools re-registered

v1.1.58

Aug 2026

Composio Connect subsystem (6 beta tools); OOS runtime consolidation Phases 0โ€“5.8; standalone plugins renamed to Content Graph

v1.1.57

Aug 2026

Plugin updater base-only in-place install rework; Hermes async chat submit/poll; Fleet Operator agent context; provider detection via Credential_Resolver

v1.1.56

Aug 2026

Media Worker v3.0.0 multi-tenant shared-worker mode + per-site provider keys; worker routing expansion; Hermes WebUI MCP server + SSH bridge + skill sync

v1.1.55

Aug 2026

MCP agent compatibility (HTTP 200 error envelopes, legacy HTTP+SSE transport, settings-driven tool rate limiter); Fleet Operator addon; Media Worker v2.2.0 hardening; DB connection pooling (Proposal 023)

v1.1.54

Aug 2026

MCP async tool-response fix; updater integrity check v2; API-key merged-settings fix across 20 research tools; design-skills audit (44 coding-time skills); README TOC anchor fixes

v1.1.53

Aug 2026

Shared Analytics Service (7 platform adapters, DTOs, caching, rate limiter); circuit-breaker + backpressure hardening on all 15 providers; agent-skills sync; SSE backoff fixes

v1.1.52

Aug 2026

Paper Store remote-site support + REST controller; remote-connection CPT auto-discovery; design-system tool preset (72 tools); post-install integrity check

v1.1.51

Aug 2026

Orchestration/harness gap remediation (OWASP LLM Top 10 20% โ†’ 60%, EU AI Act 17% โ†’ 67%); MCP protocol version negotiation; Media Worker dependency security bumps

v1.1.50

Aug 2026

Media Worker sidecar addon (Docker Node.js, 11 service handlers, queue module); Site Health redeclaration fix; npm security fixes; BMAD agent conventions

v1.1.49

Aug 2026

Gemini model-resolution fix; update reactivation + release-ZIP cleanup

v1.1.48

Aug 2026

Shopify Sync toolkit 7 fixes; PHPCS 3.13.6 (CVE-2026-67434); default skill catalogues; 3 Graphify standalone plugin ZIPs

v1.1.47

Aug 2026

MySQL connection exhaustion fix (Cloudways cron overhaul); update-checker cache-bust; Mermaid CVE fixes in canvas-toolkit

v1.1.46

Aug 2026

Backup & Restore (Proposal 020, 11 export providers); GitHub-based plugin updater; Abilities API (Proposal 019); status-page fixes; PHPCS cleanup

v1.1.44

Aug 2026

CCT stability (4 fixes: mutex lock, FlowHub duplicate, base-plugin fatal w/out lib/core, Veo async context), API key resolution (Gemini video + Veo fallback), Proposal 016 security & architecture hardening (all waves, 277 autoload optimizations, phpcs sweep), Proposal 017 polling/queue/load-balancing hardening (12 weaknesses), Deferred security items #5755 (post meta, term escaping, REST field filtering), npm security (undici >=8.10.0, fast-uri >=3.1.4, ip-address >=10.4.0 across 11 pkg), Docs: FOR_REVIEWERS v1.1.43 update, 16 broken links fixed, Graphify ecosystem audit

v1.1.43

Aug 2026

MCP 2026-07-28 stateless core upgrade, Security v1.1.43 hardening (SSRF/CSRF/SQL/XSS/info-disclosure across 16 files), OKF v0.2 trust-signal support, ICP System (Pro CRM Phase G, 7-dimension scoring), Pro Module Registry (PSR-4, 625-line monolithic init decomposed), Hexagonal architecture purity (PlatformFlushInterface), 7 playbook/profession sync fixes, Phase 3 operational security hardening, WPCS 3.4.1 (CVE-2026-45293)

v1.1.42

Jul 2026

Security Infrastructure (7 classes, 21 posture signals A-F), Framework-Agnostic Core (lib/core/, 32 contracts, 21 adapters), Status Page & Incident Communication (Pro), 21 Agent Skills + 6 BMAD Agents, Algorave addon (9 tools), Security Hardening (12 fixes, 13 unit tests)

v1.1.41

Jul 2026

OKF v0.1 integration (6 tools); security compliance (11 HIGH/P0 fixes); playbook sync fixes; model credential resolution; dependency security bumps

v1.1.40

Jul 2026

Content format awareness helper; research โ†’ Paper Store โ†’ draft pipeline; settings credential split; July model catalog; SSE HTTP/2 fixes

v1.1.39

Jul 2026

Meta-Harness auto-optimization (7 phases); agent delegation rework; Pro SPA v2 polish (20+ PRs); tool presets refactor; Veo 2.0 โ†’ Gemini Omni Flash

v1.1.38

Jul 2026

Page Agent addon v0.1.0 (AI browser page control copilot), Pro SPA v2 major parity & polish (voice pipeline, tasks drawer, workflow tracker, file attachments, tool shortcuts, slash commands, mobile hamburger, autoscroll/viewport fixes, cache-busting, assistant preloading), Per-user chat memory toggle, create_post/save_post Markdown-to-HTML + taxonomy suggestions, Workflow blueprint existing-content awareness, SPA accessibility: annotation pills, ZAP medium findings triaged

v1.1.37

Jul 2026

JetEngine Meta Helper universal (25 CPTs, REST, ECA fields), Places enrichment tools, RabbitMQ + queue infrastructure (custom DB tables, health endpoint, worker), Multi-tenant DB isolation Phase 0โ€“4, DSpark admin UI + speculative orchestration, Crocoblock Design System addon (5 phases), Test coverage: 329 tools across 28 toolkits, Docs Hub broken link engine, OWASP ZAP DAST, 30+ bug fixes

v1.1.36

Jul 2026

EZuite Inventory Sync Pro Toolkit, Ralph Loop CCT migration + circuit breaker, JetBooking/JetAppointment (8 tools), Moonshot/Z.AI provider parity (15 total), Unified Sync Log Manager, Tool Presets Auto-Select + Chips Bar, HTTrack Cache + Place-to-Service Bridge, Generate Default Mapping + read-only sync, 45+ bug fixes

v1.1.35

Jun 2026

FlowHub Inventory Sync Pro Toolkit (6 tools), Shopify Sync Pro Toolkit (5 tools), Necessity Gate Layer J (irreversibility-weighted safety), Local Voice Embedded STT (3 backends, offline-first), Remote Site Administrator blueprint (22 tools), Places & Calendar bulk import, CLI site-import subcommand, voice realtime auto-detect, 7 bug fixes

v1.1.34

Jun 2026

GPT-Realtime-2 voice models with WebRTC + Translate/Whisper + reasoning, multi-channel result delivery UI (11 channels, up from 4), pro scheduler AI/workflow delivery, Graphify ecosystem: remote drivers, WP 7.0 Connectors, wp.org compliance, 3 reasoning-tool fatal bugs fixed, CRM deal import + multi-source auto-import, Upwork/LinkedIn mode toggle, Docs Hub REST + settings sync fixes, http-proxy-middleware CVE, Gemini cache fix, GPT image routing fix, FastAPI porting plan

v1.1.33

Jun 2026

WP 7.0 Connectors credential integration across all 17 AI clients with source badges, nvoos-graphify v1.0.0 release (Plugin Check compliant), 3 guzzlehttp CVEs + undici override, 29 npm alerts across 14 packages, 2 bug fixes (Pro tool paths, JSON-RPC warning leak), 15 dependabot bumps

v1.1.32

Jun 2026

Content Format Templates + Featured Image Service (3-provider fallback), Result Delivery Pipeline (8 channels), ECA document generation, duplicate posts fix, 6 provider clients timeout fix, schedule trigger stability, Paper Store delete fix, ECA settings/attachment fix, npm CI & Jest resilience, 14 dependabot bumps + 8 npm audit CVEs

v1.1.31

Jun 2026

Media Command Center, Pro SPA v2 (rich rendering, assistant scoping, agent selector, v2.0.1), 34 workflow preset tools, npm audit CVEs (12 resolved), Gemini 3.1 flash image default, Media toolkit blueprints & presets, stream_options, agentic-loop cost tracking, Vite CVEs, 1,658 PHPCS lint fixes, CI disk space, data integrity fixes

v1.1.30

Jun 2026

Chat SPA Phase 8, PM Toolkit Aโ€“D, CRM duplicates/hygiene/analytics, DietPi Pro Toolkit, LibreChat Addon, Layer I Guardrails, Context Window Management, WP 7.0 Bridge, Pro Toolkit Optimizations, OAuth disconnect, 30+ fixes

v1.1.29

Jun 2026

Bug-fix & stabilisation sweep: chat bubble assistant dropdown, context-window pre-flight validation (13 providers), OpenAI SSE stream_options fix, schedule-preset + playbook-orphan fixes, CRM activity/due-date fixes

v1.1.28

Jun 2026

CRM Phase C complete (IMAP, SMS, WhatsApp ingestion), Customer CPT + 360 dashboard, Support Ticket module (10 AI tools + SLA), QKV Attention Routing, Funiq Bridge addon, NVOOS Graphify ecosystem (3 standalone plugins), NV Platform AI addon, automated demo video pipeline, TF-IDF + BM25 relevance search

v1.1.27

Jun 2026

Real-time SSE streaming for all OpenAI-compatible providers, 35 new OOS core tools migrated, JFB submission tools โ€” 8 fixes, Extended Cognition vision recognition, DeepSeek agentic tool handling, 9 HIGH-severity security findings fixed, 95% PHPUnit failures resolved

v1.1.26

Jun 2026

Cross-Platform Extraction Engine Phases 0โ€“2, Site-Builder Node-Graph Pipeline, SPA a11y hardening (WCAG 2.1 AA), 108 admin screenshots, docs reorganized into 12 directories

v1.1.25

May 2026

Unified Blueprint System (55 blueprints across 25 toolkits), Cloudways Pro Toolkit (60 tools), CRM Toolkit Phases Aโ€“E (70+ tools), Chat UI 7-feature enhancement, Unix-theory Phase 4โ€“5

v1.1.24

May 2026

Chat SPA fixes, Unix Theory P0/P1 refinement, CVE patches (tmp, symfony/cache), Paper Store admin CRUD, folder README convention

v1.1.23

May 2026

Zed-inspired SPA architecture, Antigravity Interactions API rewrite, TypeScript upgrade, Comic Reader & Media Studio v0.3.0

v1.1.22

May 2026

Baseten provider (11th), CoSAI secure-by-design agentic system, Continual Harness P5, SaaS Controller P2/P4, npm VAD/Chat-Bubble/Memory-UI packages

v1.1.21

May 2026

WP.org compliance complete (50/50 findings), canonical return envelope enforced, semantic compression, AI prompt caching layer

v1.1.20

May 2026

Memory Layer 2026 Phase 7 โ€” chat memory drawer UI complete

v1.1.19

May 2026

Kimi provider (10th), ACP Server, MCP Bridge, Unix Theory P7, 9 HIGH security findings fixed, chat bubble sweep

v1.1.18

May 2026

Unix Theory P0โ€“P6, DigitalOcean Serverless Inference (9th provider), async chat continuation, jobs/tasks drawer, Toolkit MCP Servers Phase 7

v1.1.17

May 2026

WP.org compliance (42/50), Chat SPA Phases 1โ€“7, Docs Hub v0.3.8, coverage campaign

v1.1.16

May 2026

SaaS Controller Addon v0.1.0, structured logging integration, WP.org compliance hardening (B3, B8, B10, B13)

v1.1.15

May 2026

OpenRouter + DeepSeek providers (7th & 8th), Orchestration Phases 1โ€“7, LLM Harnessing GA, Memory Bridge G-series, Graphify data-source bridge

v1.1.14

May 2026

Agent Skills v2 (45 skills), Markup Subsystem (Base), MemPalace Capture Framework, Graphify CPT/CCT suite

v1.1.13

May 2026

OpenAI Images 2.0 (gpt-image-2), durable agent-memory bridge Phase 4a/4b, AI Harmonization toolkit, production Composer autoloader

v1.1.12

Apr 2026

Architectural Design Toolkit Phases Aโ€“E, Graphify Federation/RAG, Tier 4 Browser-AI Runtime (Transformers.js v3.8.1), security patches

v1.1.11

Apr 2026

WP.org compliance hardening

v1.1.10

Apr 2026

Security audit summary (0 Critical, 5 High), production vendor autoload, Veo 3.1 fix

v1.1.9

Apr 2026

Measurement Subsystem GA, PHPUnit 11 upgrade, Graphify v0.5.0 restored, orchestration reference

v1.1.8

Apr 2026

Erlang C workforce tools, full tool-reference audit, WP.org compliance re-audit, MCP Apps per-assistant remote connections, CRE Debt toolkit (57 tools), 36 Pro professions + 17 teams, A2A protocol, Agent Command Center, floating chat bubble, JetEngine 3.8 MCP Server bridge, Anthropic/Gemini subscription tier support


๐Ÿš€ Features

Note: Some features require third-party plugins (WooCommerce, JetEngine, Elementor, etc.). See ๐Ÿ”Œ What You Lose Without Third-Party Plugins for details.

Assistant & conversation tools

  • ๐Ÿง  Create AI Assistants via a custom post type (mcp_ai_assistant)

  • ๐Ÿ‘” Professional & Team Templates - Deploy assistants from ~311 pre-built profession templates spanning 12 industry categories, or create entire teams of specialists with one click. Includes backend testing for professions, teams, and assistants before public deployment.

  • ๐Ÿš€ Getting Started Wizard - Guided 4-step onboarding (/wp-admin/admin.php?page=wp-mcp-ai-getting-started) that walks new users through provider setup and use-case selection. Selecting a preset (Content Creator, Customer Support, E-commerce, SEO & Research, Developer Copilot, Media & Creative Studio, Site Administrator, or General Purpose) seeds a fully-configured assistant with tools, system prompt, and tuned temperature โ€” ready to use immediately.ใ€F:includes/admin/class-wp-mcp-ai-onboarding-wizard.phpโ€ L1-L53ใ€‘ใ€F:assets/js/onboarding-wizard.jsโ€ L1-L303ใ€‘

  • ๐Ÿ”„ Automatic synchronization to JetEngine Custom Content Types when available (CPT โ†’ CCT)

  • ๐Ÿ’ฌ Chat interface via [mcp_ai_chat assistant="ID"]

  • ๐Ÿงฐ Per-assistant defaults for model, temperature, system prompt, and knowledge attachments with permission-aware download URLs

  • โšก Build reusable prompt shortcuts with optional tool targeting and inline descriptions so operators can trigger common tasks with one click.ใ€F:includes/assistants/class-wp-mcp-ai-assistant-cpt.phpโ€ L893-L1048ใ€‘ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L430-L693ใ€‘ใ€F:assets/js/chat.jsโ€ L600-L666ใ€‘

  • ๐ŸงŠ Elementor widgets for embedding chat surfaces, onboarding content, and MCP dashboards inside Elementor

Language routing & knowledge management

  • ๐Ÿ” Route conversations through OpenAI or Gemini using a provider-aware language model router

  • ๐ŸŽฏ Enhanced Gemini API integration: list models dynamically, count tokens for budget management, create embeddings for RAG/semantic search, and streaming support for real-time responsesใ€F:docs/reference/api/gemini/gemini-api-enhancements.mdโ€ L1-L100ใ€‘

  • ๐Ÿง  Assistant knowledge base management with Media Library files and optional vector store IDs

  • ๐Ÿ“š OKF (Open Knowledge Format v0.1) engine with 6 MCP tools for curated, deterministic knowledge with cross-link navigation โ€” complementary to vector/RAG stores

  • ๐Ÿ”Ž Perform lightweight web searches (DuckDuckGo or Brave) without leaving the assistant conversation

  • ๐ŸŒ Crawl4AI job runner tool for large-scale content gathering workflows

Media generation & transcription

  • ๐Ÿ”Š Generate speech audio via OpenAI's Text-to-Speech API and save the result to the Media Library

  • ๐ŸŽต Generate instrumental music using Google Gemini Lyria with controls for genre, mood, tempo, and instrumentation

  • ๐ŸŽจ Generate on-brand imagery with OpenAI's Images API, honouring the configured response format (including GPT-Image-1's url responses) and storing the files as WordPress attachments

  • ๐Ÿ–ผ๏ธ Generate images with Cloudflare Workers AI using Stable Diffusion, Flux-2 Dev, Leonardo AI (Lucid Origin, Phoenix 1.0), and other text-to-image models with configurable dimensions and generation parameters

  • ๐Ÿ–ผ๏ธ Vectorize raster images (PNG, JPEG, WebP, GIF) to SVG format using @neplex/vectorizer with configurable quality settings - perfect for logos and icons

  • ๐ŸŽจ Comprehensive graphic editing with Graphic Editor Plus combining local operations (logo overlay, smart resize) and AI-powered features (style transfer, background removal, enhancement)

  • ๐Ÿ—๏ธ Pro: Generate professional architectural drawings (floor plans, elevations, sections) with building codes, dimensions, and material specifications - designed for construction professionals

  • ๐ŸŽง Transcribe or translate uploaded audio with OpenAI's speech-to-text endpoints

Commerce & finance workflows

  • ๐Ÿ› WooCommerce-aware tools (fetch orders or products, requires WooCommerce)

  • ๐Ÿ“Š Finance-ready QuickBooks Online reporting tool for surfacing Profit and Loss, Balance Sheet, and other statements inside assistant conversationsใ€F:includes/tools/class-wp-mcp-ai-tool-get-quickbooks-report.phpโ€ L15-L214ใ€‘ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L906-L955ใ€‘

  • ๐Ÿ–ฅ๏ธ Pro: QuickBooks Desktop sync via QODBC relay API โ€” connect to QuickBooks Desktop through a Windows relay server for data synchronization

  • ๐Ÿ›’ Pro: Shopify integration with auto-resolved connections โ€” connection_id auto-resolved from assistant context, covering products, orders, customers, inventory, and catalog tools

  • ๐Ÿš— Pro: Vehicle estimation tools โ€” VIN decode (NHTSA vPIC), image-to-repair-estimate pipeline, and car wash package pricing engine (always available)

  • ๐Ÿ“ธ Pro: Listing image download tools โ€” bulk-download Google Maps, Facebook, and Instagram business listing images into the Media Library or ZIP

Slash Commands & Workflow Automation โญ NEW

  • โšก 8 Core Commands: /help, /next-task, /ship, /clean-content, /optimize-perf, /sync-docs, /workflow - Command-line style interface for content management

  • ๐Ÿ”„ Workflow Orchestrator: Multi-step workflow execution with state management, conditional logic, and human-in-the-loop checkpoints

  • ๐Ÿ› ๏ธ 21 Pro Toolkit Commands: Specialized commands for E-commerce (6), Social Media (6), and Video Production (6) toolkits

  • ๐ŸŽฏ 7 Automated Workflows: Pre-built workflow templates for abandoned cart recovery, social media campaigns, video marketing, inventory management, and more

  • ๐Ÿ” Security: Capability-based authorization, rate limiting, comprehensive audit logging

  • ๐Ÿ’ก Integration: JavaScript autocomplete, REST API endpoint, WP-CLI support

  • Documentation โ†’ | Pro Commands โ†’

Chat Channels & Messaging Integration โญ NEW

  • ๐Ÿ’ฌ Chat Channels Toolkit (47 Tools): Integrate with 11 platforms - Telegram, WhatsApp, Slack, Discord, Microsoft Teams, Facebook Messenger, Apple Messages for Business, Google Chat/Spaces, Twitter/X, Office 365 (Outlook + OneDrive), iCloud Drive

  • ๐Ÿ“ง Office 365 Integration โญ NEW: Send and retrieve Outlook mail, list/download/upload OneDrive files via Microsoft Graph API (5 tools)

  • โ˜๏ธ iCloud Drive Integration โญ NEW: List, download, and upload iCloud Drive files via a configurable gateway service (3 tools)

  • ๐ŸŒ Unified Broadcasting: Send messages across multiple platforms simultaneously with unified_channel_broadcast tool

  • ๐Ÿ  WebChat Rooms: Custom post type for real-time collaborative chat rooms with AI assistant assignment

  • ๐Ÿ“ Message Persistence: JetEngine CCT integration for permanent message history

  • ๐Ÿ”Š WebRTC Support: Self-hosted WebRTC signaling via WordPress REST API for voice/video

  • ๐Ÿค– AI-Powered Rooms: Assign dedicated assistants to chat rooms for automated support

  • Chat Channels Guide โ†’ | WebChat Setup โ†’

Communications & outreach

  • โœ‰๏ธ Mailjet-powered outbound email automation with granular capability enforcement and sender defaults configurable in the MCP settings.ใ€F:includes/tools/class-wp-mcp-ai-tool-send-mailjet-email.phpโ€ L19-L405ใ€‘ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L1008-L1054ใ€‘

  • ๐Ÿ“… Google Workspace automations for creating calendar events and searching connected Gmail inboxes directly from assistant workflows.ใ€F:includes/tools/class-wp-mcp-ai-tool-create-google-calendar-event.phpโ€ L1-L200ใ€‘ใ€F:includes/tools/class-wp-mcp-ai-tool-search-gmail.phpโ€ L1-L200ใ€‘

  • ๐Ÿงพ JetFormBuilder orchestration for listing forms, reviewing submissions, and proxying REST calls on behalf of assistants (requires JetFormBuilder)

  • ๐Ÿ“š JetEngine REST route reference tool for surfacing endpoint metadata inside AI workflows

  • ๐Ÿงฑ Ready for extension with ChatKit integration

Integrations, security & controls

  • ๐Ÿ”ง Tool Registry for registering PHP functions callable by the AI

  • โš™๏ธ JetEngine integration for dynamic content queries (requires JetEngine)

  • ๐Ÿ”Œ JetEngine 3.8 MCP Server Bridge โญ NEW - JSON-RPC 2.0 client bridges NV oOS into JetEngine's native MCP Server with 7 new Pro tools for CPT/taxonomy/meta field creation, relations management, site context grounding, and prompt template access. MCP-first dispatch with REST v2 fallback.

  • ๐Ÿค Agent-to-Agent (A2A) Protocol โญ NEW - Full A2A protocol making NV oOS assistants discoverable and interoperable with any A2A-compliant agent. /.well-known/agent.json discovery, JSON-RPC 2.0 server with task state machine, A2A client for remote agent delegation, push notification webhooks.

  • ๐Ÿ“Š Agent Command Center โญ NEW - Unified agent management dashboard with 7 tabs: Overview (KPI cards, live status), Activity Log, Active Tasks, Approvals (human-in-the-loop), Analytics (Chart.js with real per-agent metrics), Uptime & Health, and Strategy (efficiency scoring with recommendations).

  • ๐Ÿ’ฌ Floating Chat Bubble โญ NEW - Configurable floating chat bubble widget for Elementor and Gutenberg. 4 position variants, 3 sizes, bounce/pulse animations, dark mode, WCAG focus states, sessionStorage persistence.

  • ๐Ÿงท Granular control over allowed attachment MIME types for chat uploads

  • ๐Ÿ” Secure REST API endpoints

  • ๐Ÿ”‘ Root Security Key - Optional wp-config.php constant that can be enabled during emergency shutdown to require authentication before re-initializing the plugin. Provides an additional layer of protection against unauthorized reactivation after security incidents.ใ€F:docs/features/security/root-security-key.mdโ€ L1-L511ใ€‘ใ€F:includes/class-wp-mcp-ai-root-security-key.phpโ€ L1-L360ใ€‘

  • ๐Ÿ›ฐ Assistant directory endpoint that advertises MCP tool/resource capabilities and negotiates Server-Sent Events handshakes for clients such as LM Studio or Claude Desktop.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L520-L666ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L1690-L1772ใ€‘

  • ๐Ÿ“ Full JSON-RPC 2.0 MCP endpoint (/mcp) for standards-compliant remote client communication

  • ๐Ÿ”‘ Configurable API credentials and defaults for OpenAI, Gemini, and Anthropic (with subscription tier support for Team/Enterprise plans and custom base URLs)

  • ๐Ÿค– ChatGPTโ€™s connector beta currently requires an Auth0 tenant; the pluginโ€™s assistant credentials are compatible with LM Studio, Claude, and other MCP clients that support bearer headers directly.ใ€F:docs/reference/api/mcp-server-authentication.mdโ€ L22-L46ใ€‘

  • ๐ŸŒ Mesh networking for distributed compute pooling across multiple WordPress sites. Server-to-server architecture enables anonymous and authenticated users to benefit from shared AI resources, budget pooling, and workload distribution across 100+ trusted peer sites. Backend assistants coordinate mesh operations via secure inter-site keys while maintaining user attribution and audit trails for compliance.ใ€F:docs/features/federation/mesh-compute-pooling.mdโ€ L1-L615ใ€‘ใ€F:includes/tools/class-wp-mcp-ai-tool-query-remote-site.phpโ€ L1-L237ใ€‘

  • ๐Ÿ”— Federation & Discovery - Decentralized AI capability network allowing WordPress sites to publish their capabilities via well-known endpoints (/.well-known/ai-peer) and discover peer sites through directory services. Supports peer registration, health verification, search & ranking by capability/region/policy, and automatic cron-based health monitoring. Enable federation to join the network or run your own directory service for private peer discovery.ใ€F:docs/features/federation/federation-discovery.mdโ€ L1-L511ใ€‘ใ€F:FEDERATION-IMPLEMENTATION-SUMMARY.mdโ€ L1-L381ใ€‘

  • ๐Ÿงพ Optional logging of chat interactions, tool executions, and API errors

  • ๐Ÿงฎ Built-in per-user usage tracking for provider/model billing summaries

  • ๐Ÿงฉ Developer hooks and filters for integrating custom behaviours

  • โฑ Per-site request timeout control with sensible minimum enforcement

  • ๐Ÿ—‘ Toggleable uninstall cleanup to purge stored assistants and settings automatically

Performance & reliability

  • โšก Client-side message bundling (800ms window) to reduce API calls and server loadใ€F:docs/user-guides/chat/message-bundling-feature.mdโ€ L1-L80ใ€‘

  • ๐ŸŽฏ Intelligent token overflow handling with automatic model switching (gpt-4.1-mini โ†’ Gemini 2.0 Flash)ใ€F:docs/features/tools/presets/high-token-tool-handling.mdโ€ L1-L80ใ€‘

  • ๐Ÿ“ก Server-Sent Events (SSE) support for real-time streaming responses and job notificationsใ€F:docs/features/streaming/ENABLE-SSE-STREAMING.mdโ€ L1-L100ใ€‘

  • ๐ŸŒŠ Real-time job status updates via SSE streaming and webhook notifications for async operationsใ€F:docs/features/async-jobs/job-notification-system.mdโ€ L1-L100ใ€‘

  • ๐Ÿ”ง Symfony Process Component - Modern process execution framework replacing direct exec() calls in Pro addon tools for enhanced security, timeout management, and error handlingใ€F:includes/services/class-wp-mcp-ai-process-service.phpโ€ L1-L220ใ€‘ใ€F:docs/history/2025/implementations/symfony-phases/SYMFONY_PHASE2B_PROCESS_INTEGRATION.mdโ€ L1-L100ใ€‘

  • ๐Ÿ”„ Server-side WP-Cron polling for long-running tasks (Crawl4AI, background jobs)

  • ๐Ÿ’พ Chat history persistence with localStorage (24h) and optional JetEngine CCT storageใ€F:docs/user-guides/chat/chat-history-persistence.mdโ€ L1-L50ใ€‘

  • โš™๏ธ Optimized settings page with external CSS stylesheet (240 lines added to admin-settings.css) and request-level caching for improved admin performanceใ€F:assets/css/admin-settings.cssโ€ L1-L984ใ€‘ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L27-L32ใ€‘

Settings Management โญ NEW

  • ๐Ÿ”ง Robust Settings System - 7-step save process with automatic backups, validation, and cache management ensures settings persist correctly across all tabs and subtabsใ€F:includes/admin/class-wp-mcp-ai-settings-dashboard.phpโ€ L262-L410ใ€‘

  • ๐Ÿ” Health Check - Run 6 diagnostic checks to verify settings integrity, provider configuration, and system status with GOOD/WARNING/CRITICAL status indicatorsใ€F:includes/admin/sections/class-wp-mcp-ai-section-advanced.phpโ€ L1500-L1650ใ€‘

  • ๐Ÿ’พ Export Settings - Download all plugin settings as timestamped JSON files for backup or migration to other sitesใ€F:docs/admin-guides/settings-management.mdโ€ L40-L80ใ€‘

  • ๐Ÿ“ค Import Settings - Upload and validate settings from previously exported backups with automatic pre-import backup and 5-step validationใ€F:docs/admin-guides/settings-management.mdโ€ L85-L135ใ€‘

  • ๐Ÿ—‘๏ธ Clear Cache - One-click clearing of static cache, object cache, and transients when settings changes don't take effectใ€F:docs/admin-guides/settings-management.mdโ€ L140-L165ใ€‘

  • โ†ฉ๏ธ Reset to Defaults - Safely reset all settings to default values with automatic backup before resetใ€F:docs/admin-guides/settings-management.mdโ€ L170-L200ใ€‘

  • ๐Ÿ”’ Security - File size validation (max 5MB), MIME type checking, JSON validation, and comprehensive input sanitizationใ€F:includes/admin/class-wp-mcp-ai-settings-dashboard.phpโ€ L970-L1030ใ€‘

  • ๐Ÿ“Š Automatic Backups - Every save operation creates a timestamped backup (keeps last 5) for emergency recoveryใ€F:includes/admin/class-wp-mcp-ai-settings-dashboard.phpโ€ L285-L295ใ€‘

  • ๐Ÿ›ก๏ธ Data Protection - 3-layer protection (section filtering, merge strategy, sensitive key filtering) prevents accidental data loss when saving from tabs/subtabsใ€F:docs/admin-guides/settings-management.mdโ€ L230-L280ใ€‘

  • ๐Ÿ“– Pro Toolkits - Enable and configure 8 specialized Pro toolkits (650+ tools) including Project Management, Document Generation, Health & Wellness, CRE Debt & Securitization, and moreใ€F:docs/admin-guides/pro-settings-toolkits.mdโ€ L1-L650ใ€‘

โžก๏ธ Complete Documentation: Settings Management Guide | Quick Reference | Visual UI Guide | Pro Toolkits Guide

๐Ÿง  Memory & Tool Stack Overview

Model defaults

Global settings capture the default provider, model, and timeout used when assistants are created, ensuring every conversation inherits stable generation behaviour until explicitly overridden. These defaults ship with sensible values for OpenAI and Gemini out of the box and can be tailored from the NV oOS settings screen.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L36-L77ใ€‘

Base knowledge

Each assistant can preload Media Library files and optionally link to an external vector store, giving the model persistent project context before a chat begins. Editors manage these knowledge sources from the assistant post type via the โ€œBase Knowledgeโ€ meta box, which supports multiple attachments and vector store identifiers.ใ€F:includes/assistants/class-wp-mcp-ai-assistant-cpt.phpโ€ L892-L1002ใ€‘

Available tools

The tool registry boots with a curated catalogue of content, commerce, automation, and research utilities, then exposes hooks so developers can register their own providers. During initialisation the registry loads each bundled tool classโ€”ranging from JetEngine accessors to Crawl4AI jobs and Mailjet automationsโ€”and makes them callable within conversations.ใ€F:includes/class-wp-mcp-ai-tool-registry.phpโ€ L74-L220ใ€‘

Chat-client Memory Drawer

The chat front-end exposes a persistent Memory Drawer (assets/js/chat-memory-drawer.js) with three tabs:

  • Memories โ€” browse, pin, and delete stored context items; ๐Ÿง  badge auto-appears on any assistant message that used a memory tool.

  • Scope โ€” set the active wing/room scope for subsequent memory operations in the current session.

  • Audit โ€” lazy-loaded audit trail from WP_MCP_AI_REST_Chat_Memory_Controller::audit().

The drawer is wired to the REST proxy at /mcp-ai/v1/chat-memory/ and receives real-time updates via the memory_event SSE frame emitted by the agentic loop. Pagehide auto-capture stores the session state before tab close. Two gates control access: site-wide filter wp_mcp_ai_chat_memory_enabled and per-user meta wp_mcp_ai_chat_memory_enabled. Full reference: docs/features/memory/chat-client-integration.md.

Retroactive Transcript Mining

WP_MCP_AI_Transcript_Mining_Job retrospectively extracts memories from past chat transcripts. Enqueue a job via POST /mcp-ai/v1/transcript-mining/jobs (admin-only), poll progress with GET /jobs/{id}, or cancel with POST /jobs/{id}/cancel. Full reference: docs/features/memory/transcript-mining.md.

LLM Harnessing Subsystem

Seven opt-in per-request layers (includes/harness/) improve response quality without changing existing tool behaviour. Activated per-assistant via the LLM Harness metabox. Layers: A Prompt/Cue โ†’ B Reasoning Trace โ†’ C Tool Routing โ†’ D Retrieval โ†’ E Self-Refine โ†’ F Memory Scoping + PII Filter โ†’ G Eval Scheduler. Pro Layer H exports fine-tune curricula as OpenAI JSONL. Full reference: docs/features/llm-harness.md.

Workflow families & tool combos

The core plugin ships with a centrally registered tool catalogue that lets assistants mix and match capabilities into cohesive workflows without additional coding. Teams can chain authoring, media, research, commerce, marketing, and operational tools to deliver end-to-end outcomes inside a single conversation.

  • Content & knowledge production โ€“ Combine submit_document_prompt, search_content, and search_attachments to gather source material, then follow up with save_post, create_wpcode_snippet, or get_rankmath_seo for structured drafting and optimisation.

  • Media generation & transcription โ€“ Pair generate_openai_image, generate_gemini_image, vectorize_image, or graphic_editor_plus with generate_openai_speech and transcribe_openai_audio to build multimedia assets that flow into editorial or marketing outputs. Use vectorize_image to convert logos to scalable vectors, and graphic_editor_plus for comprehensive image editing with both local and AI-powered operations.

  • Research & situational awareness โ€“ Chain discovery helpers like web_search, run_crawl4ai_job, reliefweb_reports, get_gdacs_events, and get_nhc_active_storms to assemble briefing packs before drafting follow-up actions.

  • Commerce & finance operations โ€“ Use WooCommerce and finance tools such as create_woo_product, get_woo_products, get_woo_recent_orders, crawl4ai_price_lookup, get_import_duty, and quickbooks_report to coordinate merchandising, pricing, and bookkeeping reviews.

  • Marketing & analytics insights โ€“ Combine measurement tools including google_analytics_report, get_google_business_insights, get_facebook_instagram_insights, get_linkedin_insights, and get_tiktok_insights to guide campaigns and reporting.

  • Publishing & outreach automations โ€“ Trigger distribution via post_facebook_instagram, post_google_business_update, post_linkedin_update, post_tiktok_video, send_group_email, send_mailjet_email, send_telegram_message, send_whatsapp_message, and schedule_notify_sms once plans are ready.

  • Integrations & scheduling โ€“ Connect external systems with create_google_calendar_event, search_gmail, list_jetengine_rest_routes, invoke_jetengine_route, and run_openai_external_action as part of larger automations.

  • Operations & diagnostics โ€“ Close the loop with create_cron_job, list_cron_jobs, get_cron_job, delete_cron_job, check_wp_cli, purge_cache, purge_cloudflare_cache, purge_varnish_cache, get_site_summary, get_site_health, get_system_logs, get_update_status, and OpenAI usage/log review helpers for monitoring and maintenance.

  • Automation & scheduling workflows โ€“ Agents can autonomously schedule background tasks with create_cron_job, monitor scheduled operations via list_cron_jobs and get_cron_job, and clean up outdated automations with delete_cron_job. Combine with cache management tools (purge_cache, purge_cloudflare_cache, purge_varnish_cache) to orchestrate content publishing workflows where agents schedule posts, then automatically invalidate caches at publication time.


๐Ÿ›  Built-in tools & automations

The assistant registry ships with a comprehensive catalogue of editorial, marketing, commerce, and operational helpers. The tables below outline every bundled tool and the slug assistants call when orchestrating workflows.

Content & knowledge workflows

Tool

Slug

Summary

Submit Document Prompt

submit_document_prompt

Uploads WordPress attachments or OpenAI file IDs alongside an instruction so multimodal prompts reach the Responses API with the required file context.ใ€F:includes/tools/class-wp-mcp-ai-tool-submit-document-prompt.phpโ€ L20-L214ใ€‘

Search Content

search_content

Queries public post types with optional taxonomy and meta filters to surface structured post metadata for the assistant.ใ€F:includes/tools/class-wp-mcp-ai-tool-search-content.phpโ€ L12-L280ใ€‘

Search Attachments

search_attachments

Scans the Media Library with keyword or MIME filters while honouring attachment capability checks and signed download URLs.ใ€F:includes/tools/class-wp-mcp-ai-tool-search-attachments.phpโ€ L15-L207ใ€‘

Get Recent Posts

get_recent_posts

Returns the latest entries for a given post type with titles, permalinks, excerpts, and timestamps for quick editorial summaries.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-recent-posts.phpโ€ L12-L104ใ€‘

Get Elementor Templates

get_elementor_templates

Lists Elementor library templates with status, type, and edit links when Elementor is available and the caller has access.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-elementor-templates.phpโ€ L12-L239ใ€‘

Get JetEngine Items

get_jetengine_items

Retrieves JetEngine-managed content with capability-aware access checks for each registered custom post type.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-jetengine-items.phpโ€ L12-L118ใ€‘

Get JetFormBuilder Forms

get_jetformbuilder_forms

Proxies JetFormBuilder REST controllers to return paginated form metadata with automatic REST/HTTP fallbacks.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-jetformbuilder-forms.phpโ€ L15-L155ใ€‘

Get JetFormBuilder Submissions

get_jetformbuilder_submissions

Lists recent JetFormBuilder entries with normalised field snapshots and capability enforcement.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-jetformbuilder-submissions.phpโ€ L15-L154ใ€‘

Save Post

save_post

Drafts or updates posts and custom post types with sanitised Gutenberg content, slug/title overrides, and edit links.ใ€F:includes/tools/class-wp-mcp-ai-tool-save-post.phpโ€ L15-L268ใ€‘

Create WPCode Snippet ๐ŸŒŸ

create_wpcode_snippet

Provisions or updates WPCode-managed snippets, validating code types, insert locations, and activation status. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-create-wpcode-snippet.phpโ€ L15-L224ใ€‘

Get Rank Math SEO Overview

get_rankmath_seo

Surfaces Rank Math SEO scores, focus keywords, robots metadata, and schema details for a specific post when the plugin is active.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-rankmath-seo.phpโ€ L15-L220ใ€‘

Get User Information

get_user_info

Inspects the acting user or a supplied account while respecting multisite membership and capability requirements.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-user-info.phpโ€ L12-L89ใ€‘

Media generation & transcription

Tool

Slug

Summary

Generate OpenAI Image

generate_openai_image

Calls the OpenAI Images API with configurable defaults, saving the rendered asset to the Media Library with optional overrides.ใ€F:includes/tools/class-wp-mcp-ai-tool-generate-openai-image.phpโ€ L17-L218ใ€‘

Generate Gemini Image

generate_gemini_image

Uses Geminiโ€™s multimodal image endpoint to render creative, aspect-ratio-aware visuals that are persisted as WordPress attachments.ใ€F:includes/tools/class-wp-mcp-ai-tool-generate-gemini-image.phpโ€ L17-L200ใ€‘

Generate Cloudflare AI Image

cloudflareai_text_to_image

Creates images using Cloudflare Workers AI text-to-image models including Stable Diffusion XL, Flux-2 Dev, Leonardo AI (Lucid Origin, Phoenix 1.0), and Dreamshaper with configurable dimensions, steps, and guidance parameters.

Vectorize Image

vectorize_image

Converts raster images (PNG, JPEG, WebP, GIF) to SVG vector format with configurable quality settings using @neplex/vectorizer. Perfect for logos, icons, and graphics. Requires Node.js 14+.ใ€F:includes/tools/class-wp-mcp-ai-tool-vectorize-image.phpโ€ L1-L430ใ€‘

Graphic Editor Plus

graphic_editor_plus

Comprehensive image editing with local operations (logo overlay, resize) and AI-powered features (style transfer, background removal, enhancement). Combines speed with intelligent transformations.ใ€F:includes/tools/class-wp-mcp-ai-tool-graphic-editor-plus.phpโ€ L1-L784ใ€‘

Generate Architectural Drawing ๐ŸŒŸ

generate_architectural_drawing

[PRO] Creates professional architectural drawings (floor plans, elevations, sections, details) for construction projects. Supports 10 drawing types, 6 presentation styles (technical, sketched, rendered), dimensional specifications, building codes (IBC, IRC, NBC, Eurocode), and material lists. Outputs PNG or SVG with automatic vectorization. Perfect for architects, engineers, and construction professionals.ใ€F:addons/pro/includes/tools/class-wp-mcp-ai-tool-generate-architectural-drawing.phpโ€ L1-L1136ใ€‘

Generate OpenAI Speech

generate_openai_speech

Converts text to audio via OpenAIโ€™s text-to-speech models, honouring default voice/format selections and storing results in the Media Library.ใ€F:includes/tools/class-wp-mcp-ai-tool-generate-openai-speech.phpโ€ L17-L199ใ€‘

Generate Music

generate_music

Creates instrumental music from text descriptions using Google Gemini Lyria model with controls for genre, mood, duration, and tempo.

Transcribe OpenAI Audio

transcribe_openai_audio

Sends uploaded audio to OpenAIโ€™s transcription/translation endpoints and returns structured transcripts with language and duration metadata.ใ€F:includes/tools/class-wp-mcp-ai-tool-transcribe-openai-audio.phpโ€ L17-L195ใ€‘

Research & situational awareness

Tool

Slug

Summary

Web Search

web_search

Performs lightweight lookups against DuckDuckGo or Brave, normalising related topics and enforcing per-user result caps.ใ€F:includes/tools/class-wp-mcp-ai-tool-web-search.phpโ€ L12-L320ใ€‘

Run Crawl4AI Job

run_crawl4ai_job

Executes Crawl4AI harvests locally or remotely, collecting Markdown, HTML, and error payloads for long-form content ingestion workflows.ใ€F:includes/tools/class-wp-mcp-ai-tool-run-crawl4ai-job.phpโ€ L32-L745ใ€‘

ReliefWeb Reports

reliefweb_reports

Queries ReliefWebโ€™s humanitarian dataset by country or disaster type and returns structured report metadata for situational updates.ใ€F:includes/tools/class-wp-mcp-ai-tool-reliefweb-reports.phpโ€ L15-L234ใ€‘

Get GDACS Events

get_gdacs_events

Fetches Global Disaster Alert and Coordination System events with optional date filters and capability checks for emergency planning.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-gdacs-events.phpโ€ L12-L200ใ€‘

Get NHC Active Storms

get_nhc_active_storms

Retrieves the National Hurricane Centerโ€™s active storm feed, sanitising advisory data for assistant consumption.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-nhc-active-storms.phpโ€ L15-L146ใ€‘

Get Open-Meteo Forecast

get_open_meteo_forecast

Pulls hourly weather data from Open-Meteo with coordinate, timezone, and variable controls for itinerary-aware responses.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-open-meteo-forecast.phpโ€ L15-L309ใ€‘

Vision Product Search

vision_product_search

Searches for similar products using Google Cloud Vision API Product Search feature. Note: Requires proper Google Cloud authentication credentials to succeed.ใ€F:includes/tools/class-wp-mcp-ai-tool-vision-product-search.phpโ€ L1-L200ใ€‘

Vision Object Localization

vision_object_localization

Detects and localizes multiple objects in images using Google Cloud Vision API. Note: Requires proper Google Cloud authentication credentials to succeed.ใ€F:includes/tools/class-wp-mcp-ai-tool-vision-object-localization.phpโ€ L1-L200ใ€‘

Commerce & finance operations

Tool

Slug

Summary

Create WooCommerce Product Draft

create_woo_product

Builds draft WooCommerce products with merchandising copy, pricing, images, and brand metadata when WooCommerce is active.ใ€F:includes/tools/class-wp-mcp-ai-tool-create-woo-product.phpโ€ L15-L258ใ€‘

Get WooCommerce Products

get_woo_products

Surfaces catalogue listings with pricing, stock status, and optional SKU/status filters for merchandiser reviews.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-woo-products.phpโ€ L12-L140ใ€‘

Get Woo Recent Orders

get_woo_recent_orders

Summarises recent WooCommerce orders with totals, billing details, and ISO timestamps for fulfilment teams.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-woo-recent-orders.phpโ€ L12-L117ใ€‘

Update WooCommerce Product Price ๐ŸŒŸ

update_woo_product_price

Updates regular/sale prices across all product types (simple, variable via variations, grouped, external) with sale-date scheduling, validation, and automatic variable-parent sync. Pro addon tool.ใ€F:addons/pro/includes/tools/ecommerce/class-wp-mcp-ai-tool-update-woo-product-price.phpโ€ L1-L50ใ€‘

Update WooCommerce Product Quantity ๐ŸŒŸ

update_woo_product_qty

Updates stock quantity across all stock-managed types with set/increase/decrease operations, canonical low-stock notifications (suppressible per call via notify: false), and stock-status sync. Pro addon tool.ใ€F:addons/pro/includes/tools/ecommerce/class-wp-mcp-ai-tool-update-woo-product-qty.phpโ€ L1-L50ใ€‘

Wholesale Club Price Lookup

crawl4ai_price_lookup

Uses Crawl4AIโ€™s web search endpoint to compare BJโ€™s, Samโ€™s Club, and Costco pricing for a given product query.ใ€F:includes/tools/class-wp-mcp-ai-tool-crawl4ai-price-lookup.phpโ€ L17-L189ใ€‘

Lookup Import Duty ๐ŸŒŸ

get_import_duty

Queries the ITA Tariff Rates API for HS codes or descriptions to surface import duty rates for supported countries. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-get-import-duty.phpโ€ L15-L152ใ€‘

QuickBooks Online Report ๐ŸŒŸ

quickbooks_report

Requests Profit & Loss, Balance Sheet, or custom QuickBooks Online reports with optional date ranges and accounting methods. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-get-quickbooks-report.phpโ€ L15-L214ใ€‘

Marketing & analytics insights

Tool

Slug

Summary

Google Analytics Report ๐ŸŒŸ

google_analytics_report

Runs GA4 Analytics Data API queries with metrics, dimensions, date ranges, and aggregation controls to monitor site performance. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-get-google-analytics-report.phpโ€ L15-L158ใ€‘

Google Business Insights

get_google_business_insights

Fetches Google Business Profile metrics for a location using OAuth tokens, time ranges, and timezone hints. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-get-google-business-insights.phpโ€ L15-L149ใ€‘

Meta Social Insights

get_facebook_instagram_insights

Pulls Facebook Page or Instagram business metrics via the Graph API with selectable periods and metric sets. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-get-facebook-instagram-insights.phpโ€ L15-L146ใ€‘

LinkedIn Insights

get_linkedin_insights

Queries LinkedIn organizational share statistics with optional timeframe and granularity filters. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-get-linkedin-insights.phpโ€ L15-L138ใ€‘

TikTok Insights

get_tiktok_insights

Calls the TikTok Open API to return account performance metrics across configurable windows and granularities. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-get-tiktok-insights.phpโ€ L15-L136ใ€‘

Get Cross-Platform Analytics ๐ŸŒŸ

get_cross_platform_analytics

[NEW Jan 2026] Unified social media metrics dashboard aggregating data from Facebook, Instagram, Twitter, LinkedIn, and YouTube. Provides engagement rates, follower growth, post performance, and comparative analytics across all platforms. Built-in 12-hour caching. Pro addon tool (623 lines).

Track Hashtag Performance ๐ŸŒŸ

track_hashtag_performance

[NEW Jan 2026] Comprehensive hashtag analysis tracking reach, engagement, impressions, and trend data across Facebook, Instagram, Twitter, LinkedIn, and YouTube. Identifies top-performing hashtags and provides optimization recommendations. Pro addon tool (586 lines).

Competitor Analysis ๐ŸŒŸ

analyze_competitor_social

[NEW Jan 2026] Track competitor social media metrics and benchmark performance against your profiles. Monitors follower growth, engagement rates, posting frequency, and content strategies across all major platforms. Pro addon tool (711 lines).

Influencer Identification ๐ŸŒŸ

identify_influencers

[NEW Jan 2026] Discover brand influencers and potential collaboration partners based on reach, engagement criteria, audience demographics, and content relevance. Searches across Facebook, Instagram, Twitter, LinkedIn, and YouTube. Pro addon tool (759 lines).

Publishing & outreach

Tool

Slug

Summary

Publish Meta Social Post ๐ŸŒŸ

post_facebook_instagram

Publishes Facebook Page or Instagram business posts through the Meta Graph API with message, caption, and media controls. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-post-facebook-instagram.phpโ€ L15-L170ใ€‘

Publish Google Business Update ๐ŸŒŸ

post_google_business_update

Creates Google Business Profile local posts with summaries, language codes, and optional call-to-action links. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-post-google-business-update.phpโ€ L15-L168ใ€‘

Publish LinkedIn Update ๐ŸŒŸ

post_linkedin_update

Sends LinkedIn UGC posts for members or organisations with optional share URLs via the LinkedIn Marketing API. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-post-linkedin-update.phpโ€ L15-L160ใ€‘

Publish TikTok Video ๐ŸŒŸ

post_tiktok_video

Submits hosted video assets to TikTokโ€™s Open API share endpoint with optional captions. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-post-tiktok-video.phpโ€ L15-L152ใ€‘

Send Group Email

send_group_email

Orchestrates structured or free-form email campaigns with capability-based audience limits and logging hooks. Full documentation.ใ€F:includes/tools/class-wp-mcp-ai-tool-send-group-email.phpโ€ L16-L650ใ€‘

Send Mailjet Email ๐ŸŒŸ

send_mailjet_email

Delivers transactional and marketing emails through Mailjet with sender defaults, CC/BCC routing, and response metadata. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-send-mailjet-email.phpโ€ L19-L405ใ€‘

Send Telegram Message ๐ŸŒŸ

send_telegram_message

Posts formatted updates to Telegram chats or channels with capability filters and audit logging. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-send-telegram-message.phpโ€ L16-L232ใ€‘

Send WhatsApp Message ๐ŸŒŸ

send_whatsapp_message

Sends WhatsApp Cloud API text messages with preview controls using phone-number specific access tokens. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-send-whatsapp-message.phpโ€ L15-L178ใ€‘

Schedule Notify.lk SMS ๐ŸŒŸ

schedule_notify_sms

Queues Notify.lk SMS messages for future delivery using the official SDK and site cron orchestration. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-schedule-notify-sms.phpโ€ L15-L180ใ€‘

Integrations & scheduling

Tool

Slug

Summary

Create Google Calendar Event

create_google_calendar_event

Builds calendar events with attendees, reminders, and timeout overrides using OAuth tokens or service accounts.ใ€F:includes/tools/class-wp-mcp-ai-tool-create-google-calendar-event.phpโ€ L17-L378ใ€‘

Search Gmail Messages

search_gmail

Performs delegated Gmail queries with optional label filters and pagination, returning normalised message metadata. Pro addon tool.ใ€F:addons/pro/includes/src/Tools/class-wp-mcp-ai-pro-tool-search-gmail.phpโ€ L1-L200ใ€‘

List JetEngine REST Routes

list_jetengine_rest_routes

Enumerates JetEngine REST endpoints with method, callback, and capability metadata for developers.ใ€F:includes/tools/class-wp-mcp-ai-tool-list-jetengine-routes.phpโ€ L12-L151ใ€‘

Invoke JetEngine REST Route

invoke_jetengine_route

Proxies JetEngine CRUD operations using the authenticated user context with REST/HTTP fallbacks.ใ€F:includes/tools/class-wp-mcp-ai-tool-invoke-jetengine-route.phpโ€ L12-L133ใ€‘

Run OpenAI External Action

run_openai_external_action

Triggers OpenAI Responses API workflows or assistants with payload sanitisation, timeout overrides, and structured errors.ใ€F:includes/tools/class-wp-mcp-ai-tool-run-openai-external-action.phpโ€ L17-L211ใ€‘

Operations & diagnostics

Tool

Slug

Summary

Cron Management Suite

AI agents can autonomously schedule, monitor, and manage WordPress background tasks

Create Cron Job

create_cron_job

Schedules one-off or recurring WP-Cron events with duplicate detection and sanitised hooks/arguments. Agents can automate periodic maintenance, content publishing, or custom workflows by scheduling actions to run at specific times or intervals.ใ€F:includes/tools/class-wp-mcp-ai-tool-create-cron-job.phpโ€ L16-L168ใ€‘

List Cron Jobs

list_cron_jobs

Lists all scheduled WordPress cron jobs with details about schedule, next run time, and creator. Enables agents to provide visibility into scheduled automation tasks and audit what background processes are running.ใ€F:includes/tools/class-wp-mcp-ai-tool-list-cron-jobs.phpโ€ L17-L141ใ€‘

Get Cron Job

get_cron_job

Retrieves detailed information about a specific WordPress cron job by its job ID, including schedule interval details and execution metadata. Allows agents to inspect individual scheduled tasks for troubleshooting or reporting.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-cron-job.phpโ€ L17-L145ใ€‘

Delete Cron Job

delete_cron_job

Deletes a scheduled WordPress cron job and removes it from both the plugin tracking and WP-Cron. Enables agents to cancel outdated or unnecessary automation tasks on behalf of operators.ใ€F:includes/tools/class-wp-mcp-ai-tool-delete-cron-job.phpโ€ L17-L90ใ€‘

Cache Management

AI agents can coordinate multi-layer cache invalidation

Purge Cache

purge_cache

Master cache purge tool that coordinates multi-layer cache clearing (Cloudflare, Varnish, etc.) in the correct order. Agents can ensure content updates are properly reflected across all caching layers.ใ€F:includes/tools/class-wp-mcp-ai-tool-purge-cache.phpโ€ L17-L150ใ€‘

Purge Cloudflare Cache

purge_cloudflare_cache

Sends targeted or full-zone invalidations to Cloudflare with configurable timeouts and admin-only access controls.ใ€F:includes/tools/class-wp-mcp-ai-tool-purge-cloudflare-cache.phpโ€ L17-L292ใ€‘

Purge Varnish Cache

purge_varnish_cache

Purges the local Varnish cache with support for full-cache bans and specific URL purges. Agents can clear server-side caching to ensure immediate content updates.ใ€F:includes/tools/class-wp-mcp-ai-tool-purge-varnish-cache.phpโ€ L17-L150ใ€‘

System Monitoring & Diagnostics

Check Site Security

check_site_security

Checks if the WordPress site has security vulnerabilities that make it unsafe to use this AI plugin. Scans for common security issues and provides remediation guidance for administrators.ใ€F:includes/tools/class-wp-mcp-ai-tool-check-site-security.phpโ€ L1-L200ใ€‘

Check WP-CLI Status

check_wp_cli

Scans for the WordPress CLI binary, returning detected paths, version output, and environment warnings.ใ€F:includes/tools/class-wp-mcp-ai-tool-check-wp-cli.phpโ€ L17-L309ใ€‘

Count Tokens

count_tokens

Estimates token counts for text and messages using heuristic estimation (approximately 4 characters per token) for planning and budgeting purposes. Helps with capacity planning before sending requests to AI providers.ใ€F:includes/tools/class-wp-mcp-ai-tool-count-tokens.phpโ€ L1-L200ใ€‘

Get Site Summary

get_site_summary

Provides high-level site metadata, content counts, and admin contact details for context-aware assistants.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-site-summary.phpโ€ L12-L66ใ€‘

Get MCP Environment Status

get_environment_status

Summarises WordPress versions, MCP defaults, assistant counts, and dependency warnings for incident response.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-environment-status.phpโ€ L12-L178ใ€‘

Get Site Health Status

get_site_health

Runs WordPress Site Health diagnostics and returns grouped pass/warn/fail tests with remediation guidance.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-site-health.phpโ€ L12-L255ใ€‘

Get System Logs

get_system_logs

Aggregates NV oOS logs, WordPress/PHP error logs, and plugin log files to aid in debugging workflows.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-system-logs.phpโ€ L12-L352ใ€‘

Get Update Status

get_update_status

Reports pending core, plugin, and theme updates with version and download metadata for maintenance planning.ใ€F:includes/tools/class-wp-mcp-ai-tool-get-update-status.phpโ€ L12-L182ใ€‘

Testing & Validation

Probe Assistant Chat

probe_chat

Issues a chat probe against a published assistant to confirm sanitisation, configuration, and REST handling without consuming model tokens.ใ€F:includes/tools/class-wp-mcp-ai-tool-probe-chat.phpโ€ L12-L178ใ€‘

Probe Remote MCP REST

probe_remote_mcp

Reuses the remote connectivity tester to exercise /assistants and /chat on another site with optional bearer, guest, or nonce credentials.ใ€F:includes/tools/class-wp-mcp-ai-tool-probe-remote-mcp.phpโ€ L12-L164ใ€‘

Mesh Networking

Distributed compute pooling across WordPress sites

Query Remote Site

query_remote_site

Executes chat requests on peer WordPress sites in a mesh network. Requires manage_options capability and mesh networking to be enabled. Coordinates server-to-server compute pooling with secure inter-site key authentication, enabling distributed AI workloads across trusted peers while maintaining user attribution and audit trails. Backend assistants use this tool to fan out work across the mesh on behalf of anonymous or authenticated users.ใ€F:includes/tools/class-wp-mcp-ai-tool-query-remote-site.phpโ€ L1-L237ใ€‘ใ€F:docs/features/federation/mesh-compute-pooling.mdโ€ L1-L615ใ€‘

Query Mesh (Intelligent Routing)

query_mesh_intelligent

Send a prompt to the mesh network with AI-powered peer selection and automatic failover. The system intelligently routes requests to the optimal peer site based on current load, response times, and task complexity. Provides resilient distributed compute with automatic retry logic.ใ€F:includes/tools/class-wp-mcp-ai-tool-query-mesh-intelligent.phpโ€ L1-L300ใ€‘

Provider Dashboards

Open OpenAI Logs

open_openai_logs

Returns dashboard shortcuts for reviewing OpenAI request logs in the provider console.ใ€F:includes/tools/class-wp-mcp-ai-tool-open-openai-logs.phpโ€ L12-L66ใ€‘

Open OpenAI Usage

open_openai_usage

Provides direct links to OpenAI usage dashboards so admins can audit consumption quickly.ใ€F:includes/tools/class-wp-mcp-ai-tool-open-openai-usage.phpโ€ L12-L66ใ€‘

Authentication

Generate Simple JWT Token

generate_simple_jwt_token

Generates a Simple JWT Login bearer token for the current user, enabling authenticated API access across sessions. Agents can help users obtain authentication tokens for headless WordPress integrations.ใ€F:includes/tools/class-wp-mcp-ai-tool-generate-simple-jwt-token.phpโ€ L15-L120ใ€‘

What the Cron Manager means to AI agents

The Cron Management Suite transforms AI assistants from reactive responders into proactive automation orchestrators. By providing full control over WordPress's background task scheduler, agents can:

Autonomous Task Scheduling

  • Schedule content publishing workflows to go live at optimal times without human intervention

  • Automate recurring maintenance tasks like cache clearing, database optimization, or backup operations

  • Coordinate multi-step operations that span hours or days by chaining scheduled hooks

Intelligent Monitoring & Self-Management

  • List and inspect all scheduled tasks to understand what automation is currently active

  • Audit who created each task and when it's scheduled to run next

  • Identify and remove outdated or redundant scheduled tasks to maintain system health

Real-World Agent Workflows

  1. Content Calendar Automation - An agent helping with content strategy can schedule posts to publish at researched optimal engagement times, set up recurring social media cross-posts, and schedule follow-up email campaigns.

  2. Site Maintenance Orchestration - When troubleshooting performance issues, agents can schedule off-peak cache purges, coordinate database cleanup tasks, and set up recurring health check notifications.

  3. Business Process Automation - Agents can schedule recurring report generation, periodic data syncs with external systems, and automated backup verification checks.

Technical Implementation The cron manager tracks all scheduled tasks in wp_mcp_ai_cron_jobs option with full audit trails including:

  • Job ID for unique identification

  • Hook name and sanitized arguments

  • Schedule type (single-run or recurring interval)

  • Creation timestamp and user attribution

  • Next execution time for monitoring

Jobs are automatically pruned when they complete (single-run) or are manually removed (recurring), keeping the tracking database clean. All cron operations require manage_options capability, ensuring only authorized users can delegate automation authority to agents.ใ€F:includes/class-wp-mcp-ai-cron-manager.phpโ€ L12-L280ใ€‘

Each tool inherits the assistant context and authenticated user from the REST layer, making it easy to layer custom permissions or extend behaviour via the documented filters and actions.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L236-L360ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L1124-L1198ใ€‘

Need per-tool prerequisites or capability callouts? Consult docs/reference/tools/tool-reference.md for a detailed matrix of every bundled integration.

Tool Status Labels

The Tools Manager page displays status labels beside tool names to indicate their development stage and stability:

Status

Display Label

Description

Auto-Disable

stable

STA

Production-ready, fully tested tools safe for all environments

No

beta

BET

Testing phase, mostly stable but may have minor issues

No

dev

DEV

In active development, may have bugs or incomplete features

No

experimental

EXP

New features that may change significantly

No

bug

BUG

Known issues exist, use with caution

Yes

deprecated

DEP

Will be removed in future versions

No

Status labels are displayed as 3-letter abbreviations (e.g., "STA" for stable, "BET" for beta) to keep the UI compact.

Important: Tools marked with the bug status are automatically disabled when the plugin loads. This prevents problematic tools from being used until issues are resolved. Administrators can manually re-enable them from the Tools Manager if needed for testing.

Status labels are managed via the tool-status.txt file in the repository. To assign a status label to a tool:

  1. Open docs/tool-status.txt in a text editor

  2. Add a line in the format: tool_slug = status_label

  3. Save the file - changes appear immediately in the Tools Manager

Example:

create_post = stable
web_search = beta
generate_openai_image_validated = experimental
problematic_tool = bug

This file-based approach allows quick status updates without code changes, making it easy for maintainers to reflect tool maturity as development progresses. The automatic disabling of buggy tools provides an additional safety layer to prevent issues in production environments.


๐Ÿ—จ Front-end chat surfaces

NV oOS ships multiple ways to embed assistants on the front end:

  • Classic chat shortcode โ€“ [mcp_ai_chat] renders the bundled interface with attachment uploads, tool invocation feedback, and optional guest access via allow_guests="true". When guest mode is enabled, the shortcode provisions a temporary token and injects it into the JavaScript bootstrap so visitors without WordPress accounts can continue chatting while still respecting capability checks and attachment safety limits.ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L132-L258ใ€‘ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L188-L226ใ€‘

  • Floating chat bubble โญ NEW โ€“ A configurable floating button that sits at a screen corner and opens a chat panel powered by the [mcp_ai_chat] shortcode. Available as both an Elementor widget and a Gutenberg block. Supports 4 position variants, 3 sizes, auto-open delay, session persistence, dark mode, and WCAG keyboard navigation.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-chat-bubble-widget.phpโ€ L1-L200ใ€‘ใ€F:includes/blocks/chat-bubble/block.jsonโ€ L1-L50ใ€‘

  • Elementor widgets โ€“ Drop the chat UI anywhere Elementor is active, pair it with intro/FAQ blocks, and surface dashboard telemetry without custom code. The chat widget mirrors the shortcode controls (including allow_guests), and companion widgets expose onboarding content, usage timers, provider quick links, and activity feeds for operational views.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-widget.phpโ€ L79-L138ใ€‘ใ€F:includes/class-wp-mcp-ai-elementor-integration.phpโ€ L48-L98ใ€‘ใ€F:includes/elementor/class-wp-mcp-ai-elementor-chat-intro-widget.phpโ€ L47-L140ใ€‘ใ€F:includes/elementor/class-wp-mcp-ai-elementor-chat-usage-timer-widget.phpโ€ L48-L226ใ€‘ใ€F:includes/elementor/class-wp-mcp-ai-elementor-dashboard-activity-feed-widget.phpโ€ L48-L167ใ€‘

Guest tokens are honoured by the REST endpoints through the X-WP-MCP-AI-Guest header or guest_token parameter, allowing the chat shortcode and Elementor widget to make authenticated requests on behalf of public visitors without exposing persistent credentials.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L289-L307ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L2088-L2104ใ€‘

Chat History Persistence

The chat interface automatically persists conversation history to the browser's localStorage, preventing data loss when users navigate away or refresh the page. Conversations are:

  • Automatically saved after each user message and assistant response

  • Automatically restored when returning to the chat page (within 24 hours)

  • Stored per assistant so different assistant conversations remain separate

  • Server-side storage available with JetEngine - See note below about optional JetEngine integration

Server-Side Chat Transcript Storage (Requires JetEngine)

โš ๏ธ Third-Party Plugin Required: JetEngine (not included with NV oOS)

Without JetEngine, chat conversations are only stored in browser localStorage (client-side, 24-hour retention). To enable permanent server-side chat transcript archiving:

  1. Install and activate the JetEngine plugin (third-party, paid plugin from Crocoblock)

  2. Enable the Custom Content Types module in JetEngine settings

  3. NV oOS will automatically provision the ai_chat_transcripts CCT for permanent storage

What you get with JetEngine:

  • โœ… Permanent server-side chat transcript storage

  • โœ… Cross-device conversation access

  • โœ… Admin visibility into chat history

  • โœ… Database-backed chat logs for compliance/auditing

Without JetEngine:

  • โš ๏ธ Chat history only stored in browser localStorage

  • โš ๏ธ Limited to 24-hour retention

  • โš ๏ธ No cross-device synchronization

  • โš ๏ธ Lost if browser data is cleared

See docs/user-guides/chat/chat-history-persistence.md for complete details on the persistence mechanism, data structure, and troubleshooting.


๐Ÿ“ฆ Installation

โ„น๏ธ Plugin Directory Status
This plugin is currently pending approval in the WordPress Plugin Directory. We are committed to maintaining high quality and security standards throughout the review process. You can install the plugin manually from our GitHub repository or wait for the official WordPress Plugin Directory listing.

๐Ÿš€ Getting Started Wizard
After activating the plugin, you'll be redirected to a 4-step setup wizard that walks you through connecting an AI provider, choosing a use case, and creating your first assistant โ€” all in under 2 minutes. The wizard creates fully-configured assistants with tools, system prompts, and tuned temperatures so your site is working out of the box. You can access the wizard any time at NV oOS โ†’ Getting Started or directly at /wp-admin/admin.php?page=wp-mcp-ai-getting-started.

๐ŸŒฑ Try It on Your PC

No live site. No API costs. No risk. The primary way to test NV oOS is a one-command demo that boots WordPress and the Complete bundle locally via WordPress Playground and wires the chat to your local Ollama โ€” no API key, no server, and no prompts leave your machine.

โšก Fastest: One Command (Playground + Local Ollama)

One-time prerequisites:

  1. Install Ollama and pull a model:

    ollama pull llama3.1:8b
  2. Allow the local origin, then restart Ollama:

    • Windows: setx OLLAMA_ORIGINS "https://playground.wordpress.net,http://localhost,http://127.0.0.1", then quit Ollama from the system tray and relaunch it.

    • macOS / Linux: OLLAMA_ORIGINS="https://playground.wordpress.net,http://localhost,http://127.0.0.1" ollama serve

Then run this command (requires Node.js 20+):

npx -y @wp-playground/cli@3.1.54 server --blueprint=https://raw.githubusercontent.com/nvdigitalsolutions/mcp-ai-wpoos/alpha-working/blueprints/ollama-demo.json --login

Open the printed local URL (e.g. http://127.0.0.1:9400/ollama-test-lab/). The first boot takes a few minutes while it downloads and installs the whole stack โ€” after that you land on the Ollama Test Lab: a live status banner plus a chat that answers from your local model. Admin login: admin / password.

Full walkthrough, browser quick-preview link, and troubleshooting: docs/user-guides/playground-demo.md.

๐Ÿงฐ Classic 3-Step Install (Local, Studio, XAMPP, etc.)

Prefer a traditional local WordPress install? Follow the full walkthrough on the NV Digital Solutions blog: How to Test NV oOS on Your Own PC Using Local + Downloading the Plugin โ†’

  1. Install a local WordPress environment โ€” Local by WP Engine or WordPress Studio is the easiest option (one-click install, no server config). Alternatives: XAMPP, MAMP, or DevKinsta.

  2. Download the NV oOS plugin zip โ€” grab the latest release from GitHub Releases (look for mcp-ai-wpoos-x.x.x.zip), or use the Code โ†’ Download ZIP button for the current development snapshot.

  3. Upload, activate, and run the wizard โ€” in your local WordPress dashboard go to Plugins โ†’ Add New โ†’ Upload Plugin, select the zip, activate it, and follow the ๐Ÿš€ Getting Started Wizard. For a free local AI model (no API key needed), install LM Studio and point the wizard at http://localhost:1234.

๐Ÿ—บ Single-file auto-installer (roadmap) โ€” A single cross-platform installer that bootstraps the entire stack automatically is on the roadmap. See the App / Plugin Distribution Proposal for current status and the plan.

Requirements

Minimum Requirements:

  • WordPress 6.0+

  • PHP 7.4+ (PHP 8.0+ recommended)

  • MySQL 5.7+ or MariaDB 10.3+

Optional Requirements for Enhanced Features:

  • Node.js 14+: Required for image vectorization tools (vectorize_image tool)

  • PHP Functions: proc_open, proc_close, proc_terminate (for Node.js integration and Process Service)

    • These functions are often disabled on shared hosting for security

    • Can be enabled on Cloudways via Application Settings (see troubleshooting guide)

  • JetEngine Plugin: For CCT storage and advanced content management tools

  • WooCommerce: For e-commerce integration tools

  • Elementor: For visual page builder widgets

Note: The plugin works without optional requirements, but some features will be disabled. See deployment troubleshooting for enabling disabled PHP functions.

For Developers (GitHub Clone)

โœ… Production-Ready Repository
This repository includes production-optimized vendor dependencies with classmap-authoritative autoloading configured by default in composer.json. You can clone and activate immediately without running composer. The composer install command is only needed if you want to update dependencies or add development tools.

โšก Use a shallow clone
A full clone of this repository is ~10 GB due to its long history. Use --depth 1 to download only the latest snapshot (~500 MB) โ€” much faster and smaller. If you later need the full history, run git fetch --unshallow.

git clone --depth 1 https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git

If you're cloning from GitHub:

For Cloudways and similar managed hosting platforms, clone directly into the WordPress plugins directory:

# SSH into your server
# Navigate to WordPress plugins directory
cd /home/master/applications/YOURAPP/public_html/wp-content/plugins/

# Clone the repository (production-ready, no composer needed!)
# Use --depth 1 for a fast shallow clone (recommended for production)
git clone --depth 1 https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git
cd mcp-ai-wpoos

# Verify you're in the correct directory
pwd  # Should show the plugins path

# Optional: Only needed for frontend asset rebuilding or development
# npm install && npm run build

# Optional: Only run if you need to update dependencies or add dev tools
# Note: Autoloader optimization is now configured by default in composer.json
# composer install --no-dev

โš ๏ธ Cloudways Important Notes:

  • Always clone directly into /home/master/applications/YOURAPP/public_html/wp-content/plugins/

  • Do NOT clone elsewhere and then move/copy - this causes getcwd() failed errors

  • Replace YOURAPP with your actual Cloudways application name

Option 2: Local Development or VPS

For local development or standard VPS hosting:

# Option A: Clone directly into WordPress plugins directory (recommended, production-ready!)
cd /path/to/wordpress/wp-content/plugins/
# Use --depth 1 for a fast shallow clone (recommended for production)
git clone --depth 1 https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git
cd mcp-ai-wpoos
# Ready to activate! No composer or npm needed for production use.

# Option B: Clone and copy (also production-ready!)
# Use --depth 1 for a fast shallow clone (recommended for production)
git clone --depth 1 https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git
cd mcp-ai-wpoos
cp -r . /path/to/wordpress/wp-content/plugins/mcp-ai-wpoos/

For Development Only:

# Only if you need to rebuild assets or modify dependencies:
npm install && npm run build
# Note: Autoloader optimization is now configured by default in composer.json
composer install --no-dev

Optional: Strip Dev Files for Production

If you are deploying via git clone to a production server with anti-malware / EDR scanning, the working tree will contain test fixtures that embed verbatim attack-payload literals (XSS canaries, SQL-injection samples, prompt-injection strings) used by the security test suite. These can occasionally trip signature-based scanners.

For a clean production tree, run the bundled strip script after cloning:

# Preview what would be removed
bin/strip-dev-files.sh --dry-run

# Remove tests/, docs/, bin/, .github/, .bmad/, .context/, examples/,
# phpunit.xml.dist, phpcs.xml.dist, dev configs, etc.
bin/strip-dev-files.sh

The script mirrors the exclusion list in .distignore (used for the WordPress.org SVN deploy) and the export-ignore rules in .gitattributes (used for GitHub-distributed ZIPs). It is idempotent and refuses to run on a working tree with uncommitted changes (override with --force).

Note: Do not run this on a development checkout โ€” it removes the test suite, docs, and build tooling. It is intended for deploy targets that only run the plugin.

Final Steps

  1. Activate Open Operator System Complete (NV oOS) from WordPress admin

  2. You now have the complete version with all ~1,692 tools (~353 base + ~1,339 Pro; live count via WP_MCP_AI_Tool_Registry::get_tools() is authoritative)

What you get from the repository clone:

  • โœ… The full codebase โ€” all ~1,692 built-in tools ready to use (~353 base + ~1,339 Pro; live count via WP_MCP_AI_Tool_Registry::get_tools() is authoritative)

  • โœ… Single plugin activation (not separate base + pro)

  • โœ… Pro features automatically available (no separate Pro plugin to install)

Notes:

  • The repository includes mcp-ai-wpoos-base.php and addons/pro/mcp-ai-wpoos-pro.php which are used for building separate distributions but do NOT appear as separate plugins when cloning

  • Only the main plugin file (mcp-ai-wpoos.php) has a plugin header in the repository

  • The build script adds headers to the other files when creating standalone distributions

Standard Installation

  1. Upload mcp-ai-wpoos.zip to /wp-content/plugins/

  2. Activate NV oOS from the WordPress admin

  3. Go to Settings โ†’ NV oOS

  4. Enter your OpenAI API key

  5. Create a new โ€œAI Assistantโ€ in AI Assistants

  6. Add [mcp_ai_chat assistant="123"] to a page or post

Optional: JetEngine Integration

โš ๏ธ Third-Party Plugin (Not Included): JetEngine is a paid plugin from Crocoblock

JetEngine is completely optional - NV oOS works perfectly without it. However, if you want server-side chat transcript storage:

  1. Purchase and install JetEngine separately

  2. Enable the Custom Content Types module in JetEngine settings

  3. NV oOS will automatically provision the ai_chat_transcripts CCT for permanent chat storage

What works WITHOUT JetEngine:

  • โœ… All core AI assistant features

  • โœ… Chat interface and conversations

  • โœ… ~300 base tools (more with optional third-party plugins)

  • โœ… MCP server functionality (/wp-json/mcp-ai/v1/)

  • โœ… Browser-based chat history (localStorage, 24 hours)

  • โœ… OpenAI/Gemini/Anthropic/Ollama/Hugging Face/Cloudflare integrations

What requires JetEngine:


๐Ÿ”Œ What You Lose Without Third-Party Plugins

NV oOS works perfectly with vanilla WordPress, but certain features require third-party plugins (sold separately). Here's exactly what you lose without each plugin:

Without JetEngine (Crocoblock - Paid Plugin)

Lost Features:

  • โŒ AI metaboxes for JetEngine CPTs/Taxonomies - No AI assistant integration on JetEngine edit screens

  • โŒ Research & Add pages - No AI-powered content creation with automatic field mapping

  • โŒ Server-side chat transcript storage - Chat history only stored in browser localStorage (24 hours)

  • โŒ Cross-device chat synchronization - No database-backed conversation history

  • โŒ Admin chat history access - Cannot view/audit conversations from admin panel

  • โŒ Assistant CCT synchronization - Assistants only in WordPress CPT (MCP server still works perfectly)

Lost Tools (5 tools):

  • get_jetengine_items - Query JetEngine custom post types

  • list_jetengine_rest_routes - List JetEngine REST API routes

  • invoke_jetengine_route - Execute JetEngine REST operations

  • get_jetformbuilder_forms - List JetFormBuilder forms (also requires JetFormBuilder)

  • get_jetformbuilder_submissions - Get form submissions (also requires JetFormBuilder)

โœ… Still Works: All core features, MCP server, ~300 base tools, AI conversations

Get JetEngine โ†’


Without WooCommerce (Free Plugin)

Lost Features:

  • โŒ E-commerce automation - Cannot create or manage products via AI

  • โŒ Order management - Cannot query or analyze orders

  • โŒ Product catalog access - Cannot search or update product data

Lost Tools (3 tools):

  • create_woo_product - Build draft WooCommerce products with AI-generated descriptions, pricing, and images

  • get_woo_products - Search and retrieve product catalog with pricing and stock status

  • get_woo_recent_orders - Summarize recent orders with billing details and totals

Use Cases Lost: E-commerce content generation, order fulfillment assistance, product merchandising

Get WooCommerce โ†’


Without Elementor (Freemium Plugin)

Lost Features:

  • โŒ Template management - Cannot list or reference Elementor templates via AI

  • โŒ Elementor widgets - Cannot use pre-built chat/dashboard widgets (shortcodes still work)

Lost Tools (2 tools):

  • get_elementor_templates - List Elementor library templates with status, type, and edit links

  • import_elementor_template_kit - Import Elementor template kits

Lost UI Components:

  • Elementor Chat Widget

  • Elementor Chat Intro Widget

  • Elementor Dashboard Widgets (Tool Matrix, User Capabilities, Activity Feed, etc.)

โœ… Still Works: Standard [mcp_ai_chat] shortcode, all AI features

Get Elementor โ†’


Without Rank Math SEO (Freemium Plugin)

Lost Features:

  • โŒ SEO analysis - Cannot query SEO scores or optimization recommendations

  • โŒ Schema data access - Cannot retrieve structured data for posts

Lost Tools (1 tool):

  • get_rankmath_seo - Get SEO scores, focus keywords, robots metadata, and schema details for posts

Use Cases Lost: AI-powered SEO content optimization, SEO audit assistance

Get Rank Math โ†’


Without WPCode (Freemium Plugin)

Lost Features:

  • โŒ Code snippet management - Cannot create or update code snippets via AI

  • โŒ Custom functionality automation - Cannot automate adding hooks, filters, or custom code

Lost Tools (1 tool):

  • create_wpcode_snippet - Create or update code snippets with validation and activation control

Use Cases Lost: AI-assisted custom development, automated code snippet generation

Get WPCode โ†’


Without Simple JWT Login (Free Plugin)

Lost Features:

  • โŒ JWT token generation - Cannot generate JWT bearer tokens for headless WordPress integrations

Lost Tools (1 tool):

  • generate_simple_jwt_token - Generate JWT bearer tokens for authenticated API access

Use Cases Lost: Headless WordPress authentication, mobile app integration, SPA authentication

Get Simple JWT Login โ†’


Summary: Third-Party Plugin Dependencies

Plugin

Type

Tools Lost

Key Feature Lost

JetEngine

Paid (Crocoblock)

5

Server-side chat transcript storage

WooCommerce

Free

3

E-commerce automation

Elementor

Freemium

2 + Widgets

Elementor template integration

Rank Math

Freemium

1

SEO analysis

WPCode

Freemium

1

Code snippet management

Simple JWT Login

Free

1

JWT token generation

Total Impact: Without these plugins, you lose 13 tools but retain ~300 base tools and all essential AI assistant functionality.


Base Version (Default)

NV oOS runs in Base Version mode by default, providing ~300 essential tools that work with vanilla WordPress without requiring any third-party plugins:

Base Version includes ~300 essential tools that work with vanilla WordPress:

  • Content management (search, save posts, attachments)

  • AI media generation (images via OpenAI/Gemini, speech, transcription, video)

  • Research tools (web search, weather, disaster alerts)

  • Site operations (health checks, logs, cron jobs, cache management)

  • WordPress-native email (via wp_mail)

  • Image manipulation (resize, crop, rotate, convert, vectorize to SVG)

  • Graphic editing (local operations and AI-powered transformations)

  • Profession and assistant management

  • GitHub integration tools

  • Google Maps Platform tools

Base Version excludes 31 tools requiring third-party plugins or external APIs:

  • Third-party WordPress plugins (13 tools) - See ๐Ÿ”Œ What You Lose Without Third-Party Plugins for details

    • WooCommerce tools (3)

    • JetEngine/JetFormBuilder tools (5)

    • Elementor tools (2)

    • RankMath/WPCode/Simple JWT Login tools (3)

  • External API services (18 tools) - Require API credentials

    • Google services (5)

    • Social media integrations (8)

    • External messaging services (4)

    • QuickBooks (1)

Full Version Installation (Opt-in)

To enable the Full Version with all third-party integrations and external API tools, add this constant to your wp-config.php file:

define( 'WP_MCP_AI_BASE_VERSION', false );

๐Ÿ“– See BASE-VERSION.md for the complete tool list and customization options.

When to use Base Version:

  • Starting fresh with WordPress

  • Testing or development environments

  • Simpler installations without external dependencies

  • Sites that don't need e-commerce or advanced integrations

  • Don't want to purchase/install third-party plugins

When to use Full Version:

  • Production sites with WooCommerce, JetEngine, or Elementor already installed

  • Sites needing social media automation (requires API credentials)

  • Advanced workflows requiring external APIs

  • Need server-side chat transcript storage (requires JetEngine)

๐Ÿ“– See detailed breakdown: ๐Ÿ”Œ What You Lose Without Third-Party Plugins


๐Ÿ“š Documentation

NV oOS includes comprehensive documentation covering all aspects of the plugin. Documentation reorganized June 2026 โ€” Unix-theory separation of concerns. All docs sorted into 12 purpose-driven directories with zero content loss.

๐Ÿ“– Documentation Hub

Essential References

๐Ÿ“ฆ Archive

For New Users

  • ๐Ÿš€ Getting Started Wizard โญ NEW โ€” 4-step guided setup that connects your AI provider, selects a use case, and creates a ready-to-use assistant in under 2 minutes. 8 presets available: Content Creator, Customer Support, E-commerce, SEO & Research, Developer Copilot, Media & Creative Studio, Site Administrator, General Purpose.

  • Use Cases & Quickstart Guides โญ NEW - Comprehensive guide covering 7 major use cases with step-by-step quickstarts

  • 5-Minute Quick Start - Get started immediately: from zero to first chat

  • Setup Checklist - Step-by-step installation and configuration

  • Remote Client Quickstart - Connect Claude Desktop, LM Studio, or other MCP clients

  • Best Practices - Recommended usage patterns and optimization tips

For Developers

For Administrators

Performance & Optimization

Historical Documentation

  • Archive Directory - 95+ historical documents organized by category:

    • implementations/ - Implementation summaries and technical details

    • phases/ - Development phase documents

    • fixes/ - Bug fix summaries and issue resolutions

    • features/ - Feature documentation

    • code-reviews/ - Code review reports

    • testing/ - Test infrastructure documentation


โš™ Configuration Checklist (Action Items)

Complete these after installation to unlock every integration point:

  • Add your OpenAI API key in Settings โ†’ NV oOS โ†’ OpenAI API Key so API calls are authorised.

  • Add your Gemini API key in Settings โ†’ NV oOS โ†’ Gemini API Key if you plan to route assistants through Gemini.

  • Confirm or override the default model via Settings โ†’ NV oOS โ†’ Default Model (gpt-4.1 ships as the default).

  • Set a default Gemini model under Settings โ†’ NV oOS โ†’ Default Gemini Model when Gemini is enabled.

  • Choose the default provider from Settings โ†’ NV oOS โ†’ Default Provider so new assistants know whether to use OpenAI or Gemini by default.

  • Adjust the request timeout under Settings โ†’ NV oOS โ†’ Request Timeout (minimum 5โ€ฏs, default 30โ€ฏs) to match your hosting environment.

  • Select a default assistant with Settings โ†’ NV oOS โ†’ Default Assistant so REST and shortcode requests have a fallback.

  • Decide on logging with Settings โ†’ NV oOS โ†’ Enable Logging when you need verbose diagnostics.

  • Monitor token usage in Settings โ†’ NV oOS โ†’ Token Usage Statistics to track API consumption across users, providers, and models for billing and budget management.

  • Choose your uninstall behaviour via Settings โ†’ NV oOS โ†’ Remove Data on Uninstall if this site should purge assistants and settings during cleanup.

  • Configure Crawl4AI access in Settings โ†’ NV oOS โ†’ Tools when you want the Crawl4AI tool to be available to assistants.

  • Review attachment MIME overrides in Settings โ†’ NV oOS โ†’ Attachments before enabling file uploads for end users.

  • Review Send Group Email permissions in Settings โ†’ NV oOS โ†’ Tools to choose the capability and recipient cap for the group email automation.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L348-L359ใ€‘ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L938-L953ใ€‘

  • Connect Gmail under Settings โ†’ NV oOS โ†’ Tools โ†’ Connections โ†’ Gmail to enable Gmail search tools with OAuth 2.0. See Google OAuth Setup Guide for complete configuration steps.

  • Connect QuickBooks Online under Settings โ†’ NV oOS โ†’ QuickBooks Company ID / API Key so the bundled reporting tool can fetch finance statements for authorised operators.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L906-L955ใ€‘

  • Configure Mailjet credentials in Settings โ†’ NV oOS โ†’ Mailjet API Key / Secret / From Email / From Name before enabling Mailjet-powered tools or Elementor widgets that send email on behalf of assistants.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L1008-L1054ใ€‘

  • Enable Federation & Discovery (Optional) in Settings โ†’ NV oOS โ†’ Federation & Discovery to publish your site's AI capabilities via /.well-known/ai-peer and optionally run a directory service for peer discovery. Configure regions, data tags, and rate limits to control how your site participates in the decentralized AI network.ใ€F:docs/features/federation/federation-discovery.mdโ€ L1-L511ใ€‘ใ€F:FEDERATION-IMPLEMENTATION-SUMMARY.mdโ€ L1-L381ใ€‘

  • Configure Root Security Key (Optional) by adding define( 'WP_MCP_AI_ROOT_SECURITY_KEY', 'your-secure-key' ); to wp-config.php. This provides an additional security layer that can be enabled during emergency shutdown to require authentication before re-initializing the plugin.ใ€F:docs/features/security/root-security-key.mdโ€ L1-L511ใ€‘

  • Enable Pro Dashboard (Optional) by adding define( 'WP_MCP_AI_PRO_DASHBOARD_ENABLED', true ); to wp-config.php. This activates the dedicated Pro Dashboard with ISO/IEC 27001 compliance monitoring, reporting, and management tools. See Pro Dashboard Documentation for details.

๐Ÿง  Language Model Providers (OpenAI, Gemini, Anthropic, Baseten, DeepSeek, OpenRouter, Kimi, DigitalOcean, NVIDIA NIM, Ollama, LM Studio, Hugging Face, Cloudflare)

A dedicated router transparently forwards chat completions to the active provider, allowing each request to target OpenAI, Gemini, Anthropic, DeepSeek, OpenRouter, Baseten, Kimi, DigitalOcean, NVIDIA NIM, a local Ollama instance, LM Studio, Hugging Face, or Cloudflare Worker AI while sharing the same assistant UX.ใ€F:includes/class-wp-mcp-ai-language-model-router.phpโ€ L12-L86ใ€‘ Configure the required API keys, default models, and the global default provider in Settings โ†’ NV oOS so new assistants inherit sensible defaults and administrators can switch providers without code changes.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L124-L333ใ€‘ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L505-L530ใ€‘ Assistants can still override provider, model, and generation parameters on a per-post basis.

Privacy & Terms: All AI providers have specific terms and privacy policies:

LM Studio Support

LM Studio with Function Calling - Full support for OpenAI-compatible function calling with local LM Studio instances:

  • OpenAI-compatible message structure preserved for tool calls

  • Tools/functions can be invoked by LM Studio models (e.g., qwen/qwen3-coder-30b)

  • Streaming automatically disabled when tools are present for reliable execution

  • Full backward compatibility with non-tool scenarios

  • Connect via JSON-RPC endpoint (recommended) or SSE streaming

  • See LM Studio setup guide for configuration details

Provider Priority List & Automatic Fallback

The plugin includes an intelligent provider priority system that automatically tries alternative providers when the primary one fails or is unavailable. In Settings โ†’ NV oOS, you can:

  • Drag and drop providers to set your preferred order

  • Automatic fallback - if the first provider fails, the system tries the next one

  • Visual management - see all available providers (OpenAI, Gemini, Anthropic, Baseten, DeepSeek, OpenRouter, Kimi, DigitalOcean, NVIDIA NIM, Ollama, LM Studio, Hugging Face, Cloudflare) in one sortable list

  • Flexible prioritization - adjust based on cost, performance, or availability needs

The first provider in the list serves as the default. If any provider returns an error, the router automatically attempts the next provider in the list until one succeeds. This ensures maximum uptime and resilience without manual intervention. All fallback attempts are logged for debugging and monitoring.

Local AI with Ollama

The Ollama provider enables privacy-focused, cost-free AI processing by connecting to a local Ollama or LM Studio instance running on your server or development machine. This is ideal for:

  • Privacy-sensitive deployments where data must stay on-premises

  • Development and testing without incurring API costs

  • Custom or fine-tuned models not available through cloud providers

  • Air-gapped environments without internet access

To configure Ollama:

  1. Install Ollama on your server or local machine

  2. Pull a model (e.g., ollama pull llama2)

  3. Navigate to Settings โ†’ NV oOS โ†’ Ollama Configuration

  4. Enter your Ollama endpoint URL (default: http://localhost:11434)

  5. Click "Test Connection" to verify connectivity

  6. Click "Fetch Models" to see available models

  7. Select a model from the list or manually enter a model name

  8. Set "Default Provider" to "Ollama (Local AI)" if you want it as the system default

The Ollama client supports the standard chat completion flow and automatically normalizes responses to match the OpenAI format for downstream compatibility. Note that some advanced features like tool calling may vary depending on the specific Ollama model you're using.

OpenAI model coverage

The plugin ships with presets for OpenAIโ€™s current Responses, Reasoning, Audio, and Image APIs so site owners can choose the right model for each workflow. Token windows describe the maximum request size (messages, attachments, and tool payloads) the OpenAI API will accept for that model, while output limits reflect the largest single response the service will stream back. Leave a safety margin below each ceiling so assistants can add system instructions, tool calls, and knowledge snippets without hitting provider limits.

Capability

Model

Max context tokens

Max output tokens

Notes

Responses (flagship)

gpt-5.2

400,000

128,000

Latest flagship multimodal model with 400K context window (Dec 2025). Ideal for large documents and complex workflows.

Responses (pro reasoning)

gpt-5.2-pro

400,000

128,000

Advanced reasoning variant with enhanced capabilities for mission-critical tasks requiring maximum accuracy.

Responses (high throughput)

gpt-5.2-instant

400,000

128,000

High-volume optimized variant for customer support and content generation at scale.

Responses (deep analysis)

gpt-5.2-thinking

400,000

128,000

Deeper analysis variant with reasoning time dial for multi-step analysis and research tasks.

Responses (general)

gpt-4.1

128,000

16,384

Flagship multimodal model that balances quality and latency for production chat, tool, and multimodal calls.

Responses (cost optimised)

gpt-4.1-mini

128,000

16,384

Budget-friendly 4.1 variant recommended for day-to-day assistants and background automations.

Responses (advanced)

gpt-4o

128,000

16,384

Previous generation multimodal model with strong reasoning capabilities.

Responses (legacy)

gpt-4o-mini

128,000

16,384

Lower-latency 4o tier that keeps the larger context window while reducing cost for iterative workflows.

Reasoning

o1-preview

128,000

32,768

Deliberate reasoning model suited to multi-step planning and analysis; expect slower responses while it โ€œthinksโ€.

Reasoning (fast)

o1-mini

128,000

32,768

Lighter o1 variant that trades some reasoning depth for responsiveness in operational assistants.

Media and multimodal defaults

Capability

Model

Size or duration limits

Notes

Image generation

gpt-image-2 (default) / gpt-image-1.5 / gpt-image-1 / dall-e-3

Up to 2048ร—2048 output (square) or 2048ร—1152 / 1152ร—2048 (16:9 / 9:16) for gpt-image-2; proportional 1024 / 512 variants for older models

gpt-image-2 ("Images 2.0") is the default as of v1.1.13 โ€” native 2K resolution, multi-image coherency, and accurate multilingual text rendering. Older models remain selectable. Respect OpenAI's safety filters when prompting.

Text-to-speech

gpt-4o-mini-tts

Up to ~4,096 input tokens per request

Generates natural-sounding speech in multiple voices; longer scripts should be chunked into multiple calls.

Speech-to-text

gpt-4o-mini-transcribe

Optimised for recordings โ‰ค 90 minutes

Handles multilingual transcription and translation; large files are automatically chunked client-side before upload.

OpenAI regularly revises token policies and media limits, so review the model specification dashboard before rolling out new assistants or increasing attachment budgets. Updating your defaults in Settings โ†’ NV oOS keeps every assistant aligned with the latest provider guidance.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L36-L105ใ€‘ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L2298-L2398ใ€‘

๐Ÿงฑ ChatKit Integration

The ChatKit module now ships with the core NV oOS plugin, so no separate add-on installation is required. Once enabled it self-registers through ChatKitโ€™s filter and action APIs as soon as both plugins load, exposing the mcp-ai/v1 REST namespace while advertising chat, tool invocation, attachment download, and guest token support without any manual bootstrapping. Return false from the wp_mcp_ai_chatkit_is_available filter if you need to disable the automatic registration for bespoke environments.ใ€F:includes/class-wp-mcp-ai-chatkit-integration.phpโ€ L30-L204ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L16-L2104ใ€‘

From the ChatKit dashboard configure the NV oOS integration and supply at least one assistant ID so ChatKit knows which conversation to join. Optional fields let you override the system prompt or preload tool shortcut payloads for operators; capability checks inherit the wp_mcp_ai_chat_capability filter, so you can align ChatKit access with the same policies used for shortcodes or REST calls.ใ€F:includes/class-wp-mcp-ai-chatkit-integration.phpโ€ L182-L210ใ€‘ใ€F:mcp-ai-wpoos.phpโ€ L25-L72ใ€‘

Consult docs/developer/integration/chatkit-integration.md for a full configuration walkthrough, JSON examples for shortcut presets, and notes on extending the definition via filters.

๐ŸŒ Crawl4AI Integration

Administrators with manage_options capabilities can run the Run Crawl4AI Job tool without any external service: when no Crawl4AI endpoint is configured the plugin performs the crawl directly on the WordPress server using the built-in HTTP client, extracts headings and text as Markdown, and records the raw HTML and response metadata for the assistant.ใ€F:includes/tools/class-wp-mcp-ai-tool-run-crawl4ai-job.phpโ€ L32-L745ใ€‘ Errors for individual URLs are captured in the response metadata so partial crawls still return useful context. When a remote Crawl4AI endpoint is configured the request now returns immediately with a task token while WP-Cron powered background polling captures the final payload and makes it available to the assistant UI once the crawl finishes.ใ€F:includes/crawler/class-wp-mcp-ai-crawler.phpโ€ L1-L214ใ€‘ใ€F:assets/js/chat.jsโ€ L1-L2200ใ€‘

Configure remote endpoints or API keys under Settings โ†’ NV oOS โ†’ Tools to tailor how the Crawl4AI integration runs across environments.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L248-L521ใ€‘

Supplying a Crawl4AI base URL (and optional API key) switches the tool back to proxying crawl jobs to the remote Crawl4AI REST API, preserving backwards compatibility with existing deployments.ใ€F:includes/tools/class-wp-mcp-ai-tool-run-crawl4ai-job.phpโ€ L206-L339ใ€‘ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L248-L521ใ€‘ Local environments can still feed a custom endpoint to the integration through the WP_MCP_AI_CRAWL4AI_BASE_URL or CRAWL4AI_BASE_URL environment variable when you want to test against a dedicated Crawl4AI service.ใ€F:mcp-ai-wpoos.phpโ€ L54-L96ใ€‘

๐Ÿ“ก Job Notification System

NV oOS includes a general-purpose infrastructure for real-time notifications on async WordPress jobs, providing SSE streaming and webhook support for external integrations.ใ€F:docs/features/async-jobs/job-notification-system.mdโ€ L1-L100ใ€‘

Architecture

Async Job โ†’ WordPress Action โ†’ Job Notifier โ†’ [SSE | Webhooks]
                                                 โ†“       โ†“
                                            Frontend  External

Automatic Crawl4AI Integration

The system automatically hooks into Crawl4AI jobs via the wp_mcp_ai_crawl4ai_job_completed action, providing real-time status updates as crawls progress. No additional code is neededโ€”Crawl4AI jobs automatically trigger notifications.ใ€F:includes/crawler/class-wp-mcp-ai-crawler.phpโ€ L1-L214ใ€‘

Frontend SSE Subscription

JavaScript clients can subscribe to job status updates using Server-Sent Events:

const jobId = 'crawl_abc123';
const eventSource = new EventSource(
    `/wp-json/mcp-ai/v1/jobs/${jobId}/stream?max_duration=300&poll_interval=2`
);

eventSource.addEventListener('status', (e) => {
    const status = JSON.parse(e.data);
    console.log('Job status:', status.status, status.progress);
    updateProgressBar(status.progress);
});

eventSource.addEventListener('complete', (e) => {
    const data = JSON.parse(e.data);
    console.log('Job completed:', data.final_status);
    eventSource.close();
});

Webhook Registration

External systems can receive HTTP callbacks when jobs complete:

WP_MCP_AI_Job_Notifier::register_webhook(
    'crawl_abc123',
    'https://example.com/webhook',
    array( 'completed', 'failed' )
);

โžก๏ธ See docs/features/async-jobs/job-notification-system.md for complete implementation details.

๐ŸงŠ Elementor Widgets

Sites running Elementor automatically register a suite of MCP blocks so you can assemble onboarding pages, operational dashboards, and standalone chat layouts without writing markup.ใ€F:includes/class-wp-mcp-ai-elementor-integration.phpโ€ L12-L98ใ€‘ The integration only boots when Elementor is present, so non-Elementor installs avoid any overhead.ใ€F:includes/class-wp-mcp-ai-elementor-integration.phpโ€ L29-L46ใ€‘

Chat surfaces and companion blocks

  • NV oOS Chat โ€“ Renders the assistant interface with the same controls exposed by the [mcp_ai_chat] shortcode, including the allow_guests toggle for minting temporary visitor tokens.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-widget.phpโ€ L17-L138ใ€‘

  • NV oOS Chat Bubble โญ NEW โ€“ Floating chat bubble that sits at a configurable screen corner and opens a chat panel powered by the existing [mcp_ai_chat] shortcode. Also available as a Gutenberg block (wp:mcp-ai-wpoos/chat-bubble). 5 control sections: Chat Settings, Bubble Settings (position/size/animation/tooltip/badge/auto-open), Panel Settings, Bubble Style, Panel Style. BEM CSS with 4 positions, 3 sizes, bounce/pulse animations, dark mode, full-screen mobile (<480px), prefers-reduced-motion, WCAG focus states. Public API at window.wpMcpAiChatBubble.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-chat-bubble-widget.phpโ€ L1-L200ใ€‘ใ€F:includes/blocks/chat-bubble/block.jsonโ€ L1-L50ใ€‘

  • NV oOS Chat Intro โ€“ Adds a configurable hero block above the conversation with headings, talking points, and an optional call-to-action button to guide visitors before they engage the model.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-chat-intro-widget.phpโ€ L47-L190ใ€‘

  • NV oOS Chat FAQ โ€“ Surfaces a repeater-driven FAQ list alongside the chat so product teams can document policies and best practices in context.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-chat-faq-widget.phpโ€ L47-L150ใ€‘

  • NV oOS Usage & Timer โ€“ Combines a focus timer with per-user token totals, gracefully handling logged-out visitors, disabled tracking, and empty usage histories.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-chat-usage-timer-widget.phpโ€ L48-L340ใ€‘

Operations dashboards

  • NV oOS Tool Matrix โ€“ Pulls the tool registry, groups integrations by focus area, and highlights the required capability for each assistant tool so administrators can plan enablement safely. The Send Group Email row now mirrors the capability and recipient limit configured in the MCP settings so editorial policies stay front-of-mind.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-dashboard-tool-matrix-widget.phpโ€ L48-L440ใ€‘

  • NV oOS User Capability Snapshot โ€“ Summarises the signed-in operatorโ€™s profile, common capabilities, JetEngine access, and multisite memberships to support governance reviews. It also surfaces the configured Send Group Email capability and limit so administrators immediately know whether the current user can trigger bulk mail jobs.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-dashboard-user-capability-widget.phpโ€ L48-L392ใ€‘

  • NV oOS Theme Preview โ€“ Renders a mock conversation using the saved chat color tokens and optionally displays a legend of every branding token for quick QA during rollouts.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-dashboard-theme-preview-widget.phpโ€ L48-L198ใ€‘

  • NV oOS Provider Quick Links โ€“ Reuses the OpenAI usage/log tools to populate external billing and telemetry shortcuts that open in new tabs for rapid debugging.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-dashboard-provider-links-widget.phpโ€ L48-L166ใ€‘

  • NV oOS Activity Feed โ€“ Streams the latest MCP log entries (tool runs, chat interactions, and optional provider requests), collapsing raw context into expandable JSON blocks for deeper analysis.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-dashboard-activity-feed-widget.phpโ€ L48-L210ใ€‘

๐Ÿงฎ Usage Tracking

Privacy-First Analytics (v1.2.0+)

The plugin includes optional, privacy-first activation tracking to help us understand plugin usage and improve development priorities. This feature is:

Privacy Features:

  • โœ… No PII collected - No personal information or identifiable data

  • โœ… Site URLs hashed - Non-reversible SHA-256 hash with WordPress salts

  • โœ… No IP storage - IP addresses are not logged or stored

  • โœ… Local dev excluded - Automatically disabled for localhost and common dev domains

  • โœ… Opt-out available - Easy to disable via settings or filter hook

  • โœ… GDPR compliant - Meets all privacy regulations

  • โœ… Fully transparent - All code is open source and documented

Data Collected:

  • Plugin variant (complete, base, pro, or core)

  • Plugin version number

  • WordPress version

  • PHP version

  • Site locale (language)

  • Multisite status

  • Hashed site identifier (non-reversible)

  • Timestamp

How to Opt Out:

  1. Via Settings: Settings โ†’ NV oOS โ†’ General โ†’ Log Management โ†’ Disable Activation Tracking

  2. Via Filter Hook:

    add_filter( 'wp_mcp_ai_enable_usage_tracking', '__return_false' );

Full Privacy Details: See EXTERNAL_SERVICES.md for complete documentation.


The plugin records aggregate token usage per user, provider, and model whenever responses include usage metadata, simplifying internal reconciliation or billing workflows. Usage data is stored as user meta and automatically purged when accounts are deleted, and hooks are exposed for custom reporting pipelines.ใ€F:includes/class-wp-mcp-ai-usage-tracker.phpโ€ L12-L119ใ€‘

Token Usage Management Dashboard

Administrators with manage_options capability can view comprehensive token usage statistics in Settings โ†’ NV oOS:

Global Statistics (All Users):

  • Total requests across all users

  • Total tokens consumed (prompt + completion)

  • Prompt tokens used

  • Completion tokens generated

  • Cached tokens (for providers supporting prompt caching)

  • Reset all usage data button (with confirmation)

Individual User Statistics:

  • Your personal token consumption

  • Per-user breakdown of requests and tokens

  • Reset personal usage data button

Detailed Breakdown:

  • Usage by provider (OpenAI, Gemini, Anthropic, NVIDIA NIM, Ollama, LM Studio, Hugging Face, Cloudflare)

  • Usage by specific model (e.g., gpt-4.1-mini, gemini-2.0-flash)

  • Request counts per provider/model combination

  • Last used timestamp for each model

  • Comprehensive table view with all metrics

The usage tracking system automatically:

  • Records usage from all API responses that include usage metadata

  • Aggregates data by user, provider, and model

  • Updates in real-time as conversations occur

  • Supports the Open OpenAI Usage tool for quick access to provider dashboards

  • Provides AJAX-powered reset functionality for administrators

๐Ÿงท Attachment MIME Controls

Administrators can override the default image and file MIME allowlists used by the chat uploader. The settings screen accepts one MIME type per line, and the attachment helper merges the overrides with its defaults before enforcing them on upload and shortcode configuration.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L225-L669ใ€‘ใ€F:includes/class-wp-mcp-ai-message-attachments.phpโ€ L503-L559ใ€‘ Leave the fields empty to fall back to the bundled safe defaults.

โšก Message Bundling

NV oOS implements client-side message bundling to optimize API usage and reduce server load. When enabled, messages sent within an 800ms window are automatically grouped into a single API request, reducing costs and improving performance for users who send multiple messages in quick succession.ใ€F:docs/user-guides/chat/message-bundling-feature.mdโ€ L1-L80ใ€‘

How It Works

  1. User sends a message โ†’ Displayed immediately in the chat UI

  2. 800ms timer starts โ†’ System waits for additional messages

  3. More messages arrive โ†’ Timer resets with each new message

  4. Timer expires โ†’ All queued messages sent together in one request

Visual Feedback

  • "Preparing to sendโ€ฆ" - Messages are being queued during the bundling window

  • "Sendingโ€ฆ" - Bundled messages are being transmitted to the server

Benefits

  • Reduced API costs - Fewer requests mean lower costs for pay-per-request APIs

  • Lower server load - Fewer requests to process and respond to

  • Better mobile experience - Ideal for users who type in short bursts

  • Backward compatible - Server code unchanged, same payload format

Configuration

Message bundling is enabled by default and requires no configuration. To disable for debugging:

window.wpMcpAiChatDebugMode = true;

โžก๏ธ See docs/user-guides/chat/message-bundling-feature.md for configuration options and implementation details.

๐ŸŽฏ Agentic Loop Token Management

NV oOS includes intelligent handling for tools that return large responses, preventing token overflow errors during agentic loops (where the AI automatically calls multiple tools).ใ€F:docs/features/tools/presets/high-token-tool-handling.mdโ€ L1-L80ใ€‘

The Problem

Tools like run_crawl4ai_job can return 100,000+ tokens of content. In agentic loops, each API call includes all previous messages, causing token counts to grow rapidly and exceed model limits (e.g., gpt-4.1-mini's 200k TPM limit).

The Solution: Three-Tier Strategy

Tier 1: Token Limit Detection

  • Estimates total tokens before each API call

  • Checks against model's TPM (Tokens Per Minute) limit

  • Prevents requests that would exceed limits

Tier 2: Automatic Model Switching

  • When limits exceeded, auto-switches to fallback model

  • Default fallback: Gemini 2.0 Flash (1-2 million token capacity)

  • Preserves full context without data loss

  • Transparent to the user

Tier 3: Message Truncation

  • If even fallback model can't handle tokens

  • Truncates older messages from conversation

  • Always preserves system prompts and recent context

  • Logs what was truncated for debugging

Configuration

Automatic model switching is enabled by default. Configure fallback model under Settings โ†’ NV oOS:

// Default fallback model
'fallback_model' => 'gemini-2.0-flash-exp'

โžก๏ธ See docs/features/tools/presets/high-token-tool-handling.md for complete technical details and examples.

๐Ÿ”„ Chat Performance Optimizations

NV oOS includes several performance optimizations to enhance the chat experience:

  • Message bundling - Reduces API calls by grouping rapid user inputs

  • Token budget management - Prevents API limit overruns with safety marginsใ€F:docs/features/performance/tpm-limit-validation.mdโ€ L1-L50ใ€‘

  • Chat history persistence - LocalStorage (24h) + optional JetEngine CCT storageใ€F:docs/user-guides/chat/chat-history-persistence.mdโ€ L1-L50ใ€‘

  • Automatic model switching - Seamlessly handles token overflow scenarios

  • Rate limit protection - Intelligent retry with exponential backoffใ€F:docs/features/performance/rate-limit-protection.mdโ€ L1-L50ใ€‘

โžก๏ธ See docs/features/chat/chat-performance-optimizations.md for detailed performance tuning guide.

๐ŸŒ Mesh Compute Routing

NV oOS includes intelligent mesh compute routing that automatically distributes AI workload across multiple sites OR multiple providers using AI-powered decision-making. This feature works in two modes:

  1. Multi-Site Mesh: Distribute load across multiple WordPress installations

  2. Single-Site Multi-Provider: Balance load across OpenAI, Gemini, Anthropic, NVIDIA NIM, Hugging Face, Cloudflare, and Ollama on one site

Both modes use the same AI-powered routing engine to optimize for cost, performance, and reliability.

Key Capabilities

  • AI-Optimized Routing - Analyzes prompt complexity and routes to optimal provider/site

  • Cost Optimization - Use GPT-4o-mini for simple queries, GPT-4o for complex tasks

  • Automatic Failover - Switch providers on rate limits or outages

  • Compute Hubs - Designate powerful servers for heavy workloads

  • Rate Limit Management - Auto-switch to alternative providers when limits hit

  • Privacy Control - Route sensitive data to local Ollama instances

Quick Start Examples

Single-Site Setup (No mesh required):

  • Configure multiple AI providers (OpenAI + Gemini + Anthropic + Hugging Face + Cloudflare + Ollama)

  • Set assistant routing strategy to "AI Optimized"

  • Save 90% on costs by routing simple queries to cheaper models

Multi-Site Setup (Distributed compute):

  • Enable mesh networking on all sites

  • Designate compute hubs with larger models

  • Automatic load balancing across peer sites

  • Cross-server compute pooling for Cloudways, SiteGround, etc.

โžก๏ธ See docs/features/federation/mesh-routing-guide.md for complete setup guide, routing strategies, and use cases. โžก๏ธ See docs/features/federation/mesh-compute-pooling.md for architecture and authentication details.

๐Ÿ”— Federation & Discovery System

NV oOS includes a decentralized AI capability network that allows WordPress sites to publish their capabilities and discover peer sites. Think of it as "npm for AI tools" โ€” sites can advertise what they offer and find complementary capabilities from trusted peers.

Overview

The Federation & Discovery system provides three deployment modes:

  1. Publisher Mode: Publish your site's capabilities via /.well-known/ai-peer

  2. Directory Mode: Run a discovery service for peer registration and search

  3. Consumer Mode: Query directories to find and use peer capabilities

Quick Start

Enable Federation (Publisher Mode):

  1. Navigate to Settings โ†’ NV oOS โ†’ Federation & Discovery

  2. Check Enable federation

  3. Configure regions (e.g., us, eu, ap) and data tags (e.g., no_pii, gdpr_ok)

  4. Your capabilities are now published at https://yoursite.com/.well-known/ai-peer

Enable Directory Service (Optional):

  1. In the same settings section, check Enable directory service

  2. Your directory API is now available at https://yoursite.com/wp-json/ai-dir/v1

  3. Automatic hourly health checks verify registered peers

Key Features

  • ๐Ÿ“ก Well-Known Endpoints - Standards-based capability publishing

  • ๐Ÿ” Peer Discovery - Search by capability, region, and data policy

  • โœ… Health Monitoring - Automatic cron-based peer verification

  • ๐Ÿ† Smart Ranking - Scores peers by region, latency, and policy match

  • ๐Ÿ” JWKS Verification - Built-in security with public key discovery

  • โš™๏ธ Conditional Loading - Zero overhead when disabled

API Endpoints

Directory REST API (/wp-json/ai-dir/v1):

  • POST /peers/register - Register a new peer

  • GET /peers - List all peers with health status

  • GET /peers/{id} - Get peer details

  • GET /search - Search peers by capability/region/policy

  • POST /reverify/{id} - Manually trigger health check

  • POST /report/{id} - Report peer issues

Well-Known Endpoints:

  • GET /.well-known/ai-peer - Your site's capability manifest

  • GET /.well-known/jwks.json - Public keys for verification

Use Cases

Private Organization Network:

  • Multiple WordPress sites within one organization

  • Share AI capabilities across internal sites

  • Central directory for discovery

  • Private peer network with secure authentication

Public Directory Service:

  • Community-run capability discovery

  • Accept registrations from external sites

  • Provide search API for consumers

  • Build an ecosystem marketplace

Capability Consumer:

  • Query public directories for needed capabilities

  • Integrate with mesh router for automatic peer selection

  • No need to publish your own capabilities

  • Access specialized tools from the network

Configuration Options

  • Regions: Geographic locations (e.g., us, eu, ap, global)

  • Data Tags: Compliance policies (e.g., no_pii, gdpr_ok, hipaa_like)

  • QPS Limit: Queries per second (default: 5)

  • Burst Capacity: Simultaneous requests (default: 10)

โžก๏ธ Complete Documentation: docs/features/federation/federation-discovery.md โžก๏ธ Implementation Summary: FEDERATION-IMPLEMENTATION-SUMMARY.md

๐Ÿ•ต Code Review

The 2025-10-31 internal review confirms the hardening of the group email automation (header filtering and attachment caps) and the case-sensitive variable handling in the OpenAI external action tool, and only flags a low-severity performance concern around guest token transient churn for public chat embeds. These findings have been consolidated into the master code review document. One follow-up action item recommends re-using or rate-limiting guest tokens to keep the options table tidy on cache-less hosts.

โžก๏ธ See docs/developer/best-practices/CODE-REVIEW-MASTER.md for the complete code quality assessment.

๐Ÿ”’ MCP Server Authentication

Remote MCP assistants should authenticate with Auth0-issued bearer tokens (Authorization: Bearer YOUR_TOKEN) whose audience and scope align with the values configured under Settings โ†’ NV oOS. Same-origin experiences (the dashboard editor and shortcode UI) continue to rely on the X-WP-Nonce header tied to the logged-in WordPress session. Review docs/reference/api/mcp-server-authentication.md for a complete setup guide plus a breakdown of the structured error responses returned on failure, and keep the deployment troubleshooting checklist handy when diagnosing capability or credential regressions.

MCP transports (v1.1.55+): POST /wp-json/mcp-ai/v1/mcp speaks JSON-RPC 2.0 over Streamable HTTP by default. Legacy HTTP+SSE clients (SSE-only Accept: text/event-stream or ?stream=true) get a credential-bound session handshake from GET /mcp and receive responses as event: message on the GET stream โ€” enable with WP_MCP_AI_LEGACY_SSE_ENABLED. JSON-RPC errors return HTTP 200 with the {"jsonrpc","id","error"} envelope so agent SDKs that drop non-2xx bodies relay tool errors instead of hanging; auth/permission failures keep real HTTP statuses. Assistant credential headers may be sent as Authorization: Bearer cred_xxxxx.SECRET or raw Authorization: cred_xxxxx.SECRET. Tool-call traffic is governed by the settings-driven tool rate limiter (credential tokens exempt by default), and GET/HEAD discovery probes never consume the request quota. See docs/developer/implementation-plan-mcp-agent-compat.md and docs/developer/legacy-sse-transport-plan.md for the full rationale.

Using NV oOS as an MCP server

  1. Install the plugin and create assistants. Each WordPress instance that activates NV oOS exposes an MCP-ready assistant directory backed by the ai_assistant custom post type, so every published assistant becomes available to remote clients once credentials are issued.ใ€F:includes/assistants/class-wp-mcp-ai-assistant-cpt.phpโ€ L460-L620ใ€‘

  2. Configure the REST and connector settings. Populate the Auth0, model provider, and optional integration credentials under Settings โ†’ NV oOS so the REST controller can advertise the correct namespace URLs and enforce bearer tokens per your tenant, scope, and provider defaults.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L36-L118ใ€‘

  3. Expose the MCP directory endpoints. The REST layer publishes /assistants, /chat, /tools, and an SSE-compatible /sse handshake inside the wp-json/mcp-ai/v1 namespace, automatically scoping responses to the authenticated assistant or returning every assistant the caller may read.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L234-L703ใ€‘ Hand-held clients can subscribe to the streaming directory event or call the JSON routes directly using the base URLs returned in the directory payload.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L653-L703ใ€‘

  4. Register any additional tools. Extend the serverโ€™s capabilities by hooking into wp_mcp_ai_register_tools and loading custom tool classes; registered slugs flow through the assistant directory and tool execution endpoint without extra wiring.ใ€F:includes/class-wp-mcp-ai-tool-registry.phpโ€ L75-L195ใ€‘

  5. Verify the deployment before sharing credentials. Run wp mcp-ai remote https://example.com/wp-json/mcp-ai/v1 --token=YOUR_TOKEN from any WP-CLI environment to confirm authentication, assistant scope, and chat probes succeed before you hand tokens to operators or client teams.ใ€F:includes/class-wp-mcp-ai-cli-command.phpโ€ L137-L220ใ€‘

Operating multiple MCP deployments

Provision a separate WordPress site (or network site) for each MCP server you need, activate NV oOS, and repeat the configuration steps above with environment-specific Auth0 audiences, scopes, and provider keys. Because the assistant directory response includes the resolved REST base and namespace metadata, MCP clients can be pointed at different deployments simply by swapping the base URL and the bearer credential minted for that siteโ€™s assistants.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L48-L118ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L653-L703ใ€‘

Sites that enable the Simple JWT Login integration can now reuse those bearer tokens alongside Auth0 credentials. The plugin validates tokens with Simple JWT Loginโ€™s native services, falls back to manual JWT decoding when the dependency cannot resolve a user, and automatically scopes REST requests to the assistant encoded in the token so cross-assistant hops are blocked with actionable errors.ใ€F:includes/class-wp-mcp-ai-simple-jwt-login-integration.phpโ€ L47-L214ใ€‘ใ€F:includes/integrations/class-wp-mcp-ai-integration-simple-jwt.phpโ€ L240-L378ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L2769-L2808ใ€‘

๐ŸŒ Connecting Remote MCP Clients

NV oOS works seamlessly with popular MCP clients including Claude Desktop, LM Studio, and ChatGPT connectors. Each client connects to your WordPress site via the MCP REST API at /wp-json/mcp-ai/v1 and can access assistants, execute tools, and interact with your WordPress data remotely.

SSE Support: All MCP endpoints support Server-Sent Events (SSE) for real-time streaming. Enable SSE in your client configuration for better response times and real-time updates. See the SSE Streaming Support section for details.

Quick Start

  1. Generate an assistant credential from any published assistant's API Credentials meta box

  2. Copy the token (format: cred_xxxxx.SECRET) โ€” shown only once!

  3. Configure your MCP client with your site's base URL and the credential

  4. Test the connection using the provided test script or WP-CLI command

Claude Desktop setup

Claude Desktop supports MCP servers through a JSON configuration file. Add your WordPress site:

{
  "mcpServers": {
    "wordpress-site": {
      "url": "https://your-site.com/wp-json/mcp-ai/v1",
      "headers": {
        "Authorization": "Bearer cred_xxxxx.SECRET"
      },
      "sse": true
    }
  }
}

See the complete Claude Desktop setup guide and example configurations for multi-assistant deployments.

LM Studio Setup

โš ๏ธ Having SSE content-type errors? Use the JSON-RPC endpoint instead!

LM Studio can connect using two methods:

Use this if you're getting SSE error: Invalid content type, expected "text/event-stream":

{
  "servers": [
    {
      "id": "wordpress-mcp",
      "name": "WordPress Site",
      "url": "https://your-site.com/wp-json/mcp-ai/v1/mcp",
      "auth": {
        "type": "bearer",
        "token": "cred_xxxxx.SECRET"
      },
      "timeout": 30000
    }
  ]
}

Configure in LM Studio:

  • Server Name: WordPress Site

  • URL: https://your-site.com/wp-json/mcp-ai/v1/mcp

  • Auth Type: Bearer Token

  • Token: cred_xxxxx.SECRET

  • Do NOT enable SSE

Method 2: SSE Streaming (Optional)

If you want to use SSE for real-time updates:

  • Base URL: https://your-site.com/wp-json/mcp-ai/v1

  • Enable SSE: โœ“ (checked)

  • SSE Endpoint: /sse

See the complete LM Studio setup guide and example configurations:

ChatGPT connector setup

โš ๏ธ Note: ChatGPT connectors currently require Auth0 authentication. Assistant-issued credentials are not yet supported by OpenAI's ChatGPT platform.

To connect via ChatGPT:

  1. Configure Auth0 in Settings โ†’ NV oOS

  2. Generate an Auth0 access token with the configured audience

  3. Add the MCP server in ChatGPT's connector settings

See the ChatGPT connector guide for detailed Auth0 setup steps.

Testing your connection

Use the built-in test script to verify connectivity:

./bin/test-remote-connection.sh \
  -u https://your-site.com/wp-json/mcp-ai/v1 \
  -t cred_xxxxx.SECRET

Or use WP-CLI:

wp mcp-ai remote https://your-site.com/wp-json/mcp-ai/v1 \
  --token=cred_xxxxx.SECRET

Expected output confirms the server is reachable and lists available assistants.

Complete documentation

For comprehensive setup guides, troubleshooting, and advanced configurations, see:


๐ŸŽซ Token Management UI

NV oOS 1.0.0 introduces a centralized Token Manager for managing all external agent access tokens across your assistants. Access it via NV oOS โ†’ Token Manager in the admin menu.

Features

  • Centralized Control - Manage all assistant credentials in one place

  • Security Best Practice - Tokens shown only once after creation (cannot be retrieved later)

  • Lifecycle Management - Create, view, revoke, and delete credentials

  • Audit Trail - Track who created/revoked each token and when

  • Metadata Display - See creation date, status (active/revoked), associated assistant

  • Bulk Visibility - View credentials across all assistants at a glance

How It Works

The Token Manager follows industry standards similar to GitHub Personal Access Tokens, Stripe API keys, and Auth0 credentials:

  1. Create Token - Generate new credentials from the assistant editor

  2. Copy Immediately - Token shown once and cannot be retrieved later

  3. Use in MCP Clients - Configure external applications (Codex CLI, MCP clients, custom integrations)

  4. Revoke When Needed - Disable compromised tokens without deleting audit history

  5. Delete When Done - Permanently remove tokens and all metadata

Security Notes

  • Tokens are hashed before storage (only hash stored, never plaintext)

  • Requires manage_options capability

  • All actions logged with user attribution

  • Revoked tokens cannot be reactivated (must create new)

  • HTTPS strongly recommended for token transmission

Usage Example

# In assistant editor: Create credential โ†’ Copy token immediately
# Token format: cred_[YOUR_PREFIX].[YOUR_SECRET_KEY_HERE]
# Example format only - never share real tokens!

# Configure MCP client (e.g., Codex CLI)
export WPOOS_BEARER_TOKEN="your_token_here"
codex chat --assistant 123 "Hello world"

# Later: Revoke from Token Manager UI if compromised
# Or: Delete entirely when integration removed

โš ๏ธ Security Warning: The examples above use placeholder tokens. Never share real tokens publicly or commit them to version control.

Access Requirements

  • Capability: manage_options (administrators only)

  • Menu Location: NV oOS โ†’ Token Manager

  • REST API: /wp-json/mcp-ai/v1/token-manager/*

For complete documentation, see Token Management Guide.


๐Ÿค– ChatGPT Connector

OpenAIโ€™s ChatGPT connector beta currently authenticates exclusively through Auth0. Because NV oOS issues its own assistant-scoped bearer credentials, you can connect LM Studio, Claude Desktop, and other MCP-aware clients today, while ChatGPT support will require either Auth0 bridging or native bearer support from OpenAI. Weโ€™ll update this section as soon as ChatGPT adds compatibility with first-party tokens.ใ€F:docs/reference/api/mcp-server-authentication.mdโ€ L22-L46ใ€‘

๐Ÿ›ฐ REST API Endpoints

All front-end chat surfaces ultimately call the MCP REST namespace at /wp-json/mcp-ai/v1, which exposes dedicated endpoints for chat completions and direct tool execution. Both routes share the same authentication rules described above: supply an Auth0 bearer token, a plugin-issued assistant credential, or a WordPress REST nonce for same-origin requests. Guest tokens issued by the shortcode or Elementor widget continue to be honoured when allow_guests="true" is enabled.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L230-L322ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L289-L343ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L1288-L1336ใ€‘

  • GET /assistants โ€“ Returns a directory of accessible assistants with provider defaults, tool counts, capability metadata, and implementation details so remote clients can choose which assistant to call. Credential tokens are automatically scoped to their issuing assistant while Auth0 tokens and REST nonces surface every published assistant the caller can read.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L238-L666ใ€‘ The endpoint also supports Server-Sent Events for MCP clients that expect streaming discovery payloads, emitting a single directory event with cache-busting headers before closing the stream.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L1690-L1772ใ€‘

  • GET /sse โ€“ Mirrors the assistant directory response but forces a Server-Sent Events handshake so MCP clients that negotiate /sse subscriptions receive the streaming directory payload without additional query parameters.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L400-L715ใ€‘

  • POST /chat โ€“ Normalises structured messages, injects assistant defaults, auto-enables the Submit Document Prompt tool when uploads are present, and forwards the request through the language model router. Responses include the assistant ID and the raw provider payload so clients can stream or render messages as needed.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L230-L322ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L931-L1095ใ€‘

  • POST /tools โ€“ Executes a specific registered tool outside of a chat turn. The endpoint enforces assistant tool allowlists, scopes credential-based requests to the issuing assistant, merges assistant defaults (such as external action identifiers), and returns the tool result with execution metadata.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L264-L322ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L1162-L1321ใ€‘

See docs/reference/api/rest-api.md for payload examples, attachment handling rules, and troubleshooting tips when integrating custom clients.

๐ŸŒŠ SSE Streaming Support

NV oOS includes comprehensive Server-Sent Events (SSE) support for real-time streaming responses, enabling faster perceived response times and better user experience.

What is SSE?

Server-Sent Events provide unidirectional server-to-client streaming over HTTP, allowing the server to push updates as they become available rather than waiting for the complete response.

Benefits:

  • โšก Faster perceived response time - Users see content immediately as it's generated

  • ๐Ÿ”„ Real-time updates - Progressive loading for long-running operations

  • ๐Ÿ“ถ Connection keep-alive - Prevents timeouts during lengthy responses

  • ๐ŸŽฏ Better UX - ChatGPT-style typing effect for AI responses

SSE-Enabled Endpoints

1. Assistant Directory Streaming (GET /assistants)

Stream the assistant directory for MCP clients expecting SSE handshakes:

curl -H "Accept: text/event-stream" \
  https://your-site.com/wp-json/mcp-ai/v1/assistants

The endpoint emits a single directory event with all accessible assistants, then closes the connection.

2. Dedicated SSE Endpoint (GET /sse)

Force SSE mode for MCP clients that specifically probe the /sse endpoint:

curl https://your-site.com/wp-json/mcp-ai/v1/sse

This mirrors the /assistants response but always uses SSE format, ensuring compatibility with LM Studio and Claude Desktop.

3. Job Status Streaming (GET /jobs/{job_id}/stream)

Subscribe to real-time updates for async operations like Crawl4AI jobs:

const eventSource = new EventSource(
    `/wp-json/mcp-ai/v1/jobs/${jobId}/stream?max_duration=300&poll_interval=2`
);

eventSource.addEventListener('status', (e) => {
    const status = JSON.parse(e.data);
    console.log('Progress:', status.progress + '%');
});

eventSource.addEventListener('complete', (e) => {
    console.log('Job finished:', e.data);
    eventSource.close();
});

SSE Configuration

Enable POST Method for SSE (LM Studio Compatibility)

By default, SSE uses the standard GET method. For clients with SSE bugs (like LM Studio), enable POST support:

  1. Go to Settings โ†’ NV oOS โ†’ Assistant Settings

  2. Enable "Enable POST Method on SSE Endpoint"

  3. Save settings

โš ๏ธ Note: Standard SSE specification uses GET. Only enable POST if you experience client compatibility issues.

Modern SSE Features (2024-2025)

The SSE implementation includes current best practices:

  • Automatic reconnection with retry: directive (3-second interval)

  • Event IDs for tracking reconnection state

  • HTTP/2 compatibility for multiplexing

  • Proper CORS headers for cross-origin requests

  • Cache-Control directives to prevent proxy buffering

  • Heartbeat messages to keep connections alive

Frontend Integration

Enable SSE streaming in your JavaScript client:

// Request streaming in chat
const response = await fetch('/wp-json/mcp-ai/v1/chat', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'text/event-stream',
        'X-WP-Nonce': wpMcpAi.nonce
    },
    body: JSON.stringify({
        assistant_id: 123,
        messages: [{ role: 'user', content: 'Hello' }],
        stream: true
    })
});

// Process SSE stream
const reader = response.body.getReader();
const decoder = new TextDecoder();
let buffer = '';

while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    
    buffer += decoder.decode(value, { stream: true });
    const events = buffer.split('\n\n');
    buffer = events.pop();
    
    for (const event of events) {
        if (event.startsWith('data: ')) {
            const data = JSON.parse(event.substring(6));
            // Update UI with streaming chunk
            updateChatUI(data);
        }
    }
}

Documentation

For complete SSE implementation details, configuration options, and troubleshooting:

๐Ÿ“ MCP JSON-RPC 2.0 Endpoint

NV oOS implements a dedicated /mcp endpoint that follows the Model Context Protocol specification version 2024-11-05 using JSON-RPC 2.0 for bidirectional communication with AI assistants and tools.ใ€F:docs/reference/api/mcp-endpoint.mdโ€ L1-L80ใ€‘

MCP Version: 2024-11-05
Compliance: Full MCP 2024-11-05 โ€” all 11 protocol methods, OAuth 2.1, Streamable HTTP, JSON-RPC batching, tool annotations, session management

What's New in MCP 2024-11-05

The latest specification is fully implemented:

  • OAuth 2.1 Security: PKCE, token rotation, mandatory HTTPS

  • Streamable HTTP Transport: Better reconnection and bidirectional communication

  • JSON-RPC Batching: Efficient parallel task processing (up to 20 messages per batch)

  • Tool Annotations: readOnlyHint, destructiveHint, idempotentHint, openWorldHint metadata

  • Progress Notifications: Descriptive status updates during tool execution

  • Completions: Argument autocompletion for tools and prompts

  • Session Management: State recovery via Mcp-Session-Id header (1h TTL)

  • Logging: Client-controlled log verbosity via logging/setLevel

  • Cancellation: Request cancellation via notifications/cancelled

Endpoint URL

POST /wp-json/mcp-ai/v1/mcp

JSON-RPC 2.0 Format

All requests must use standard JSON-RPC 2.0 format:

{
  "jsonrpc": "2.0",
  "id": "unique-request-id",
  "method": "initialize",
  "params": {}
}

Supported Methods

  • initialize - Initialize MCP connection and retrieve server capabilities

  • ping - Server liveness check

  • tools/list - List available tools with annotations for the authenticated assistant

  • tools/call - Execute a specific tool with progress notifications support

  • resources/list - List available resources (knowledge files, etc.) with metadata

  • resources/read - Read resource content by URI with MIME-typed responses

  • prompts/list - List available prompt shortcuts

  • prompts/get - Get full prompt content with system instructions and argument values

  • completion/complete - Argument autocompletion (enum/boolean for tools, slug matching for prompts)

  • logging/setLevel - Client-controlled log verbosity (8 standard levels)

  • notifications/cancelled - Cancel a pending request

Authentication (OAuth 2.1 Enhanced)

The MCP endpoint uses enhanced authentication aligned with MCP 2024-11-05 security standards:

  • WordPress Nonce (X-WP-Nonce header)

  • Bearer Tokens (Authorization: Bearer <token>) with rotation support

  • Assistant Credentials (generated from assistant editor, OAuth 2.1 compliant)

  • Auth0 JWT (for enterprise authentication)

  • Session Management (Mcp-Session-Id header for reconnection)

Error Handling

Enhanced Error System (Phase 3):

  • Severity Levels: CRITICAL, ERROR, WARNING, INFO, DEBUG for categorized logging

  • User-Friendly Messages: Automatic translation of technical errors into actionable guidance

  • Recovery Suggestions: Built-in troubleshooting steps for common failure scenarios

  • Centralized Error Handler: Consistent error creation with automatic logging

  • Comprehensive Logging: Track errors, tool executions, and chat interactions

  • Sensitive Data Protection: Automatic redaction of API keys and tokens in logs

See Error Handling Documentation for detailed usage.

MCP Standard Error Codes:

  • -32700: Parse error (invalid JSON)

  • -32600: Invalid Request (malformed JSON-RPC)

  • -32601: Method not found

  • -32603: Internal error

Use Cases

Scenario

Use Endpoint

Method

MCP 2024-11-05 Feature

Remote MCP client connection

/mcp

POST

OAuth 2.1, Sessions

Real-time streaming responses

/sse

GET

Traditional SSE

Streamable HTTP (new)

/mcp

POST

Bidirectional streaming

Standard chat interface

/chat

POST

N/A

Direct tool execution

/tools

POST

Tool annotations

Learn More

โžก๏ธ Complete MCP Documentation:


๐Ÿ›  Assistant Editor Overview

Assistant posts ship with dedicated controls that map directly to runtime behaviour:

  • Available Tools โ€“ Choose which registered tools (core, WooCommerce, JetEngine, or custom) the model may invoke. Dependency-aware notices explain why certain tools are unavailable, and you can now disable the pre-built prompt shortcuts that tools normally contribute.

  • Quick Tool Selection Presets โ€“ one-click presets group the current live registry by use-case (๐Ÿค– Agentic Workflow, ๐Ÿ›’ E-commerce, โš•๏ธ Healthcare, ๐Ÿ’ฌ Communication, ๐Ÿ’ป Development, ๐Ÿ“‹ Registration & Compliance, and more). Click a preset to add its tools to the current selection; click again to remove them. Combine multiple presets freely. Use โœ“ Select All / โœ— Clear All for bulk actions. Implemented in includes/helpers/class-wp-mcp-ai-tool-presets-helper.php.

  • Model Defaults โ€“ Provide assistant-specific overrides for the OpenAI model, temperature (0โ€“2), and system prompt applied to every conversation.

  • Base Knowledge โ€“ Attach Media Library items that are chunked, truncated, and streamed as memory context, and optionally store an external Vector Store ID to coordinate retrieval workflows.

  • Prompt Shortcuts โ€“ Capture labelled prompts with optional descriptions and tool affinities; they render as accessible quick actions in the chat UI so operators can seed conversations instantly.ใ€F:includes/assistants/class-wp-mcp-ai-assistant-cpt.phpโ€ L893-L1048ใ€‘ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L430-L693ใ€‘ใ€F:assets/js/chat.jsโ€ L600-L666ใ€‘

If an API or shortcode request omits the assistant parameter, the plugin automatically uses the default assistant configured in the global settings.

๐Ÿ“Š Assistant Storage: CPT vs CCT

NV oOS uses a Custom Post Type (CPT) as the primary storage for AI assistants, with automatic synchronization to a JetEngine Custom Content Type (CCT) when JetEngine is available.

Storage Architecture

  • CPT (mcp_ai_assistant): The authoritative source for all assistant data

    • Full-featured WordPress editor with 14 meta fields

    • Supports credentials, shortcuts, memory files, and advanced features

    • Always available in both Base and Full versions

    • Primary REST endpoint: /wp-json/mcp-ai/v1/

  • CCT (assistants): Synchronized secondary storage (Full Version only)

    • Receives automatic updates when CPT is saved

    • 7 basic fields: title, description, provider, model, system_prompt, temperature, tools

    • Available via JetEngine REST endpoint: /wp-json/jet-cct/assistants

    • Ideal for JetEngine-based integrations and queries

Automatic Synchronization (v1.0.0+)

When you save an assistant through the WordPress admin:

  1. CPT is updated with all settings

  2. CCT is automatically synced (if JetEngine is active)

  3. Link is maintained via _wp_mcp_ai_cct_item_id meta

  4. Deletion cascades - removing CPT also removes linked CCT item

What gets synced: Basic configuration (title, description, provider, model, system_prompt, temperature, tools)
What's CPT-only: Advanced features (credentials, shortcuts, memory files, role rules, vector store, external actions)

When to Use Each Endpoint

Use CPT endpoint (/wp-json/mcp-ai/v1/) for:

  • Chat, tools, and directory interactions

  • Full assistant configuration access

  • Credential-based authentication

  • Primary integration scenarios

Use CCT endpoint (/wp-json/jet-cct/assistants) for:

  • JetEngine-specific queries and filters

  • Building JetEngine relations

  • Integrating with JetEngine dashboards

  • Querying basic assistant metadata

โžก๏ธ Read the complete CPT vs CCT guide for detailed comparisons, code examples, and migration information.

โšก Assistant Tool Shortcuts

Every assistant exposes a Prompt Shortcuts meta box so editors can curate prewritten instructions, scope them to registered tools, and add operator-facing descriptions that appear as tooltips and screen reader hints in the chat UI.ใ€F:includes/assistants/class-wp-mcp-ai-assistant-cpt.phpโ€ L893-L1048ใ€‘ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L430-L693ใ€‘ใ€F:assets/js/chat.jsโ€ L600-L666ใ€‘ The shortcode merges these custom prompts with each toolโ€™s declared shortcut tasks and always appends a safe fallback so assistants remain usable even without bespoke entries.ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L430-L693ใ€‘

Developers can extend or replace these prompts with filters such as wp_mcp_ai_assistant_custom_tool_shortcuts and wp_mcp_ai_default_tool_shortcut, letting sites tailor default quick actions per assistant or environment.ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L444-L692ใ€‘

โžก๏ธ Read the full guide to assistant prompt shortcuts.

๐Ÿง  Agent Skills

Agent Skills (agentskills.io) are reusable, portable behaviour packages that extend any assistant without touching its system prompt. Each skill is a SKILL.md file โ€” a standard Markdown document with a small YAML frontmatter block โ€” that lives in wp-content/uploads/mcp-ai-skills/{skill-name}/SKILL.md. When an assistant loads a skill, its instructions are automatically injected into the conversation context so the model knows exactly when and how to use that capability.

67 Pre-Built Skills (Base Plugin)

The base plugin ships with 67 pre-built skills that are automatically installed to wp-content/uploads/mcp-ai-skills/ on first activation. No Pro add-on is required โ€” they are available on every install out of the box. The skills include 24 general-purpose tools (document handling, design, testing), 22 WordPress developer skills (security, APIs, plugin patterns), 21 design-* skills (analytics through video creation), and the bundled mcp-ai-wpoos-plugin skill.

Skill slug

What it does

algorithmic-art

Generates algorithmic art with p5.js, seeded randomness, and interactive parameters

brand-guidelines

Applies Anthropic's official brand colours and typography to any artifact

canvas-design

Creates beautiful visual art in PNG/PDF documents using design philosophy

doc-coauthoring

Guides users through a structured co-authoring workflow for documentation

docx

Creates, reads, edits, and manipulates Word .docx files

frontend-design

Produces distinctive, production-grade frontend interfaces with high design quality

internal-comms

Drafts all kinds of internal communications (memos, announcements, updates)

mcp-builder

Guides creation of high-quality MCP (Model Context Protocol) servers

pdf

Handles any PDF task โ€” creation, reading, editing, and form filling

pptx

Handles any .pptx PowerPoint file as input or output

skill-creator

Creates, modifies, and measures the performance of other skills

slack-gif-creator

Creates animated GIFs optimised for Slack with design best practices

theme-factory

Applies consistent visual themes to slides, docs, and other artifacts

ui-ux-pro-max

Comprehensive UI/UX design system with component libraries, color palettes, typography scales, and stack-specific guidelines (React, Vue, Angular, Laravel, etc.)

web-artifacts-builder

Builds elaborate multi-component HTML artifacts for Claude.ai

webapp-testing

Tests local web applications using Playwright browser automation

xlsx

Handles any spreadsheet file as primary input or output

How Skills Are Loaded

Skills are selected per-assistant via the Skills meta box in the assistant editor. Whichever skills are checked, their combined instructions are prepended to the system prompt under an # Active Skills heading at inference time. This means skills are composable โ€” you can combine pdf + xlsx + doc-coauthoring on a single document-specialist assistant.

Skills are stored as plain text files and can be customised in-place. The original bundled content can be restored at any time from Settings โ†’ Advanced โ†’ Skill Management โ†’ Force Reinstall Bundled Skills.

Managing Skills

Base plugin โ€” Skill management is available under Settings โ†’ Advanced โ†’ Skill Management:

  • View installed skills and their metadata

  • Refresh the skill index

  • Install or force-reinstall the 16 bundled skills

Pro add-on โ€” The dedicated Skill Manager admin page (Assistants โ†’ Skill Manager) adds:

  • Upload a SKILL.md file or a ZIP archive containing a skill directory

  • Install a skill from a remote URL

  • Inline CodeMirror editor to create or edit SKILL.md content directly in the browser

  • Delete / uninstall skills

SKILL.md Format

---
name: my-skill
description: One-line description of what this skill does.
compatibility: claude-3-5-sonnet, claude-3-opus
---

# My Skill

Detailed instructions for the model go here in standard Markdown.
Use headings, lists, code blocks โ€” whatever best conveys the behaviour.

The name field (max 64 chars) becomes the skill's slug. The description field (max 1 024 chars) is shown in the admin UI. The compatibility field is optional and informational.

โžก๏ธ See Agent Skills reference for the complete specification, filters, and developer API.


๐Ÿ‘” Professional & Team Layers

NV oOS includes an enterprise-grade template system for rapid assistant deployment through Professions and Teams. Instead of manually configuring each assistant from scratch, administrators can:

  1. Select from ~311 pre-built professional templates spanning 12 industry categories

  2. Create custom profession templates with reusable configurations

  3. Deploy entire teams of specialized assistants with one click

  4. Test everything from the backend before exposing to end users

๐ŸŽ“ Professional Templates

Professions are reusable assistant templates with pre-configured:

  • Role descriptions and expertise areas

  • Default tools curated for each profession

  • Knowledge bases with industry-specific best practices

  • AI model defaults (provider, model, temperature)

  • Warnings and disclaimers for professional contexts

Available Categories (~311 professions across 12 categories):

Methodology note: the current sanity check counts 311 profession knowledge documents; runtime availability can vary with seeders, filters, and installed features.

  • ๐ŸŒพ Agriculture & Natural Resources

  • ๐ŸŽจ Art, Media & Entertainment

  • ๐Ÿ’ผ Business & Finance

  • ๐ŸŽ“ Education

  • ๐Ÿฅ Healthcare & Medicine

  • โš–๏ธ Law & Public Safety

  • ๐Ÿ”ฌ Science & Engineering

  • ๐Ÿฝ๏ธ Service Industry

  • ๐Ÿ’ป Technology

  • ๐Ÿ”ง Trades & Manual Labor

  • ๐Ÿšš Transportation

  • ๐Ÿ“‹ Miscellaneous

Example Professions:

  • Software Developer, Web Developer, Data Scientist

  • Accountant, Financial Advisor, Marketing Consultant

  • Registered Nurse, Physician, Pharmacist

  • Attorney, Paralegal, Mediator

  • Content Writer, Graphic Designer, Social Media Manager

  • And ~180 more, depending on active seeders and installed features...

Creating Assistants from Templates

Navigate to AI Assistants โ†’ Add New to browse the visual profession grid:

  1. Browse by category or search for a specific role

  2. Click "Create" on any profession to open a customization modal

  3. Customize the assistant name and AI settings (or use defaults)

  4. Deploy your configured assistant instantly

Each profession template includes:

  • Pre-written system prompts with role-specific expertise

  • Curated tool selections appropriate for the profession

  • Industry knowledge bases and best practices

  • Recommended model settings for optimal performance

๐Ÿ‘ฅ Team Deployments

Teams group multiple professionals for coordinated workflows. Deploy an entire team of specialists with one click:

Pre-Built Teams:

  • Engineering Team - Software, Mechanical, Electrical, Civil Engineers

  • Pharmaceutical Development Team - Pharmacist, Researcher, Clinical Pharmacologist, Regulatory Affairs

  • Research & Data Science Team - Data Scientist, Research Scientist, Statistician, Computer Scientist

  • Marketing & Growth Team - Marketing Consultant, Content Creator, Graphic Designer, Business Consultant

Team Features:

  • Centralized configuration - Set provider, model, and temperature for all team members

  • One-click deployment - Creates all team member assistants simultaneously

  • Consistent settings - Team defaults override individual profession defaults

  • Custom teams - Create your own teams with any combination of professions

Navigate to Teams โ†’ Add Team to deploy a pre-configured team or create custom team combinations.

๐Ÿงช Backend Testing

Test assistants, professions, and teams directly from the WordPress admin before deploying to end users:

Test Assistant (Admin โ†’ AI Assistants โ†’ Test Assistant)

  • Full feature parity with frontend chat interfaces

  • All tools enabled including sensitive/restricted tools (admin-only)

  • File upload support with complete MIME type configuration

  • Transcript saving for debugging and analysis

  • Tool shortcuts pre-loaded from assistant configuration

  • Streaming responses with real-time feedback

Test Profession (Admin โ†’ Professions โ†’ Test Profession)

  • Preview profession templates before creating assistants

  • Validate role descriptions and expertise areas

  • Test default tool selections in live conversations

  • Verify knowledge base content and accuracy

  • Assess AI model performance with profession-specific tasks

Test Team (Admin โ†’ Teams โ†’ Test Team)

  • Test entire teams before deployment

  • Validate team member coordination and role separation

  • Verify shared settings propagate correctly

  • Multi-assistant conversations to test team dynamics

  • Performance benchmarking across team members

Security Note: All test pages require manage_options capability and are restricted to WordPress administrators. Sensitive tools are enabled in test environments because administrators already have full site access.

Documentation:

Custom Professions & Teams

Administrators can create custom profession templates and teams:

Create Custom Profession:

  1. Navigate to Professions โ†’ Add New

  2. Set title, description, and category

  3. Define expertise areas and role description

  4. Select default tools from the registry

  5. Add knowledge base content

  6. Configure AI model defaults

  7. Publish for use in assistant creation

Create Custom Team:

  1. Navigate to Teams โ†’ Add New

  2. Set team name and description

  3. Select profession members from your library

  4. Configure team-wide defaults (provider, model, temperature)

  5. Publish to enable one-click team deployment

Benefits

For Organizations:

  • โœ… Rapid assistant deployment without manual configuration

  • โœ… Consistent configurations across similar roles

  • โœ… Template library grows with your organization

  • โœ… Share profession templates across sites

  • โœ… Professional-grade assistant quality out of the box

For Administrators:

  • โœ… Test everything safely from the backend

  • โœ… No coding required for template-based assistants

  • โœ… Visual template selection interface

  • โœ… Reusable configurations reduce errors

  • โœ… Full control over custom templates

For Developers:

  • โœ… JSON-based knowledge base system

  • โœ… Extensible via filters and hooks

  • โœ… WordPress standard CPT architecture

  • โœ… REST API access for profession and team data

  • โœ… Automated seeding from knowledge base files


๐Ÿ”‘ Assistant API credentials

Administrators can issue per-assistant access tokens from the API Credentials meta box that appears on every assistant edit screen. Tokens are only available to users with the manage_options capability, surface the credential history in a table, and expose one-click revoke and delete actions for rapid cleanup.ใ€F:includes/assistants/class-wp-mcp-ai-assistant-cpt.phpโ€ L483-L595ใ€‘ When you click Generate Credential the plugin produces a single-use token in the form cred_xxxxx.SECRET, hashes the secret server-side, and records the issuer so you have an audit trail of who created each credential.ใ€F:includes/class-wp-mcp-ai-credentials.phpโ€ L94-L135ใ€‘

Remote integrations can authenticate by sending that token in the standard Authorization: Bearer headerโ€”no Auth0 dependency required. The REST layer validates the credential, emits structured errors when a token is revoked or malformed, and scopes the request to the assistant that issued the token so clients cannot hop between assistants without an explicit credential for each one.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L316-L444ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L1282-L1321ใ€‘ใ€F:includes/class-wp-mcp-ai-credentials.phpโ€ L242-L297ใ€‘


๐Ÿณ Local Development with Docker

Spin up a disposable WordPress instance that mounts the plugin source directly into the container:

docker compose up -d
  • WordPress will be available at http://localhost:8000.

  • The plugin source in this repository is mounted to /var/www/html/wp-content/plugins/mcp-ai-wpoos inside the container, so edits on your machine are reflected immediately.

  • The MySQL service is provisioned with the wordpress database, user, and password (wordpress / wordpress).

Visit the site in your browser to complete the standard WordPress installation flow, using the database credentials above when prompted. When you're finished developing, stop the stack with docker compose down.

๐Ÿ” Codex environment startup script

If you are working inside an OpenAI Codex environment, add bin/codex-startup.sh to your workspace start-up tasks so a fresh WordPress install is provisioned automatically for every session โ€” no Docker required.

bin/codex-startup.sh

The script performs the following steps:

  • Downloads WP-CLI locally (if necessary) and uses it to fetch the latest WordPress core files into .codex-wordpress/wordpress.

  • Installs the SQLite Database Integration plugin so WordPress can run without a MySQL server.

  • Symlinks this repository into the new install's wp-content/plugins/mcp-ai-wpoos directory.

  • Installs Composer development dependencies (when available) and provisions the WordPress test suite so composer run test works immediately.

  • Runs wp core install, activates the NV oOS plugin, enables pretty permalinks, and sets a default site tagline.

  • Boots a development server on port 8000 via wp server and logs output to .codex-wordpress/wp-server.log.

Default credentials:

Setting

Value

Site URL

http://localhost:8000

Admin user

admin

Admin password

password

Admin email

admin@example.com

Override any of these values by exporting the environment variables WORDPRESS_URL, WORDPRESS_TITLE, WORDPRESS_ADMIN_USER, WORDPRESS_ADMIN_PASSWORD, WORDPRESS_ADMIN_EMAIL, or WORDPRESS_PORT before running the script.


๐Ÿง‘โ€๐Ÿ’ป Development Tooling

Install the PHP development dependencies (including PHP_CodeSniffer, the WordPress Coding Standards ruleset, and PHPUnit) with:

bin/setup-dev.sh

The script runs composer install and makes the following Composer scripts available:

Purpose

Command

WordPress coding standards lint

composer run lint

PHP compatibility checks (PHP 7.4โ€“8.3)

composer run lint:compat

Auto-fix coding standards violations

composer run format

Generate the translation template

composer run pot

Install the WordPress unit test scaffolding

composer run test:install

Execute the PHPUnit suite

composer run test

These commands automatically resolve the bundled vendor/bin tools (such as phpcs, phpcbf, and phpunit), so a global installation is no longer required.

NOTE

Thetest:install script prefers the Composer-provided wp-phpunit/wp-phpunit package for the WordPress test suite. Run composer install before invoking it, especially on networks where develop.svn.wordpress.org is inaccessible.

NPM Dependencies & Bundling

For details on how NPM dependencies are managed and bundled for both the base plugin and Pro addon, see DEPENDENCIES_BUNDLING.md.

Quick Reference:

  • Base plugin dependencies: @microsoft/fetch-event-source, dompurify, marked, ky, chart.js, @neplex/vectorizer, @langchain/*, @mlc-ai/web-llm

  • Build commands: npm run build:js, npm run install:chartjs, npm run install:vectorizer, npm run build:js:pro

  • Pro addon has separate addons/pro/package.json for Pro-specific dependencies


๐Ÿ“ฆ NPM Packages

Twenty-three standalone browser-utility packages have been extracted from the oOS chat UI and published to the NPM registry under the @nvdigitalsolutions scope. Each package is independently usable in any JavaScript/TypeScript project (no WordPress required).

Package

Description

Dependencies

nvoos-storage

Async JSON via Web Worker โ€” prevents main-thread blocking for large data

Zero

nvoos-markdown

XSS-safe markdown renderer with configurable allowed-tags profile

marked, dompurify

nvoos-events

SSE client with POST support + mitt-compatible job event bus

@microsoft/fetch-event-source

nvoos-http-client

HTTP client with automatic retry, exponential backoff, and request hooks

ky

nvoos-clipboard

copyTextToClipboard() with Clipboard API / execCommand fallback

Zero

nvoos-offline-sync

IndexedDB offline-first sync with automatic server sync on reconnect

Zero

nvoos-slash-commands

Slash command system with fuzzy-search autocomplete and execution engine

Zero

nvoos-audio

Browser audio I/O: TTS, STT, translation, voice chat with VAD

Zero

nvoos-dom-batcher

requestAnimationFrame DOM batcher, scroll batcher, and UI utilities for streaming UIs

Zero

nvoos-api

Typed REST API client โ€” endpoint builders, request helpers, and payload constructors

Zero

nvoos-attachments

File attachment helpers: type detection, validation, normalisation, segment builders

Zero

nvoos-chat-bubble

Floating chat bubble widget โ€” accessibility, sessionStorage, badge notifications, MutationObserver

Zero

nvoos-chat-memory

Promise-based REST client for AI chat memory bridge (wake-up, recall, store, audit, preferences)

Zero

nvoos-chat-memory-ui

Chat memory drawer UI โ€” side panel for viewing, editing, scoping, and exporting long-term AI memories

Zero

nvoos-client-tools

Browser-native AI tool registry (summarize, sentiment, translate, embed, image, audio) using Transformers.js

Zero

nvoos-cron-status

SSE-first cron/job status monitor with REST polling fallback

Zero

nvoos-llm-worker

Web Worker manager for non-blocking LLM operations

Zero

nvoos-model-loader

Progressive AI model loading UI with 4-stage progress tracking

Zero

nvoos-sse-client

TypeScript-native SSE connection manager with lifecycle tracking, per-connection status, automatic cleanup

Zero

nvoos-transcription

MediaRecorder-based audio recording + tool-call transcription pipeline for AI chat surfaces

Zero

nvoos-transformers-client

HuggingFace Transformers.js task wrapper (summarization, sentiment, NER, translation, QA, embeddings)

Zero

nvoos-types

Canonical TypeScript type definitions โ€” AI providers, chat messages, tool execution, SSE streaming, attachments, history, memory, agents, WordPress global augmentations

Zero

nvoos-vad

Browser Voice Activity Detection (VAD) using the Web Audio API

Zero

Installation

# Tier 1 โ€” Core utilities
npm install @nvdigitalsolutions/nvoos-storage
npm install @nvdigitalsolutions/nvoos-markdown marked dompurify
npm install @nvdigitalsolutions/nvoos-events @microsoft/fetch-event-source
npm install @nvdigitalsolutions/nvoos-types

# Tier 2 โ€” Extended browser utilities
npm install @nvdigitalsolutions/nvoos-http-client ky
npm install @nvdigitalsolutions/nvoos-clipboard
npm install @nvdigitalsolutions/nvoos-offline-sync
npm install @nvdigitalsolutions/nvoos-sse-client
npm install @nvdigitalsolutions/nvoos-api
npm install @nvdigitalsolutions/nvoos-attachments

# Tier 3 โ€” Chat UI utilities
npm install @nvdigitalsolutions/nvoos-slash-commands
npm install @nvdigitalsolutions/nvoos-audio
npm install @nvdigitalsolutions/nvoos-dom-batcher
npm install @nvdigitalsolutions/nvoos-chat-bubble
npm install @nvdigitalsolutions/nvoos-chat-memory
npm install @nvdigitalsolutions/nvoos-chat-memory-ui
npm install @nvdigitalsolutions/nvoos-cron-status
npm install @nvdigitalsolutions/nvoos-vad
npm install @nvdigitalsolutions/nvoos-transcription

# Tier 4 โ€” AI runtime utilities
npm install @nvdigitalsolutions/nvoos-client-tools
npm install @nvdigitalsolutions/nvoos-llm-worker
npm install @nvdigitalsolutions/nvoos-model-loader
npm install @nvdigitalsolutions/nvoos-transformers-client

Publishing

Two GitHub Actions workflows handle NPM publishing automatically:

Workflow

Trigger

Tag pattern

.github/workflows/npm-publish.yml

Push tag or workflow_dispatch

v*.*.*

.github/workflows/npm-publish-alpha.yml

Push tag or workflow_dispatch

v*.*.*-alpha.*

Setup โ€” only one secret is required: add an NPM_TOKEN to the repository at Settings โ†’ Secrets and variables โ†’ Actions.

Adding a new package: update the PACKAGES environment variable in both workflow files and place the package directory under packages/.

See packages/README.md for a full package listing and API overview, and packages/QUICK_START.md for usage examples.


๐Ÿงช Testing & QA

  • composer run test executes the PHPUnit suite bundled with wp-phpunit/wp-phpunit and Yoastโ€™s polyfills, covering REST, tooling, and helper contracts.ใ€F:composer.jsonโ€ L16-L23ใ€‘

  • Run composer run test:install once per environment to provision the WordPress test scaffolding before the first test pass.ใ€F:composer.jsonโ€ L16-L23ใ€‘

  • For offline or air-gapped environments, use ./bin/package-vendor-dev.sh to create a downloadable test framework package (~140 MB), then ./bin/install-vendor-dev.sh to deploy it without requiring composer or internet access.

Coding standards & static analysis

  • Enforce the WordPress Coding Standards with composer run lint; auto-fix what you can with composer run format.ใ€F:composer.jsonโ€ L16-L23ใ€‘

  • Validate cross-version compatibility (PHP 7.4โ€“8.3) via composer run lint:compat prior to release builds.ใ€F:composer.jsonโ€ L16-L23ใ€‘

Manual smoke tests

  • Follow the scenarios in ## โœ… Manual QA Scenarios after significant changes to chat flows, tool execution, or authentication wiring.

  • For logging-centric debugging, enable logging in the NV oOS settings and reference the retrieval commands in ๐Ÿชต Logging.


โš™ CI/CD Pipelines

The repository runs ~30 automated GitHub Actions workflows on every push and PR:

Workflow

Purpose

phpunit.yml

PHPUnit test suite (PHP 8.1, MySQL 8.0)

javascript-tests.yml

Jest-based JS test suite

php-linting.yml

PHPCS + PHP compatibility (7.4โ€“8.3)

security.yml

Dependency vulnerability scanning

security-regression.yml

Security regression tests

build-spa-addons.yml

Build all SPA addon ZIPs

build-canvas-addon.yml

Canvas addon ZIP build

build-comic-reader-addon.yml

Comic Reader addon ZIP build

build-nvoos-graphify*.yml

Graphify standalone plugin builds (3 workflows)

npm-publish.yml / npm-publish-alpha.yml

NPM package publishing (stable + alpha)

release.yml

GitHub Release automation

chat-parity-check.yml

Cross-provider chat parity testing

qa-e2e.yml

End-to-end QA tests

spa-a11y.yml

WCAG 2.1 AA accessibility checks

spa-bundle-size.yml

SPA bundle size monitoring

link-check.yml

Documentation link validation

cloud-worker-tests.yml

Cloud Worker integration tests

post-deploy-health.yml

Post-deployment health checks

sync-nvoos-*.yml

Monorepo subtree sync to standalone repos (9 workflows)

stale.yml

Stale issue/PR management

auto-label.yml

Automated PR labeling

project-automation.yml

GitHub project board automation


๐Ÿ’ฌ Frontend Shortcode

Embed a published assistant anywhere on the site with the shortcode. Replace 123 with the post ID of the assistant you created under AI Assistants.

[mcp_ai_chat assistant="123"]

How it works

  • The shortcode renders a lightweight chat UI that talks to the plugin's REST API endpoints.

  • Scripts and styles are enqueued automatically and include REST nonces plus the selected assistant ID.

  • Responses are displayed inline, including tool invocation feedback when the model requests a registered tool.

Requirements

  • The assistant post must be published and, by default, the current user must have the edit_posts capability (matching the REST permission check). Add allow_guests="true" to the shortcode when you want anonymous visitors to participate in the chat.

  • An OpenAI API key and default model must be configured in Settings โ†’ NV oOS.

Tips

  • Omit the assistant attribute to fall back to the default assistant configured in the settings screen.

  • Multiple shortcodes can be added to the same page; each chat instance maintains its own conversation context on the client.

  • Use allow_guests="true" to expose the chat UI to logged-out visitors. Each render issues a short-lived guest token that authorises REST requests without a WordPress login.

  • REST interactions rely on the [wp_rest] nonce, so caching plugins should avoid caching pages for logged-in editors running the chat.

Elementor widget

  • Elementor sites automatically gain an NV oOS Chat widget that mirrors the shortcode controls, including the optional assistant selector and the guest access toggle.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-widget.phpโ€ L17-L109ใ€‘

  • Leaving the assistant control blank falls back to the default assistant configured in the plugin settings, and enabling Allow Guests injects the same temporary tokens used by the shortcode flow.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-widget.phpโ€ L45-L110ใ€‘ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L132-L224ใ€‘

  • The Elementor chat widget can surface everything saved on the assistant postโ€”model defaults, knowledge files, prompt shortcuts, and assigned toolsโ€”so you can build documentation and dashboards without copying values manually.ใ€F:includes/elementor/class-wp-mcp-ai-elementor-widget.phpโ€ L95-L845ใ€‘


๐Ÿงต REST Chat Payloads & Attachments

The /wp-json/mcp-ai/v1/chat endpoint accepts rich, multi-part messages. Each message object still requires a role, but the content may now be either a plain string or an array of structured segments that map to OpenAI's multimodal contract.

{
  "assistant_id": 123,
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this photo" },
        { "type": "input_image", "attachment_id": 456, "detail": "high" }
      ]
    }
  ],
  "options": {
    "response_format": { "type": "json_schema", "json_schema": { "name": "caption" } }
  }
}

Supported segment types

  • text โ€“ Free-form text (text property). Strings supplied directly to content are automatically wrapped in this format. For backwards compatibility, existing input_text payloads sent to the REST API are still accepted and normalised to the new schema.

  • input_image โ€“ Reference an uploaded WordPress attachment (attachment_id) or provide a remote url. Optional detail hints (low, auto, high) and caption fields are preserved. (Fixed in v1.0.0: Chat client attachments now properly processed)

  • input_file โ€“ Reference an uploaded attachment that should be streamed to the model. (Fixed in v1.0.0: Chat client file attachments now properly processed)

The REST controller validates attachment ownership/permissions, enforces a default 5โ€ฏMB size cap (filterable via wp_mcp_ai_max_attachment_bytes), and only allows safe MIME types by default. Text and structured data formats include Markdown, CSV/TSV, HTML, JSON/JSONL/NDJSON, and XML; binary documents cover PDFs and Microsoft Word/PowerPoint/Excel variants; and audio/video uploads accept AAC/FLAC/M4A/MP3/OGG/OPUS/WAV/WEBM plus MP4 or QuickTime sources. ใ€F:includes/class-wp-mcp-ai-message-attachments.phpโ€ L642-L709ใ€‘

Whenever attachments are present, the plugin automatically inlines the asset data when sending requests to OpenAI's Responses API. Image segments are converted to data URLs and file segments include the base64-encoded payload alongside the original filename, so integrators do not need to upload assets manually before invoking a model.

REST requests that include attachments automatically gain access to the bundled Submit Document Prompt tool so the files reach OpenAI even when the assistant has the tool disabled in its configuration.ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L22-L29ใ€‘ใ€F:includes/class-wp-mcp-ai-rest.phpโ€ L963-L991ใ€‘

Assistant memory files configured on the post (memory_files) are also promoted to structured text segments on the system channel, retaining the existing chunking/truncation safeguards.

Need to relax or tighten the allowed file types? Administrators can override the image and file MIME lists directly in Settings โ†’ NV oOS โ†’ Attachments, and the same values are used by shortcode-driven chat surfaces (including the Elementor widget) when building upload restrictions.ใ€F:includes/admin/class-wp-mcp-ai-admin-settings.phpโ€ L225-L267ใ€‘ใ€F:includes/class-wp-mcp-ai-message-attachments.phpโ€ L456-L565ใ€‘ใ€F:includes/class-wp-mcp-ai-shortcode.phpโ€ L197-L218ใ€‘ When JSON Lines support is enabled in the allowlist the plugin also registers .jsonl and .ndjson extensions with WordPress so uploads succeed without additional filters.ใ€F:mcp-ai-wpoos.phpโ€ L236-L272ใ€‘

Assistants can also query existing knowledge files with the Search Attachments tool, which reuses WP_MCP_AI_Message_Attachments::user_can_access_attachment() so only publicly accessible or user-owned media is returned alongside download URLs and file metadata for the model to reuse.ใ€F:includes/tools/class-wp-mcp-ai-tool-search-attachments.phpโ€ L15-L207ใ€‘ใ€F:includes/class-wp-mcp-ai-message-attachments.phpโ€ L480-L575ใ€‘


๐Ÿ” JetEngine Capability Reference

When the plugin interacts with JetEngine objects it defers to the capabilities enforced by JetEngineโ€™s own REST handlers and editor interfaces. Use the following table to review the specific capability checks that gate each object type:

Object / Context

Capability string(s)

Notes

Custom Post Type editor & REST endpoints

manage_options

Editing built-in post types and all CPT REST endpoints require the user to have manage_options.

Custom Taxonomy editor & REST endpoints

manage_options

Built-in taxonomy edits and every taxonomy REST endpoint enforce the manage_options capability.

Relation management UI & REST endpoints

manage_options

Creating, editing, listing, or deleting relations through the admin REST handlers requires manage_options.

Relation REST access settings (rest_get_access, rest_post_access)

Stored capability string or 'public' (default manage_options)

The public REST controller checks a capability stored in relation args; if blank or 'public' the request is allowed, otherwise current_user_can( $cap ) is enforced. Newly created relations default rest_post_access to manage_options in the editor UI.

Relation object type โ€œPostsโ€

edit_post, delete_post

Editing or deleting related post items requires the corresponding post capability for the specific post ID.

Relation object type โ€œTaxonomy Termsโ€

edit_term, delete_term

Term relations check the matching term capabilities for the targeted term ID.

Relation object type โ€œMix โ†’ Usersโ€

edit_users (for edits); deletion disallowed

Editing user relations needs edit_users; deletions are explicitly forbidden (returns false). Other mix objects defer to filters for capability checks.

Relation object type โ€œCustom Content Types (CCT)โ€

Configured capability (defaults to manage_options)

Relation checks defer to the CCTโ€™s user_has_access(), which in turn checks current_user_can( $this->user_cap() ); the capability defaults to manage_options unless overridden in the CCT settings or filters.


๐Ÿ›ฐ JetEngine REST API Reference

  • ๐Ÿ“„ Review the full endpoint catalogue in docs/reference/api/jet-engine-rest-routes.md for route paths, callbacks, and required parameters.

  • ๐Ÿค– When JetEngine is active, assistants can invoke the List JetEngine REST Routes tool to retrieve the same metadata directly inside a conversation (requires a user with the manage_options capability).


๐Ÿชต Logging

  • Enable or disable logging from Settings โ†’ NV oOS โ†’ Enable Logging.

  • When logging is enabled the plugin records:

    • Chat requests and responses processed by the REST API.

    • Tool executions (including permission denials).

    • Errors returned from the OpenAI API and internal validation.

  • Log entries are written via PHP's error_log() and can be filtered with wp_mcp_ai_log_entry to route them elsewhere.ใ€F:includes/class-wp-mcp-ai-logger.phpโ€ L16-L137ใ€‘

  • Recent errors and activity snapshots are also persisted in the wp_mcp_ai_recent_errors (50 entries) and wp_mcp_ai_recent_activity (100 entries) options for dashboards and widgets, keeping autoload disabled to avoid bloating frontend requests.ใ€F:includes/class-wp-mcp-ai-logger.phpโ€ L611-L662ใ€‘

  • Retrieve those rolling buffers quickly with WP-CLI when debugging production incidents:

    wp option get wp_mcp_ai_recent_errors --format=json
    wp option get wp_mcp_ai_recent_activity --format=json

๐Ÿงพ JetEngine REST Endpoint Report Helper

Use the JetEngine report helper to surface the CRUD coverage matrix that was compiled during the REST endpoint audit. The helper exposes the underlying endpoint metadata as a structured array so you can reuse it in documentation, dashboards, or custom checks.

$report = wp_mcp_ai_get_jetengine_endpoint_report();

foreach ( $report['coverage'] as $resource => $operations ) {
    printf( "%s supports: %s\n", ucfirst( $resource ), implode( ', ', array_keys( array_filter( $operations ) ) ) );
}

if ( empty( $report['missing'] ) ) {
    echo "All CRUD operations are covered.";
}

The helper is filterable via:

  • wp_mcp_ai_jetengine_endpoint_routes โ€“ Adjust the source routes before the coverage matrix is derived.

  • wp_mcp_ai_jetengine_endpoint_coverage โ€“ Modify the generated CRUD coverage.

  • wp_mcp_ai_jetengine_missing_operations โ€“ Override the derived list of missing operations per resource.

Each filter receives the full data set so you can extend or replace the output when JetEngine adds new endpoints or when your project needs to surface additional metadata.


๐Ÿ”Œ Optional Tools & Dependencies

NV oOS works perfectly with vanilla WordPress - you don't need any third-party plugins for core functionality.

However, certain features require third-party plugins (sold separately). The plugin automatically detects which plugins are active and enables the corresponding tools:

Plugin Detection & Tool Loading

  • JetEngine (5 tools) โ€“ Server-side chat transcripts, JetEngine content access, JetFormBuilder integration

  • WooCommerce (3 tools) โ€“ E-commerce automation, product/order management

  • Elementor (1 tool + widgets) โ€“ Template management, pre-built chat widgets

  • Rank Math SEO (1 tool) โ€“ SEO analysis and schema data access

  • WPCode (1 tool) โ€“ Code snippet management and automation

๐Ÿ“– See the complete breakdown: ๐Ÿ”Œ What You Lose Without Third-Party Plugins

How It Works

  1. Each tool description in the admin UI shows which plugin it requires

  2. Tools are automatically hidden when their dependency is missing

  3. Administrators see informational notices explaining unavailable tools

  4. No errors occur - the plugin gracefully handles missing dependencies


โœ… Manual QA Scenarios

The project currently relies on manual verification. Run these checks after updating the plugin:

  1. Baseline (no optional plugins)

    • Deactivate WooCommerce and JetEngine.

    • Load the AI Assistant edit screen and confirm only core tools appear. No PHP notices or fatal errors should occur.

    • Visit the WordPress dashboard to confirm the informational notices explain why optional tools are disabled.

  2. WooCommerce enabled

    • Activate WooCommerce.

    • Reload the Assistant editor and ensure the WooCommerce Orders and Products tools appear and can be selected.

    • Trigger each tool (e.g., via an assistant conversation) and confirm recent orders and product summaries return without errors.

  3. JetEngine enabled

    • Activate JetEngine.

    • Confirm the JetEngine Items tool appears for assistants and returns data for a configured JetEngine post type.

  4. Tool call retry resilience

    • Initiate a chat conversation that triggers a tool call (for example, request an operation that requires either WooCommerce tool).

    • After the tool output appears, send a follow-up message that prompts the assistant to continue without invoking another tool.

    • Confirm the follow-up succeeds without a JavaScript console error referencing a missing tool_call_id.

Document the results of each scenario when preparing releases to ensure optional integrations remain stable.


๐Ÿงฉ Hooks & Filters

Use the following hooks to extend the plugin:

Hook

Type

Description

do_action( 'wp_mcp_ai_before_chat_request', $assistant_id, $messages, $options, $request )

Action

Fires before a chat request is sent to OpenAI.

do_action( 'wp_mcp_ai_after_chat_response', $assistant_id, $response, $request )

Action

Fires after a chat response is received.

apply_filters( 'wp_mcp_ai_chat_options', $options, $assistant_config, $request )

Filter

Modify the OpenAI request options before dispatch.

apply_filters( 'wp_mcp_ai_chat_capability', $capability, $assistant_id, $context )

Filter

Adjust the capability required to use the chat shortcode and REST endpoints (defaults to edit_posts). Return 'public' or an empty value to allow any visitor.

do_action( 'wp_mcp_ai_before_tool_execution', $tool_slug, $arguments, $context )

Action

Runs immediately before a tool executes.

apply_filters( 'wp_mcp_ai_tool_output', $result, $tool_slug, $arguments, $context )

Filter

Inspect or transform tool output before it is returned.

do_action( 'wp_mcp_ai_after_tool_execution', $tool_slug, $arguments, $context, $result )

Action

Runs after a tool completes execution.

apply_filters( 'wp_mcp_ai_log_entry', $entry, $type, $message, $context )

Filter

Intercept or redirect logging output.

apply_filters( 'wp_mcp_ai_onboarding_presets', $presets )

Filter

Add, remove, or modify onboarding wizard use-case presets. Each preset defines tools, system prompt, temperature, and assistant name.

do_action( 'wp_mcp_ai_onboarding_presets_seeded', $created, $preset_keys )

Action

Fires after the onboarding wizard creates assistant CPT posts from selected presets. $created maps preset keys to post IDs.


๐Ÿงฐ WP-CLI Commands

Manage the NV oOS environment from the command line when WP-CLI is available.

Command

Description

wp mcp-ai status

Summarises WordPress core details, PHP version, and NV oOS supported plugin coverage.

wp mcp-ai remote <base>

Probes a remote MCP REST namespace (such as https://example.com/wp-json/mcp-ai/v1) by loading the assistant directory and issuing a lightweight POST /chat probe, reporting connectivity, assistant counts, and token scope metadata.

wp mcp-ai plugins list

Lists optional dependencies (WooCommerce, JetEngine, etc.) with install and activation state.

wp mcp-ai plugins activate <slug>

Activates a supported plugin; pass --network on multisite installations.

wp mcp-ai plugins deactivate <slug>

Deactivates a supported plugin; pass --network on multisite installations.

wp mcp-ai chat <message>

Sends a one-shot chat message to an assistant via the language model router. Accepts --assistant, --model, --provider, --temperature, --max-tokens, --stream, and --format flags.

wp mcp-ai memory recall

Recalls agent memory entries. Use --assistant to scope operations.

wp mcp-ai thread list

Lists chat threads. Use --assistant to filter. Also supports get and delete subcommands with --thread-id.

wp mcp-ai provider list

Lists all AI providers with enabled/disabled status. Also supports test <slug> and models <slug> subcommands.

wp mcp-ai cron list

Lists scheduled cron jobs tracked by NV oOS. Also supports run <job-id> and delete <job-id> subcommands.

wp mcp-ai transcript list

Lists transcripts eligible for mining. Use --assistant to filter. Also supports mine subcommand for batch mining.

wp mcp-ai approval list

Lists pending human-in-the-loop approval items. Accepts --format flag. Also supports approve and reject subcommands with --item-id.

wp mcp-ai tool list

Lists all registered tools with status and capability. Accepts --status, --format, and --fields flags. Also supports enable <slug>, disable <slug>, and call <slug> --args='{"โ€ฆ":โ€ฆ}'.

wp mcp-ai assistant list

Lists all AI assistants. Accepts --status and --format flags.

wp mcp-ai credential list

Lists API credentials configured for an assistant.

wp mcp-ai slash list

Lists registered slash commands. Also supports execute <command> and help <command>.

wp mcp-ai settings get

Retrieves all NV oOS settings.

wp mcp-ai cache clear

Clears the NV oOS object cache.

wp mcp-ai security posture

Security posture score with every signal. Also supports audit, purge-audit, gate, and keys.

wp mcp-ai model list --provider=<slug>

Lists catalog models per provider. Also supports suggestions and discover.

Full reference: see docs/operations/wp-cli.md for the complete Base + Pro + addon command tree, capability matrix, and scripting patterns.

wp mcp-ai remote accepts additional flags so you can mirror the authentication mode used by your deployment while exercising TLS and timeout controls:

  • --token=<token> โ€“ Include an Auth0 access token or assistant-issued credential via the Authorization header.

  • --guest-token=<token> โ€“ Attach a guest token when testing public chat surfaces that rely on the X-WP-MCP-AI-Guest header.

  • --nonce=<nonce> โ€“ Supply a WordPress REST nonce for same-origin checks.

  • --assistant-id=<id> โ€“ Hint which assistant to load when the directory endpoint supports scoped tokens.

  • --timeout=<seconds> โ€“ Override the default 15-second timeout when probing slow networks.

  • --verify-ssl=<boolean> โ€“ Toggle certificate validation (defaults to true).

  • --user-agent=<agent> โ€“ Send a custom user agent instead of the built-in WP-MCP-AI-Remote-Tester/<version> signature.

Filter wp_mcp_ai_supported_plugins to expose additional managed dependencies to the CLI helpers.

Each hook receives sanitized data and respects the current user's permissions and multisite membership.


๐Ÿ†˜ Getting Help & Support

Documentation Resources

Start with the comprehensive documentation before seeking additional support:

  1. Quick Reference Guide - Fast answers to common questions and tasks

  2. Documentation Index - Navigate all 1,600+ documentation files

  3. Troubleshooting Guide - Solutions to common issues

  4. REST API Reference - Complete API documentation

Before Reporting Issues

When encountering problems, please:

Common Issues

npm EACCES Permission Error (package-lock.json)

If you get EACCES: permission denied, open '.../package-lock.json' when running npm install:

This means you do NOT need to run npm install.

The plugin distributes pre-built minified assets (.min.js/.min.css files) so npm install is never required for production use. You only need npm if you are a developer modifying JavaScript source files.

Solutions:

  • If installing from ZIP: Simply upload and activate the plugin. No npm commands needed.

  • If cloning the repository for production use: Activate the plugin as-is. The pre-built assets in the repository are ready for production.

  • If you need to rebuild assets (development only): Run npm on a development machine where you have write access, then deploy the built files.

If you must run npm in a restricted directory (e.g., during CI or scripted deployments), use:

npm install --no-package-lock

npm/Composer Install Error After Cloning

If you get ENOENT: no such file or directory, uv_cwd (npm) or getcwd() failed (composer) errors:

For Cloudways Users (Most Common):

These errors occur when you try to run npm or composer from a directory that has been moved, deleted, or no longer exists. This commonly happens when you clone outside the WordPress plugins directory and then move/copy files while your shell session is still in the original location.

Solution: Always clone directly into the plugins directory:

# SSH into your Cloudways server
cd /home/master/applications/YOURAPP/public_html/wp-content/plugins/

# Clone directly (replace YOURAPP with your application name)
git clone https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git
cd mcp-ai-wpoos

# Verify you're in the right place
pwd  # Should show the full plugins path

# NOTE: npm install is NOT required for production use.
# Activate the plugin in WordPress admin - it is ready to use.
# Only run composer if you need to update PHP dependencies (development only):
# composer install --no-dev

For Local Development or VPS:

  1. Ensure you're in the correct directory - Run pwd to verify you're in the mcp-ai-wpoos directory

  2. Do not run commands from a moved/deleted directory - If you moved files, open a new terminal session in the new location

  3. Production workflow (no npm or composer needed):

    # Clone the repository
    git clone https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git
    
    # Copy to WordPress plugins directory
    cp -r mcp-ai-wpoos /path/to/wordpress/wp-content/plugins/
    # Plugin is ready to activate - no build step required.
  4. Development workflow (only if you need to rebuild JS/CSS assets):

    # Clone the repository on your development machine (not the server)
    git clone https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git
    cd mcp-ai-wpoos
    
    # Install dev dependencies and rebuild assets
    npm install && npm run build
    composer install --no-dev
    
    # Deploy built files to the server
  5. Alternative: Clone directly into WordPress - This avoids copy/move issues:

    cd /path/to/wordpress/wp-content/plugins/
    git clone https://github.com/nvdigitalsolutions/mcp-ai-wpoos.git
    # Activate the plugin - it is production-ready without any npm or composer commands.

Chat Not Working

  1. Verify OpenAI API key is configured in Settings โ†’ NV oOS

  2. Ensure assistant is published

  3. Check user has edit_posts capability or add allow_guests="true" to shortcode

  4. Enable logging and check browser console for errors

Tool Execution Failures

  1. Verify tool is enabled for the assistant

  2. Check required dependencies are installed (WooCommerce, JetEngine, etc.)

  3. Ensure user has necessary capabilities

  4. Review tool-specific requirements in tool reference

Remote Client Connection Issues

  1. Verify credentials are correct and not expired

  2. Test with remote client quickstart guide

  3. Use WP-CLI command: wp mcp-ai remote <url> --token=<token>

  4. Review authentication documentation

Reporting Issues

When creating a GitHub issue, please include:

  • Plugin version (found in WordPress admin)

  • WordPress version and PHP version

  • Error messages from logs (enable logging in settings)

  • Steps to reproduce the issue

  • Expected behavior vs actual behavior

  • Screenshots if applicable

Create issues at: https://github.com/nvdigitalsolutions/mcp-ai-wpoos/issues

Contributing

We welcome contributions! Please see:

Documentation

Comprehensive documentation is available:

For Historical Reference:

Security Vulnerabilities

For security issues, please review our Security Policy and report vulnerabilities responsibly.

Do not create public GitHub issues for security vulnerabilities.

Community & Updates


โค Sponsor & Support

NV oOS is free and open source, and it stays that way because of the community. If the plugin saves you time or helps your site run more smoothly, here are the ways you can support the project:

๐Ÿ’– Financial Support

Option

Details

GitHub Sponsors

Monthly or one-time sponsorship of the NV Digital Solutions organization. Sponsorship directly funds long-term maintenance, documentation, and new features. โ†’ github.com/sponsors/nvdigitalsolutions

NV oOS Pro / Complete

Buy the commercial Pro addon (or the Complete bundle: base + Pro). It adds ~1,300 tools โ€” multi-agent orchestration, CRM, project management, vault/secret management, and more โ€” on top of the free base plugin. โ†’ nvdigitalsolutions.com/wpoos

Sponsor button

The Sponsor button on the GitHub repository (powered by .github/FUNDING.yml) links to the options above.

๐Ÿ™Œ Free Ways to Help

  • โญ Star the repository โ€” it helps more people discover the project.

  • ๐Ÿ› Report bugs & request features โ€” quality issues make the project better; see Reporting Issues.

  • ๐Ÿค Contribute โ€” code, docs, tests, or translations; start with CONTRIBUTING.md.

  • ๐Ÿ’ฌ Spread the word โ€” tell other WordPress site owners about NV oOS.


๐Ÿ“„ License

NV oOS ships under a three-tier license model:

Component

License

Base plugin (root + includes/)

GPL-3.0-or-later

addons/algorave/

AGPL-3.0-or-later (bundles @strudel/web AGPL-3.0)

addons/pro/, addons/graphify/, addons/embedded/, addons/cornerstone3d/, addons/canvas/, addons/cloud-worker/, addons/fantasy-football/

Proprietary โ€” ยฉ NV Digital Solutions, all rights reserved

The base plugin's GPL-3 grant is in LICENSE. Bundled third-party dependencies retain their upstream licenses; see CREDITS.md for the full attribution index.


Thank you for using Open Operator System!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A self-contained MCP server plugin that connects WordPress to AI, providing 58 abilities for managing posts, pages, media, users, plugins, menus, comments, and more through any MCP-compatible AI client.
    169
    GPL 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Turns any WordPress site into an MCP server, allowing AI clients to directly control files, database, WP-CLI, PHP, content, and more through declarative abilities without writing code.
    3
    GPL 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    A free WordPress plugin that turns your site into a governed MCP server, exposing 153 curated WordPress abilities (posts, media, users, WooCommerce, ACF, SEO) as tools for AI agents like Claude and Cursor. Every ability is off by default, scoped to a least-privilege user, capability-gated, and logged.
    6
    GPL 2.0