Skip to content

Repository files navigation

SproutOS

SproutOS Developer Edition

WordPress AI Control API + native MCP server for Claude, Cursor and AI agents, with an administrator-only PHP execution tool.

The AI Operating System for Modern WordPress Agencies, from the team behind plugins running on 500,000+ WordPress sites.

What Is ItTwo EditionsInstallationAuthMCP ToolsREST APISafety

WordPress 6.9+ PHP 8.0+ MCP Spec License GPLv2


What Is This?

SproutOS Developer Edition is the full, unrestricted build. It contains everything the WordPress.org SproutOS plugin has, the entire /wp-json/sprout-os/v1/ REST control API and the complete safety layer, and adds two developer-only capabilities:

  1. A native MCP tool server at /wp-json/mcp/sproutos (JSON-RPC over Streamable HTTP, MCP spec 2025-06-18), so AI clients such as Claude, Claude Code and Cursor connect directly and see the tools with no cloud proxy.
  2. A PHP execution tool (sprout/eval), administrator-only, that runs arbitrary PHP for anything no dedicated tool covers.

Like the WordPress.org build, it is fully self-contained: no MCP Adapter, no WordPress Abilities API, no bundled third-party libraries. Every endpoint is written from scratch, administrator-gated, and covered by the safety layer.

⚠️ Because it ships arbitrary PHP execution, this Developer Edition is not on the WordPress.org directory. It is distributed here, on GitHub, as the self-hosted developer build.


Two Editions: Which One Do I Install?

SproutOS ships in two editions built from one identical codebase. The only difference is a single folder, the developer tools folder, so everything else behaves the same in both.

SproutOS SproutOS Developer Edition
Where WordPress.org GitHub (this repo)
Best for Live and client sites Local, staging and developer environments
REST control API (/wp-json/sprout-os/v1)
Full safety layer (domain lock, rate limit, protected posts, audit log)
Elementor read / write / granular element ops
Native MCP server (direct Claude / Cursor connection)
PHP execution tool (sprout/eval)
File access Limited and secure Full read / write / delete

The one difference, in plain terms: the developer tools folder. In the WordPress.org edition it is left out entirely, so file access stays limited and secure, the right choice for production. In this Developer Edition it adds sprout/eval, which executes raw PHP as an administrator and can read, write and delete any WordPress file or folder, run any database query, and change anything on the site PHP can reach.

That is complete freedom, and complete responsibility for your entire WordPress setup. This is the most powerful build, and it is recommended that you keep backups and use a staging workflow. Choose wisely.

👉 Running production or client sites? Install the safe edition from WordPress.org instead.


Relationship To The WordPress.org Build

This is a drop-in replacement for the WordPress.org sproutos plugin:

  • When sproutos-dev is active, the sproutos plugin stands down automatically (it defines and boots nothing), so there is never a duplicate registration.
  • It keeps the same endpoints (/wp-json/mcp/sproutos, /wp-json/sprout-os/v1), admin menu and option keys, so moving between the two editions is smooth: same URLs, same settings.

Run one of the two at a time. Both share the same class and function names; coexistence works only because the WordPress.org build stands down for this one.


Installation

  1. Upload to wp-content/plugins/sproutos-dev/.
  2. Activate SproutOS Dev from the Plugins screen. (If the WordPress.org SproutOS is also active, it steps aside automatically.)
  3. Open SproutOS in the admin menu to create an Application Password.

Requires WordPress 6.9+ and PHP 8.0+.


Authentication

Every surface is administrator-only (manage_options). AI clients and REST callers authenticate with a WordPress Application Password:

Authorization: Basic base64( "username:application-password" )

Create one under Users → Profile → Application Passwords, or from the SproutOS admin page.


MCP Tool Server

Endpoint: /wp-json/mcp/sproutos. Add it as a custom MCP server in your client.

Claude Code:

claude mcp add --transport http sproutos \
  https://your-site.com/wp-json/mcp/sproutos \
  --header "Authorization: Basic <base64>"

Tools exposed to the client:

Tool Purpose
sprout/read write edit Read / create / surgically edit files in the SproutOS workspace
sprout/list search Browse and grep the workspace
sprout/delete move Remove / rename files
sprout/eval Run arbitrary PHP. Create Elementor pages, ACF fields, posts, WooCommerce data, DB queries, and more. Administrator-only, full site access.

sprout/eval is guarded where it can be: protected posts cannot be modified even from raw code (WordPress-API and raw $wpdb writes to a protected post are blocked), and every run is written to the audit log.


REST API

The full /wp-json/sprout-os/v1 surface from the WordPress.org build is included: site, content, post-meta, media, options, plugins (list/toggle/upgrade/install), themes (files/install/upgrade), inspection (users/database/settings/updates/snapshot/server-readiness/theme-docs/builder-probe), Elementor (read/write plus granular get/edit/clone/move/delete/insert), plus POST /exec (the REST twin of sprout/eval). Call GET /manifest for the live list.


Safety And Controls

Same layer as the WordPress.org build (domain lock, rate limiter, protected-post guard, audit log, secret redaction, executable-upload block), extended to the MCP surface and to sprout/eval, which also arms runtime hooks so raw PHP cannot touch a protected post.

⚠️ sprout/eval runs arbitrary code as an administrator. Its real protection is the admin-only gate plus the audit log; the protected-post guards are best-effort defence in depth, not a hard sandbox. It gives full access to your WordPress files, folders and database, so use it only where you have backups and, ideally, a staging site. It can be disabled entirely via the SPROUT_MCP_DISABLE_EXEC constant or the sprout_rest_allow_exec filter.


Changelog (1.2.0)

  • New: API-based MCP architecture (replaces the previous abilities-based engine).
  • Removed: Memory functionality.
  • Removed: Sandbox environment.
  • Removed: Integrations for Elementor, Bricks, ACF, Pods, Divi, Breakdance, Beaver Builder, Oxygen, ASE, and other page-builder features.
  • Improvement: Simplified and cleaned up the core architecture.

See CHANGELOG.md for the full history.


Live or client sites? Get the safe edition on WordPress.org →
sproutos.ai

About

AI-powered WordPress MCP plugin | Give AI agents full access to your pages, themes, files, code, and database through the Model Context Protocol. Built by POSIMYTH.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages