=== StrifeBridge MCP === Contributors: strifero Tags: mcp, claude, ai, automation, rest-api Requires at least: 5.6 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 3.1.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Connect your WordPress site to Claude and other AI assistants through the Model Context Protocol. Manage posts, media, menus, and more in plain English. == Description == StrifeBridge MCP turns your WordPress site into an MCP (Model Context Protocol) endpoint that AI assistants like Claude can connect to directly. Instead of describing a change to an AI and then applying it yourself, you ask and it happens. Want to add a blog post? Ask Claude. Need to update a menu item? Ask Claude. Wondering which pages are missing SEO metadata? Ask Claude to check and fix them. StrifeBridge MCP exposes a structured, authenticated REST API and MCP server inside your WordPress install. AI assistants that support MCP (ChatGPT, Claude.ai, Claude Desktop, Gemini, Cursor, Windsurf, and any MCP-capable agent framework) can connect to it and perform tasks across your site through natural language. Connections use OAuth 2.1 and act as a real WordPress account, so an assistant is held to that account's permissions. = What you can do = * Create, update, and delete posts, pages, and custom post types * Upload files to the media library and manage attachments * Read and write WordPress options, with a security blacklist for sensitive keys * Manage navigation menus, taxonomy terms, and widgets * List, activate, deactivate, and delete plugins * List users and inspect their roles * Get site info, flush rewrite rules = See and control what the AI does = Every tool call is recorded in an activity log — what ran, whether it worked, and where the request came from, including refused calls and failed sign-in attempts. The Settings screen shows recent activity at a glance. Safe Mode adds guardrails on top of the per-tool-group toggles: * **Never publish** — new posts stay drafts, and updates cannot publish them * **Trash instead of delete** — deletions stay recoverable * **Read-only mode** — the AI can look but not touch = How it works = 1. Install and activate the plugin 2. Go to Settings and copy your Server URL 3. Paste it into your AI assistant as a custom MCP connector 4. The assistant sends you back to WordPress to sign in and approve the connection 5. Ask the assistant to do things on your site No middleware, no third-party relay service. Every request goes from your AI assistant directly to your own WordPress site. You own the endpoint, you own the token, and you can revoke access at any time from Settings. = Compatible with = * ChatGPT — via OAuth * Google Gemini — via OAuth * Claude.ai (web and desktop), and Claude Code * Cursor * Windsurf * Any MCP-capable agent framework ChatGPT and Gemini require OAuth, which arrived in version 3.0.0. The others accept either OAuth or the legacy token. = Security = StrifeBridge MCP was designed with security as a first-class concern: * OAuth 2.1 with mandatory PKCE (S256 only; the `plain` method is refused), single-use 60-second authorization codes, exact-match redirect URIs, and rotating refresh tokens * Tokens, authorization codes, and client secrets are stored only as hashes and compared in constant time with `hash_equals()` * Every connection is bound to a WordPress account and subject to that account's capabilities, and can be revoked individually from Settings * WordPress secret keys, auth salts, and the plugin's own token are blacklisted from the options API * Emergency Lockdown button in Settings disables the entire API with one click * Every tool group (posts, media, menus, etc.) can be individually toggled off from Settings * The plugin includes no outbound network calls, no analytics, and no tracking = Compatibility with self-hosted WordPress = StrifeBridge MCP works on any self-hosted WordPress installation running WordPress 5.6 or higher. WordPress.com and WordPress Multisite are not currently supported. = Extending StrifeBridge MCP = StrifeBridge MCP exposes extension hooks that let add-on plugins register additional MCP tools without modifying the core plugin. Developers can hook into `sbmcp_register_rest_routes`, `sbmcp_mcp_tools`, `sbmcp_mcp_tool_call`, `sbmcp_tool_groups`, and `sbmcp_admin_after_settings` to add routes, tools, admin UI, and tool groups. This is how separately distributed add-ons extend the plugin with features like file editing, database queries, and user management. == Privacy == StrifeBridge MCP keeps an activity log in your own WordPress database, in a table named `{prefix}sbmcp_audit_log`. Each entry records the time of the request, the name of the tool that ran, a short sanitized summary of what it acted on, whether the call succeeded, failed, or was refused, and — unless you turn it off — the IP address the request came from. * **Nothing leaves your site.** The log is local to your database. The plugin makes no outbound network calls and sends no analytics or telemetry anywhere. * **No content or secrets are stored.** Argument summaries are allowlisted per tool, so option values, post content, widget settings, uploaded file data, and API tokens are never written to the log. A tool the plugin does not recognize records no arguments at all. * **IP logging is optional.** "Log IP addresses" under Settings → StrifeBridge MCP → Safety is on by default and can be switched off, after which new entries store no address. Entries already recorded keep the addresses they were written with; deleting those is a matter of waiting for them to be pruned, or clearing the table. * **Entries are pruned automatically.** A daily scheduled task keeps the free version to a rolling window of 30 days or 1000 entries, whichever comes first. Older entries are deleted permanently. * **Everything is removed on uninstall.** Deleting the plugin through the WordPress admin drops the log table and removes every option the plugin created. Deactivating alone leaves the log in place, so it survives a temporary deactivation. If your site is subject to GDPR or similar regulation, note that IP addresses are personal data. Either switch IP logging off, or account for this log in your own privacy policy and retention practices. == Installation == 1. Upload the plugin files to the `/wp-content/plugins/strifebridge-mcp` directory, or install the plugin through the WordPress Plugins screen directly 2. Activate the plugin through the Plugins screen in WordPress 3. Go to Settings → StrifeBridge MCP to get your Connector URL 4. Paste the Server URL into ChatGPT, Claude.ai, Gemini, or your preferred MCP-capable AI tool, then approve the connection when it sends you back to WordPress 5. Ask the AI to manage your site == Frequently Asked Questions == = What is MCP? = MCP stands for Model Context Protocol. It is an open standard developed by Anthropic that lets AI assistants connect to external tools and data sources. An MCP server exposes a set of named tools that an AI can call directly, instead of the AI having to construct raw HTTP requests. = Do I need a Claude.ai paid plan? = No. Claude.ai free users can add one custom connector, and StrifeBridge MCP works as a custom connector. Pro and Team plans can add multiple connectors. = Does this work with ChatGPT or Gemini? = Yes, as of version 3.0.0. Their connector interfaces require OAuth rather than a pasted token, which is why earlier versions could not be used with them at all. Paste the server URL from Settings → StrifeBridge MCP into the assistant, sign in to WordPress when it sends you back, and approve the connection. Claude (web, desktop, and Claude Code), Cursor, and Windsurf also work, and can use either OAuth or the legacy token. Any client that can connect to a remote MCP server over Streamable HTTP should work; those named here are the ones actually tested. = Does this work on WordPress.com? = No. Only self-hosted WordPress installs (WordPress.org) are supported. = Does this work on WordPress Multisite? = Not yet. Multisite support is on the roadmap. = Is my site safe if I install this? = Every request to the plugin requires a bearer token. The token is generated when you activate the plugin and can be rotated from Settings at any time. There is also an Emergency Lockdown button in Settings that immediately disables the entire API. The plugin makes no outbound network calls. = What happens if the AI makes a mistake? = Always keep backups of your site, and test any significant changes on a staging environment first. The plugin includes safety measures (WordPress secret key blacklisting, one-click lockdown, individual tool group toggles) but it cannot prevent an AI from making an unintended edit to a post or option if you asked it to. = Why would I use an MCP plugin instead of just asking the AI for code? = Speed and accuracy. Instead of asking the AI for code, switching tabs, copying it into SFTP or the admin panel, and hoping it works, you describe what you want and the AI does it directly. For small repetitive edits, the time savings compound fast. = Can I add my own MCP tools? = Yes. The plugin exposes extension hooks (`sbmcp_register_rest_routes`, `sbmcp_mcp_tools`, `sbmcp_mcp_tool_call`, `sbmcp_tool_groups`) that let you register additional routes and tools from your own code. = Can I see what the AI has actually done? = Yes. Settings → StrifeBridge MCP has a Recent Activity panel showing the last 10 tool calls: the time, which tool ran, a short summary of what it was pointed at, the result, and the requesting IP. Refused calls and failed authentication attempts are recorded too, so a wrong token shows up in the log. The log never records option values, post content, widget settings, uploaded file data, or your token. Only an allowlisted summary per tool (for example `id=42` or `key=blogname`) is kept, so the log is safe to export or hand to a client. The free version keeps a rolling window of 30 days or 1000 entries, whichever comes first. = How do I stop the AI from publishing or deleting things? = Settings → StrifeBridge MCP has a Safety section with three independent toggles. "Never publish" makes every new post a draft and refuses any update that would publish or schedule one — editing a post that is already live still works, so turning this on does not take your site down. "Trash instead of delete" keeps deletions recoverable. "Read-only mode" refuses every tool that would change anything, which is a good way to watch what an assistant wants to do before letting it do so. All three default to off on existing sites, so upgrading never changes how your setup behaves. New installs start with "Trash instead of delete" on. = Why did my `