[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fw2_9YqG8unNYThY7FQArJLT22bufPRoeW3feeiz-lIU":3,"$fGMpnKKvQsg1chZNn6xxLRYV5INha2wlGOqGzTJK-Rpo":124,"$fw_etTnUKNQNaB_wQwWi1CqvYe6T6xbHi2ZUvO0XgkfM":129},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":38,"analysis":26,"fingerprints":26},"agent-toolbelt","Agent Toolbelt – Safe Site Operations for AI Agents","1.5.0","Kostya Tereshchuk","https:\u002F\u002Fprofiles.wordpress.org\u002Fkostyatereshchuk\u002F","\u003Cp>AI agents can now operate WordPress sites — through the WordPress Abilities API, MCP, and WP-CLI. That’s powerful, and it’s also exactly how a confused or manipulated agent breaks a site.\u003C\u002Fp>\n\u003Cp>Agent Toolbelt gives your agent a small set of maintenance operations it can use \u003Cstrong>safely\u003C\u002Fstrong>: every operation can be previewed without changing anything, the dangerous ones require an explicit look-then-act confirmation, everything is recorded in an audit log you can read later, and the riskiest abilities are off until you personally turn them on.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Install it and stop worrying — that’s the whole setup.\u003C\u002Fstrong> If your agent already has access to your server or site (say, Claude Code over SSH), activation is all it takes: safe defaults are on from the first minute, the destructive abilities are off until you personally enable them, and the settings page opens with a one-line status strip that tells you exactly how protected you are. Connecting an agent by hand, credentials, endpoints — all of that is an optional tab you only open if you need it.\u003C\u002Fp>\n\u003Cp>Content-focused MCP plugins let agents edit posts and products. Agent Toolbelt is the \u003Cstrong>operations layer\u003C\u002Fstrong>: updates with automatic rollback, caches, maintenance windows, database cleanup, diagnosis (debug log with secrets redacted, pending updates, cron, Site Health, file-integrity checks), and recovery — rolling a plugin back or toggling it off, with the site health-checked and the change auto-reverted if it breaks. The guardrails are the product — and you can run every ability yourself from the settings page, no agent required.\u003C\u002Fp>\n\u003Ch4>The abilities\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Site status\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — WordPress\u002FPHP\u002Fdatabase versions, environment, active theme, plugin counts, pending updates, the latest Site Health summary, which toolbelt abilities are enabled, and whether observe mode is on. The agent’s natural first call.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purge all caches\u003C\u002Fstrong> \u003Cem>(low risk)\u003C\u002Fem> — clears the page cache (12 supported cache plugins: WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, WP-Optimize, Breeze, Cache Enabler, Hummingbird, SiteGround Optimizer, Swift Performance, Comet Cache), the object cache, and expired transients.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flush rewrite rules\u003C\u002Fstrong> \u003Cem>(low risk)\u003C\u002Fem> — fixes pretty permalinks returning 404 after plugins or post types change.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Maintenance mode\u003C\u002Fstrong> \u003Cem>(medium risk)\u003C\u002Fem> — turns the visitor-facing maintenance page on or off. \u003Cstrong>It always auto-expires\u003C\u002Fstrong> (5 minutes by default, 60 max): even if the agent forgets to turn it off, your site can never stay locked. Administrators keep seeing the normal site; the REST API and wp-admin stay reachable.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Read audit log\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — what ran, when, by which caller, and the result. Lets the agent (or you) review and explain past actions, and filter for refused (\u003Ccode>denied\u003C\u002Fcode>) attempts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Inspect cron\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — lists WP-Cron scheduled events with next-run times and an overdue count. The first thing to check when scheduled posts, emails, or backups seem stuck. Event arguments are digested, never exposed raw.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Verify checksums\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — checks files against the official WordPress.org checksums and reports modified, missing, and unexpected files — WordPress core and \u003Cstrong>installed plugins\u003C\u002Fstrong> (one or all). Plugins WordPress.org has no checksums for (premium, custom, single-file) are reported as skipped, never as clean. For “was this site tampered with?” moments.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Run Site Health checks\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — runs WordPress’s own Site Health tests server-side and returns fresh, timestamped results — core only refreshes them when a human opens wp-admin, so agent-managed sites otherwise report stale numbers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Read debug log\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — the newest entries from wp-content\u002Fdebug.log with PHP stack traces grouped to their error, filterable by severity, time, or substring. Secrets (API keys, tokens, cookies), absolute paths, emails, and IP addresses are redacted before the content leaves your site. When the site errors, this is the agent’s “what is actually broken?” call.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>List available updates\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — pending plugin, theme, and core updates with current and new versions, active and auto-update flags. site-status gives the counts; this gives the plan.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Check site response\u003C\u002Fstrong> \u003Cem>(read-only)\u003C\u002Fem> — fetches your home page and REST API as an anonymous visitor (cache-busted) and reports HTTP status, response time, and whether a fatal-error marker is visible — the same probe the recovery abilities run internally, available standalone.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regenerate thumbnails\u003C\u002Fstrong> \u003Cem>(medium risk)\u003C\u002Fem> — generates ONLY missing thumbnail files — it never deletes or overwrites existing images. Work is batched with a time budget; the agent simply calls again to continue.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Update plugin\u003C\u002Fstrong> \u003Cem>(high risk, disabled by default)\u003C\u002Fem> — updates one plugin with a safety net; see below.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Update theme\u003C\u002Fstrong> \u003Cem>(high risk, disabled by default)\u003C\u002Fem> — updates one theme with the same safety cycle — backup, health check, automatic restore. The dry-run flags the active theme (and the parent of an active child theme), where a broken update takes the whole front-end down until the restore.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Roll back plugin\u003C\u002Fstrong> \u003Cem>(high risk, disabled by default)\u003C\u002Fem> — replaces one plugin with an earlier WordPress.org release — the recovery move when an update broke something. A dry-run without a version lists the versions actually available; execution keeps a backup, health-checks the site, and restores the newer version if the old one turns out worse. Premium and custom plugins are refused honestly: there is no trusted source to download from.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Toggle plugin\u003C\u002Fstrong> \u003Cem>(high risk, disabled by default)\u003C\u002Fem> — activates or deactivates one plugin, then checks the site still responds and auto-reverts if it does not — the conflict-isolation move, and the fallback when there is no version to roll back to. It refuses to touch Agent Toolbelt itself.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean up database\u003C\u002Fstrong> \u003Cem>(high risk, disabled by default)\u003C\u002Fem> — deletes database clutter by category: post revisions, abandoned auto-drafts, trashed posts, spam and trashed comments, expired transients, and orphaned meta rows. The dry-run reports exact per-category counts and returns a confirm token; execution requires that token. Deletions are batched and go through core functions, so delete hooks fire and caches stay consistent.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Safe plugin updates with automatic rollback\u003C\u002Fh4>\n\u003Cp>The flagship ability. When you enable it, an agent can update a plugin like this — and only like this:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Dry-run first (forced).\u003C\u002Fstrong> The ability defaults to preview mode: it reports the installed and available versions and returns a one-time confirm token. Nothing changes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Confirm to execute.\u003C\u002Fstrong> The real update requires that token back. It is bound to the exact plugin, the exact user, and expires in 15 minutes. A single injected prompt cannot one-shot an update — the agent must look, then act.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Backup, update, health check.\u003C\u002Fstrong> The update runs on WordPress core’s own upgrader, which keeps a temporary backup of the current version. Afterwards it checks the site still responds (home page + REST API, as an anonymous visitor, scanning for fatal errors).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic rollback.\u003C\u002Fstrong> If the site broke, the previous version is restored automatically — and the audit log records \u003Ccode>rolled_back\u003C\u002Fcode> so everyone knows what happened.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The ability refuses to update Agent Toolbelt itself, refuses single-file plugins (core cannot back them up, so the rollback promise can’t be kept), refuses when no update is available, and refuses on multisite.\u003C\u002Fp>\n\u003Cp>The same machinery powers \u003Cstrong>roll back plugin\u003C\u002Fstrong> (pointed at an earlier WordPress.org release instead of a newer one) and, since 1.5, \u003Cstrong>theme updates\u003C\u002Fstrong> — the same backup, health check, and automatic restore.\u003C\u002Fp>\n\u003Ch4>Run any ability yourself\u003C\u002Fh4>\n\u003Cp>New in 1.4: the settings page has a \u003Cstrong>Run\u003C\u002Fstrong> tab, and every enabled ability in the checklist has a \u003Cstrong>Run\u003C\u002Fstrong> button that opens it pre-filled. Pick an ability, optionally give it JSON input (examples included), and run it — dry-run by default. You see exactly the JSON an agent would see, the same guardrails apply (a high-risk dry-run shows its one-time confirm token and an “Execute for real” button), and the run lands in the audit log with caller \u003Ccode>admin\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Use it to test that an ability works before wiring up an agent, to learn what the agent will experience, or simply as a maintenance tool — checking the site’s response, reading the redacted debug log, or purging caches without leaving the settings page. No agent required.\u003C\u002Fp>\n\u003Ch4>Built for the prompt-injection era\u003C\u002Fh4>\n\u003Cp>The canonical agent-security failure is indirect prompt injection: malicious content on a page tricks your own agent into calling destructive tools (see OWASP LLM Top 10, LLM01). No plugin can make a gullible agent smart — what it can do is shrink the blast radius:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Non-destructive by default.\u003C\u002Fstrong> Read-only and low-risk operations only, until you opt in to more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dry-run everywhere.\u003C\u002Fstrong> Every mutating ability accepts a preview mode; the high-risk ones default to it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Look-then-act confirmation\u003C\u002Fstrong> for the destructive abilities — one-time, input-bound, expiring tokens.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Observe mode.\u003C\u002Fstrong> One checkbox (or the \u003Ccode>AGENT_TOOLBELT_OBSERVE\u003C\u002Fcode> constant) makes the whole toolbelt read-only: agents can still inspect and preview, but every real change is refused with a clear reason.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hourly rate budget.\u003C\u002Fstrong> Real executions are capped per user per hour (5 high-risk, 30 total by default; filterable) — a runaway agent stalls at the circuit breaker. Dry-runs and read-only calls are never limited, so diagnosis stays free.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Least privilege.\u003C\u002Fstrong> Every call requires a logged-in user with \u003Ccode>manage_options\u003C\u002Fcode>; plugin updates additionally require \u003Ccode>update_plugins\u003C\u002Fcode>. Anonymous callers can’t even see the abilities.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Disabled means invisible.\u003C\u002Fstrong> An ability you turn off is not registered at all — agents don’t see a “forbidden” tool, they see no tool.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Self-protection.\u003C\u002Fstrong> The toolbelt refuses to update, roll back, or deactivate itself — an agent must not switch off its own guardrails.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Everything audited — including refusals.\u003C\u002Fstrong> Each execution records the caller (REST, WP-CLI, admin), user, input digest, and result — kept 90 days, capped at 2,000 rows. Refused attempts are logged as \u003Ccode>denied\u003C\u002Fcode>, with anti-flood capping.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email heads-up.\u003C\u002Fstrong> After every real high-risk execution the site admin gets a plain-text email with the who\u002Fwhat\u002Fresult (on by default, one checkbox to turn off).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Kill switch.\u003C\u002Fstrong> Add \u003Ccode>define( 'AGENT_TOOLBELT_DISABLED', true );\u003C\u002Fcode> to \u003Ccode>wp-config.php\u003C\u002Fcode> and nothing registers anywhere — abilities, REST, WP-CLI, all gone until you remove the line.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Connect your AI agent (only if it doesn’t reach the site already)\u003C\u002Fh4>\n\u003Cp>First check whether you need this at all: \u003Cstrong>if your agent already works on the server\u003C\u002Fstrong> — SSH, WP-CLI, or it runs on the same machine — there is nothing to connect and no password to create. It can call every enabled ability through the built-in WP-CLI commands (\u003Ccode>wp agent-toolbelt run site-status\u003C\u002Fcode>), with the same guardrails and the same audit log.\u003C\u002Fp>\n\u003Cp>For an agent that connects over the network: the abilities are standard WordPress Abilities, so anything that speaks the Abilities API can use them. The fastest path, with no extra plugins, is the WordPress REST API:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create an application password for an administrator (Users \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Profile \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Application Passwords).\u003C\u002Fli>\n\u003Cli>\n\u003Cp>List the available abilities:\u003C\u002Fp>\n\u003Cp>curl -u “admin:APP_PASSWORD” https:\u002F\u002Fexample.com\u002Fwp-json\u002Fwp-abilities\u002Fv1\u002Fabilities\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Run one. Read-only abilities use GET; pass input as PHP-array query parameters (\u003Ccode>?input[lines]=50\u003C\u002Fcode> — bare parameters like \u003Ccode>?lines=50\u003C\u002Fcode> are silently ignored by the Abilities API):\u003C\u002Fp>\n\u003Cp>curl -u “admin:APP_PASSWORD” “https:\u002F\u002Fexample.com\u002Fwp-json\u002Fwp-abilities\u002Fv1\u002Fabilities\u002Fagent-toolbelt\u002Fsite-status\u002Frun”\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Mutating abilities use POST with an \u003Ccode>input\u003C\u002Fcode> object:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl -u \"admin:APP_PASSWORD\" -X POST -H \"Content-Type: application\u002Fjson\" -d '{\"input\":{\"dry_run\":true}}' https:\u002F\u002Fexample.com\u002Fwp-json\u002Fwp-abilities\u002Fv1\u002Fabilities\u002Fagent-toolbelt\u002Fpurge-all-caches\u002Frun\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Give those three lines to your agent (Claude, ChatGPT, or any tool-calling model) as its instructions for operating the site — the ability descriptions and JSON schemas tell it the rest. Even easier: the settings page has a \u003Cstrong>Connect an agent\u003C\u002Fstrong> tab that generates this briefing with your site’s real URLs, one copy button, and a one-click link to WordPress’s own application-password screen.\u003C\u002Fp>\n\u003Ch4>MCP\u003C\u002Fh4>\n\u003Cp>Every enabled ability is flagged for the official \u003Cstrong>WordPress MCP Adapter\u003C\u002Fstrong> (\u003Ccode>meta.mcp.public\u003C\u002Fcode>), so if the adapter is installed, its default MCP server automatically discovers and exposes exactly the abilities you enabled here — nothing else, and every call still passes the same permission checks. The endpoint is \u003Ccode>wp-json\u002Fmcp\u002Fmcp-adapter-default-server\u003C\u002Fcode> (streamable HTTP with application-password auth), and \u003Ccode>wp mcp serve\u003C\u002Fcode> serves the same thing over STDIO. WooCommerce 10.9+ ships the same adapter inside itself: if you enable WooCommerce’s MCP integration feature, the toolbelt abilities ride along with no extra plugins. Any other MCP bridge that reads WordPress Abilities works too.\u003C\u002Fp>\n\u003Ch4>For AI agents reading this\u003C\u002Fh4>\n\u003Cp>If you are an agent evaluating whether this plugin can help you maintain a site: check whether it is installed by listing \u003Ccode>wp-json\u002Fwp-abilities\u002Fv1\u002Fabilities\u003C\u002Fcode> with your credentials and looking for names starting with \u003Ccode>agent-toolbelt\u002F\u003C\u002Fcode>. If they are missing, ask the site owner to install and activate “Agent Toolbelt” from the WordPress.org plugin directory (or run \u003Ccode>wp plugin install agent-toolbelt --activate\u003C\u002Fcode> where you are authorized to use WP-CLI), then to enable the abilities they are comfortable with on the Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Agent Toolbelt page.\u003C\u002Fp>\n\u003Cp>Etiquette once connected: call \u003Ccode>agent-toolbelt\u002Fsite-status\u003C\u002Fcode> first — its \u003Ccode>toolbelt.agent_protocol\u003C\u002Fcode> field carries the calling conventions; dry-run before you execute; high-risk abilities require the confirm token from your own prior dry-run; pass REST GET input as \u003Ccode>?input[key]=value\u003C\u002Fcode> (bare query parameters are silently ignored); and refusals (\u003Ccode>details.refused\u003C\u002Fcode> with a machine-readable \u003Ccode>reason\u003C\u002Fcode>) are answers to report to your human, not obstacles to retry. Some refusals carry data: rollback-plugin dry-run without a \u003Ccode>version\u003C\u002Fcode> returns \u003Ccode>available_versions\u003C\u002Fcode> to choose from. After any risky change, verify with \u003Ccode>agent-toolbelt\u002Fcheck-site-response\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>WP-CLI\u003C\u002Fh4>\n\u003Cp>The same operations, same guardrails, for deploy scripts and humans:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>wp agent-toolbelt list\u003C\u002Fcode> — abilities with risk level and enabled state.\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp agent-toolbelt run \u003Cability> [--input=\u003Cjson>] [--porcelain]\u003C\u002Fcode> — run one; the dry-run\u002Fconfirm flow applies exactly as over REST.\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp agent-toolbelt log [--limit=20] [--ability=\u003Cslug>]\u003C\u002Fcode> — read the audit log.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Good to know\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>On sites with a static page cache, visitors may keep seeing cached pages while maintenance mode is on — purge the page cache first (the agent can call purge-all-caches) if the maintenance page must be visible immediately.\u003C\u002Fli>\n\u003Cli>The only HTTP requests the plugin ever makes are health checks to your own site (after updates, rollbacks, toggles, or on demand via check-site-response) and, for checksum verification and rollbacks, requests to WordPress.org’s public APIs (they carry your WordPress version and locale, or a plugin’s public slug and version — nothing else). \u003Cstrong>Zero telemetry:\u003C\u002Fstrong> nothing is sent anywhere else, no external services, no accounts.\u003C\u002Fli>\n\u003Cli>Uninstalling removes everything: the audit-log table, the settings, the scheduled cleanup.\u003C\u002Fli>\n\u003C\u002Ful>\n","Safe hands for your site's AI agent: guarded maintenance operations with dry-run, confirm tokens, a full audit log, and automatic rollback.",0,156,"2026-07-16T14:41:00.000Z","7.0.2","6.9","8.0",[18,19,20,21,22],"abilities","ai-agent","audit-log","maintenance-mode","mcp","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fagent-toolbelt.1.5.0.zip",100,null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"kostyatereshchuk",4,10050,93,30,89,"2026-08-25T01:03:57.783Z",[39,56,71,89,106],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":11,"downloaded":47,"rating":11,"num_ratings":11,"last_updated":48,"tested_up_to":49,"requires_at_least":15,"requires_php":50,"tags":51,"homepage":23,"download_link":55,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"activity-log-for-mcp","Activity Log for MCP","1.0.0","Riaan K.","https:\u002F\u002Fprofiles.wordpress.org\u002Friaanknoetze\u002F","\u003Cp>AI agents are starting to talk to WordPress sites directly. Claude Desktop, ChatGPT custom GPTs, and a growing list of MCP clients can connect to your site, browse content, place orders, edit posts, or call any custom tool you expose. The Model Context Protocol (MCP) is the open standard that makes this possible.\u003C\u002Fp>\n\u003Cp>The problem: by default, you can’t see any of it. Requests come in, things change, and there’s no record of what an agent actually did, when it did it, or which user it acted as.\u003C\u002Fp>\n\u003Cp>Activity Log for MCP records every MCP request the moment it hits your site. You see the route, the ability that was called, the user it acted as, the request body, the response, and whether it succeeded. Everything is browsable in a clean React admin page that feels like the rest of WordPress.\u003C\u002Fp>\n\u003Cp>If you’re running an AI integration, debugging a custom MCP server, or just want a paper trail before letting agents touch your data — this is the visibility layer.\u003C\u002Fp>\n\u003Ch4>What you get\u003C\u002Fh4>\n\u003Cp>A real-time log of every MCP request, with filters for date range, ability name, and user. Click any row to inspect the full request and response, copy bodies to your clipboard, or trace a single agent session end-to-end. Sortable columns, configurable per-page counts (10 to 500), and full-text search across request and response bodies. Export to CSV when you need to share findings or feed them into another tool.\u003C\u002Fp>\n\u003Cp>The whole interface is built with \u003Ccode>@wordpress\u002Fcomponents\u003C\u002Fcode> so it inherits the WordPress design language — no jarring custom UI to learn.\u003C\u002Fp>\n\u003Ch4>Built for both halves of the audience\u003C\u002Fh4>\n\u003Cp>If you’re a site owner: install, activate, and click into Tools \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> MCP Logs. There’s no setup screen and no configuration — the plugin starts logging the moment an MCP client makes a request.\u003C\u002Fp>\n\u003Cp>If you’re a developer: there’s a full REST API for every admin feature, authenticated via WordPress Application Passwords or WooCommerce API keys. The plugin is also itself MCP-aware — it registers an MCP server with seven abilities, so an AI agent can introspect its own activity log programmatically. Source ships under \u003Ccode>src\u002F\u003C\u002Fcode> and builds with \u003Ccode>npm run build\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>Why you’d want this\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Debug a custom MCP integration without tailing server logs\u003C\u002Fli>\n\u003Cli>Audit AI agent activity on production sites before something goes wrong\u003C\u002Fli>\n\u003Cli>Review per-tool error rates to spot which abilities are flaky\u003C\u002Fli>\n\u003Cli>Trace a single agent session end-to-end when something breaks\u003C\u002Fli>\n\u003Cli>Export logs for compliance reviews or external analysis\u003C\u002Fli>\n\u003Cli>Let an AI agent monitor its own activity through the MCP server\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>REST API\u003C\u002Fh4>\n\u003Cp>Every admin feature is exposed under \u003Ccode>\u002Fwp-json\u002Factivity-log-for-mcp\u002Fv1\u002F\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>GET \u002Frequests\u003C\u002Fcode> — list with filters, sort, and pagination\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Fstats\u003C\u002Fcode> — totals, success rate, and calls per ability\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Fsessions\u002F{id}\u003C\u002Fcode> — every request in a session, in order\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Fsearch\u003C\u002Fcode> — full-text across routes, abilities, and bodies\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Ferrors\u003C\u002Fcode> — recent failed executions and HTTP errors\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Ftool-performance\u003C\u002Fcode> — per-ability call count, error rate, and unique users\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Ffilters\u003C\u002Fcode> — distinct ability names and users for dropdowns\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Fexport-csv\u003C\u002Fcode> — server-side streamed CSV download\u003C\u002Fli>\n\u003Cli>\u003Ccode>DELETE \u002Frequests\u003C\u002Fcode> — clear all logs\u003C\u002Fli>\n\u003Cli>\u003Ccode>DELETE \u002Fretention\u003C\u002Fcode> — delete logs older than a given date\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>MCP abilities\u003C\u002Fh4>\n\u003Cp>The plugin registers itself as an MCP server (\u003Ccode>activity-log-for-mcp-server\u003C\u002Fcode>) with seven abilities agents can call directly:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>get-activity\u003C\u002Fcode> — paginated log retrieval with filters\u003C\u002Fli>\n\u003Cli>\u003Ccode>get-stats\u003C\u002Fcode> — summary metrics with optional date range\u003C\u002Fli>\n\u003Cli>\u003Ccode>get-activity-by-session\u003C\u002Fcode> — full session trace, with optional body exclusion for lighter payloads\u003C\u002Fli>\n\u003Cli>\u003Ccode>search-activity\u003C\u002Fcode> — full-text search across stored requests and responses\u003C\u002Fli>\n\u003Cli>\u003Ccode>analyze-errors\u003C\u002Fcode> — recent errors with full details\u003C\u002Fli>\n\u003Cli>\u003Ccode>get-tool-performance\u003C\u002Fcode> — per-ability performance metrics\u003C\u002Fli>\n\u003Cli>\u003Ccode>clear-old-logs\u003C\u002Fcode> — date-based retention cleanup\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy and data handling\u003C\u002Fh4>\n\u003Cp>All data stays in your WordPress database — nothing is sent anywhere. Logs live in a custom table named \u003Ccode>{prefix}alfmcp_requests\u003C\u002Fcode>. You control retention and can clear everything from the admin UI or via REST. There’s no telemetry, no third-party calls, no external dependencies at runtime.\u003C\u002Fp>\n\u003Ch4>Disclaimer\u003C\u002Fh4>\n\u003Cp>Activity Log for MCP is not affiliated with, endorsed by, or sponsored any AI provider or the Model Context Protocol project. “MCP” and “Model Context Protocol” are referenced solely to describe the open protocol that this plugin observes.\u003C\u002Fp>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>Activity Log for MCP records REST API requests that contain the \u003Ccode>Mcp-Session-Id\u003C\u002Fcode> header. Logged data includes request routes, methods, headers, bodies, response data, user IDs, and timestamps. All data is stored in your WordPress database and is never transmitted to external services.\u003C\u002Fp>\n","See exactly what AI agents do on your WordPress site. A complete activity log for every Model Context Protocol (MCP) request.",219,"2026-05-11T12:41:00.000Z","6.9.5","7.4",[52,53,20,22,54],"activity-log","ai-agents","model-context-protocol","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Factivity-log-for-mcp.1.0.0.zip",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":11,"downloaded":64,"rating":11,"num_ratings":11,"last_updated":65,"tested_up_to":14,"requires_at_least":15,"requires_php":66,"tags":67,"homepage":69,"download_link":70,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"satollo-mcpservers","Satollo MCP Servers","1.0.2","Stefano Lissa","https:\u002F\u002Fprofiles.wordpress.org\u002Fsatollo\u002F","\u003Cp>The MCP Servers plugin enables WordPress to expose “abilities” – standardized functions that AI agents (such as Claude, Mistral, or ChatGPT) can invoke.\u003C\u002Fp>\n\u003Cp>These abilities allow plugins and themes to describe their functionalities and required parameters in a structured way, facilitating seamless interaction with AI agents via the MCP (Model Context Protocol).\u003C\u002Fp>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>A newsletter plugin can expose abilities to manage subscribers or newsletters.\u003C\u002Fli>\n\u003Cli>A form manager can provide abilities to handle forms or process submissions.\u003C\u002Fli>\n\u003Cli>No limits: Any functionality can be exposed and utilized by AI agents.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Creating a server\u003C\u002Fh4>\n\u003Cp>Go to the “Servers” page and add a server. By default, a new MCP server does not expose any abilities. You can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Select one or more ability categories.\u003C\u002Fli>\n\u003Cli>Choose individual abilities to expose.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Best Practices\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Avoid exposing all abilities: This can overwhelm AI agents and lead to overlapping functionalities.\u003C\u002Fli>\n\u003Cli>Limit abilities to those necessary for your current workflow.\u003C\u002Fli>\n\u003Cli>Create multiple MCP servers to enable only the tools required for specific tasks on the agent side.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Connecting to a server\u003C\u002Fh4>\n\u003Cp>AI agents can connect to your MCP server(s) in several ways. The simplest method is:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create an administrator user named “mcp”.\u003C\u002Fli>\n\u003Cli>Generate an application password for this user in the WordPress dashboard.\u003C\u002Fli>\n\u003Cli>Use Basic Authentication with the mcp username and the application password to set up the connection from the AI agent.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Note on Authentication\u003C\u002Fh4>\n\u003Cp>Not all AI agents support Basic Authentication. For example, Claude requires OAuth2.\u003C\u002Fp>\n\u003Cp>To enable OAuth2, install a compatible plugin (e.g., WP OAuth Server).\u003C\u002Fp>\n\u003Ch4>References\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Fwww.satollo.net\u002Fplugins\u002Fmcpservers\" rel=\"nofollow ugc\">MCP Servers official page\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwordpress\u002Fmcp-adapter\" rel=\"nofollow ugc\">MCP Adapater library\u002Fplugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Introduction to the \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fai\u002F2025\u002F07\u002F17\u002Fai-building-blocks\u002F\" rel=\"nofollow ugc\">WP AI building blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fai\u002F2025\u002F07\u002F17\u002Fai-experiments-plugin\u002F\" rel=\"nofollow ugc\">AI Experiments plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Fwww.satollo.net\u002Fplugins\u002Fmonitor\" rel=\"nofollow ugc\">Monitor plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The AI Experiments plugin contains the “Ability explorer” a very useful tool.\u003C\u002Fp>\n\u003Ch4>Tech details\u003C\u002Fh4>\n\u003Cp>The plugin uses the WP MCP Adapter library or the MCP Adapter plugin (if installed), with priority given to the latter.\u003C\u002Fp>\n\u003Cp>Once the Adapter plugin is officially available, it will be added as a dependency, and the PHP library will be removed.\u003C\u002Fp>\n\u003Ch4>Warning\u003C\u002Fh4>\n\u003Cp>Abilities are registered an implemented by plugins and themes: check carefully what they do before exposing!\u003C\u002Fp>\n\u003Cp>And be aware that permission checks are up to the single ability.\u003C\u002Fp>\n","Configure and publish MCP servers to expose abiltities to AI agents",255,"2026-07-07T15:50:00.000Z","8.1",[18,68,19,22],"ai","https:\u002F\u002Fwww.satollo.net\u002Fplugins\u002Fmcpservers","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsatollo-mcpservers.1.0.2.zip",{"slug":68,"name":72,"version":73,"author":74,"author_profile":75,"description":76,"short_description":77,"active_installs":78,"downloaded":79,"rating":80,"num_ratings":81,"last_updated":82,"tested_up_to":14,"requires_at_least":83,"requires_php":50,"tags":84,"homepage":87,"download_link":88,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"AI","1.2.0","WordPress.org","https:\u002F\u002Fprofiles.wordpress.org\u002Fwordpressdotorg\u002F","\u003Cp>The AI plugin brings AI-powered features directly into your WordPress admin and editing experience.\u003C\u002Fp>\n\u003Cp>Requires the WordPress Block Editor.  The Classic Editor plugin and other non-Block Editor editing experiences are not supported.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What’s Inside:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin is built on the \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fai\u002F2025\u002F07\u002F17\u002Fai-building-blocks\" rel=\"nofollow ugc\">AI Building Blocks for WordPress\u003C\u002Fa> initiative, combining the AI Client library and Abilities API into a unified experience. It serves as both a practical tool for content creators and a reference implementation for developers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Current Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Abilities Explorer\u003C\u002Fstrong> – Browse and interact with registered AI abilities from a dedicated admin screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AI Request Logging\u003C\u002Fstrong> – Logs AI requests for observability and debugging.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Alt Text Generation\u003C\u002Fstrong> – Generate descriptive alt text for images to improve accessibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comment Moderation\u003C\u002Fstrong> – Automatically moderate comments based on toxicity detection and sentiment analysis.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Connector Approvals\u003C\u002Fstrong> – Require explicit administrator approval before plugins or themes can use AI connectors configured on this site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Classification\u003C\u002Fstrong> – Suggests relevant tags and categories to organize content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Resizing\u003C\u002Fstrong> – Shorten, expand, or rephrase selected block content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Summarization\u003C\u002Fstrong> – Summarizes long-form content into digestible overviews.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dashboard Widgets\u003C\u002Fstrong> – AI Status and AI Capabilities widgets, plus framework for registering new ones.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editorial Notes\u003C\u002Fstrong> – Reviews post content block-by-block and adds Notes with suggestions for Accessibility, Readability, Grammar, and SEO.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editorial Updates\u003C\u002Fstrong> – Automatically apply editorial notes to content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Excerpt Generation\u003C\u002Fstrong> – Automatically create concise summaries for your posts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Experiment Framework\u003C\u002Fstrong> – Opt-in system that lets you enable only the AI features you want to use.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guidelines\u003C\u002Fstrong> – Allows abilities to respect site-wide editorial standards.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image Generation and Editing\u003C\u002Fstrong> – Create and edit images from post content in the editor, also via the Media Library.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Key Encryption\u003C\u002Fstrong> – Encrypts AI provider API keys at rest using bundled libsodium encryption. Keys are transparently decrypted on read and re-encrypted on write. Disabling the experiment or deactivating the plugin restores plaintext keys.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Meta Description Generation\u003C\u002Fstrong> – Generates meta description suggestions and integrates those with various SEO plugins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-Provider Support\u003C\u002Fstrong> – Works with AI Connector plugins for providers such as OpenAI, Google, and Anthropic.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Suggest Reply\u003C\u002Fstrong> – Adds a “Suggest Reply” action to the Comments screen and Activity widget, enabling moderators to quickly generate comment reply suggestions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Title Generation\u003C\u002Fstrong> – Generate title suggestions for your posts with a single click. Perfect for brainstorming headlines or finding the right tone for your content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Type Ahead\u003C\u002Fstrong> – Contextual type-ahead assistance for suggestions while typing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Provider Setup:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The AI plugin does not include provider credentials or provider implementations by itself. To use AI-powered features, install and activate at least one AI Connector plugin, then configure its credentials in \u003Ccode>Settings -> Connectors\u003C\u002Fcode>. Features may appear unavailable until a connector is installed, authenticated, and capable of the required operation.\u003C\u002Fp>\n\u003Cp>Provider connector plugins include \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fai-provider-for-anthropic\" rel=\"ugc\">Anthropic\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fai-provider-for-google\" rel=\"ugc\">Google\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fai-provider-for-openai\" rel=\"ugc\">OpenAI\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftags\u002Fconnector\u002F\" rel=\"ugc\">others\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Coming Soon:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>We’re actively developing new features to enhance your WordPress workflow:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>AI Playground\u003C\u002Fstrong> – Experiment with different AI models and providers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Assistant\u003C\u002Fstrong> – AI-powered writing and editing in Gutenberg.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Site Agent\u003C\u002Fstrong> – Natural language WordPress administration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Workflow Automation\u003C\u002Fstrong> – AI-driven task automation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This is an experimental plugin; functionality may change as we gather feedback from the community.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Roadmap:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can view the active plugin roadmap in a filtered view in the WordPress AI \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Forgs\u002FWordPress\u002Fprojects\u002F240\u002Fviews\u002F1\" rel=\"nofollow ugc\">GitHub Project Board\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>For Developers\u003C\u002Fh3>\n\u003Cp>The AI plugin is designed to be studied, extended, and built upon. Whether you’re a plugin developer, agency, or hosting provider, here’s what you can do:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Extend the Plugin:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Build Custom Experiments\u003C\u002Fstrong> – Use the \u003Ccode>Abstract_Feature\u003C\u002Fcode> base class to create your own AI-powered features.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pre-configure Providers\u003C\u002Fstrong> – Hosts and agencies can set up AI Connector plugins so users don’t need their own API keys.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Abilities Explorer\u003C\u002Fstrong> – Test and explore registered AI abilities (available when experiments are enabled).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Register Custom Abilities\u003C\u002Fstrong> – Hook into the Abilities API to add new AI capabilities.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Override Default Behavior\u003C\u002Fstrong> – Use filters to customize prompts, responses, and UI elements.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comprehensive Hooks\u003C\u002Fstrong> – Filters and actions throughout the codebase for customization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Developer Tools Coming Soon:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>AI Playground\u003C\u002Fstrong> – Experiment with different AI models and prompts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>MCP (Model Context Protocol)\u003C\u002Fstrong> – Integrate and test Model Context Protocol capabilities in WordPress workflows.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extended Providers\u003C\u002Fstrong> – Support for experimenting with additional or alternate AI providers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Get Started:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Read the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWordPress\u002Fai\u002Fblob\u002Ftrunk\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">Contributing Guide\u003C\u002Fa> for development setup\u003C\u002Fli>\n\u003Cli>Join the conversation in \u003Ca href=\"https:\u002F\u002Fwordpress.slack.com\u002Farchives\u002FC08TJ8BPULS\" rel=\"nofollow ugc\">#core-ai on WordPress Slack\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Browse the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWordPress\u002Fai\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa> to see how experiments are built\u003C\u002Fli>\n\u003Cli>Participate in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWordPress\u002Fai\u002Fdiscussions\" rel=\"nofollow ugc\">discussions\u003C\u002Fa> on how best the plugin should iterate.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>We welcome contributions! Whether you want to build new experiments, improve existing features, or help with documentation, check out our \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWordPress\u002Fai\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa> to get involved.\u003C\u002Fp>\n","AI features, experiments and capabilities for WordPress.",30000,155675,92,7,"2026-07-14T20:17:00.000Z","7.0",[18,68,85,86,22],"artificial-intelligence","experiments","https:\u002F\u002Fgithub.com\u002FWordPress\u002Fai","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai.1.2.0.zip",{"slug":90,"name":91,"version":92,"author":93,"author_profile":94,"description":95,"short_description":96,"active_installs":97,"downloaded":98,"rating":11,"num_ratings":11,"last_updated":99,"tested_up_to":49,"requires_at_least":100,"requires_php":16,"tags":101,"homepage":104,"download_link":105,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"webmcp-bridge","WebMCP Bridge","1.6.0","Mescio","https:\u002F\u002Fprofiles.wordpress.org\u002Fvinsmach\u002F","\u003Cp>\u003Cstrong>WebMCP Bridge\u003C\u002Fstrong> exposes your WordPress (and WooCommerce) functionality as \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwebmcp\u002Fwebmcp-spec\" rel=\"nofollow ugc\">WebMCP\u003C\u002Fa> tools that AI agents can discover and invoke directly in the browser.\u003C\u002Fp>\n\u003Cp>Once installed, your site automatically becomes “agent-friendly”:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AI agents can \u003Cstrong>search posts, pages, and custom post types\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>AI agents can \u003Cstrong>browse products, manage the cart, apply coupons\u003C\u002Fstrong> (WooCommerce)\u003C\u002Fli>\n\u003Cli>AI agents can \u003Cstrong>read navigation menus and site metadata\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Developers can \u003Cstrong>register custom tools\u003C\u002Fstrong> in minutes via a simple PHP API\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>What is WebMCP?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>WebMCP is a new browser-native protocol (currently in Chrome Early Preview) that lets web apps expose their functionality as structured “tools” that AI agents can invoke — without needing to screenshot or parse HTML. Think of your website as an MCP server running entirely client-side.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>How it works\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Enable the features you want from \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> WebMCP Bridge\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Your tool manifest is immediately available at \u003Ccode>\u002Fwp-json\u002Fwebmcp-bridge\u002Fv1\u002Fmanifest\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>AI agents (or any JavaScript code) can call your tools via REST API or the native browser WebMCP API\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Included tools\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cem>Core:\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>search_posts\u003C\u002Fcode> — Search posts, pages, or custom post types\u003C\u002Fli>\n\u003Cli>\u003Ccode>get_post\u003C\u002Fcode> — Retrieve a single post by ID or slug\u003C\u002Fli>\n\u003Cli>\u003Ccode>get_menu\u003C\u002Fcode> — Return navigation menu items\u003C\u002Fli>\n\u003Cli>\u003Ccode>get_categories\u003C\u002Fcode> — List taxonomy terms\u003C\u002Fli>\n\u003Cli>\u003Ccode>get_site_info\u003C\u002Fcode> — Site name, description, URL, language\u003C\u002Fli>\n\u003Cli>\u003Ccode>submit_contact_form\u003C\u002Fcode> — Contact Form 7 integration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>WooCommerce (requires WooCommerce plugin):\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>woo_search_products\u003C\u002Fcode> — Search by keyword, category, price range\u003C\u002Fli>\n\u003Cli>\u003Ccode>woo_get_product\u003C\u002Fcode> — Full product details including attributes\u003C\u002Fli>\n\u003Cli>\u003Ccode>woo_add_to_cart\u003C\u002Fcode> — Add a product to the cart\u003C\u002Fli>\n\u003Cli>\u003Ccode>woo_get_cart\u003C\u002Fcode> — Current cart contents and totals\u003C\u002Fli>\n\u003Cli>\u003Ccode>woo_remove_from_cart\u003C\u002Fcode> — Remove an item by cart key\u003C\u002Fli>\n\u003Cli>\u003Ccode>woo_apply_coupon\u003C\u002Fcode> — Apply a coupon code\u003C\u002Fli>\n\u003Cli>\u003Ccode>woo_get_checkout_fields\u003C\u002Fcode> — Return checkout field schema\u003C\u002Fli>\n\u003Cli>\u003Ccode>woo_get_product_categories\u003C\u002Fcode> — List all product categories\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Even more powerful with Mescio for Agents\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>WebMCP Bridge integrates automatically with the \u003Cstrong>Mescio for Agents\u003C\u002Fstrong> plugin. When both plugins are active, two additional tools are unlocked:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>get_markdown_content\u003C\u002Fcode> — Returns any post or page as clean Markdown, the format AI models consume most efficiently. Instead of raw HTML, agents receive structured, token-optimized content ready for reasoning and summarization.\u003C\u002Fli>\n\u003Cli>\u003Ccode>get_llms_txt\u003C\u002Fcode> — Exposes the site-wide \u003Ccode>llms.txt\u003C\u002Fcode> context document (index or full variant), giving agents an instant, structured overview of what the site is about, who it is for, and what content is available — before they even start searching.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Together, the two plugins turn your WordPress site into a fully AI-native content source: WebMCP Bridge handles the tool layer (what agents can \u003Cem>do\u003C\u002Fem>), while Mescio for Agents handles the content layer (what agents can \u003Cem>read\u003C\u002Fem> and \u003Cem>understand\u003C\u002Fem>).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin does not collect, store, or transmit any user data to external servers. All tool execution happens locally within your WordPress installation. No telemetry, no phone-home, no external API calls.\u003C\u002Fp>\n","Make your WordPress site natively AI-agent friendly via the WebMCP protocol — no backend server required.",400,1121,"2026-04-20T07:59:00.000Z","6.0",[68,19,22,102,103],"webmcp","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwebmcp-bridge\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebmcp-bridge.1.6.0.zip",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":114,"downloaded":115,"rating":25,"num_ratings":116,"last_updated":117,"tested_up_to":49,"requires_at_least":118,"requires_php":50,"tags":119,"homepage":122,"download_link":123,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"abilities-bridge","Abilities Bridge","1.3.2","El Proximus","https:\u002F\u002Fprofiles.wordpress.org\u002Fjoe12345campbell\u002F","\u003Cp>\u003Cstrong>Making Connections Possible\u003C\u002Fstrong> | Now with Claude Opus 4.8, in-chat image attachments and screenshots, GPT-5.5, and Custom Apps in ChatGPT\u003C\u002Fp>\n\u003Cp>Abilities Bridge connects AI to your WordPress site. Use the built-in admin chat, connect via MCP to Claude Desktop, or integrate with other MCP-compatible applications. Supports both Anthropic (Claude) and OpenAI models.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Admin chat interface for direct AI interaction\u003C\u002Fli>\n\u003Cli>Image attachments in chat — upload images or capture a browser-approved screenshot (can be disabled in settings)\u003C\u002Fli>\n\u003Cli>MCP server for Claude Desktop, ChatGPT, and other MCP clients\u003C\u002Fli>\n\u003Cli>Persistent memory storage across conversations\u003C\u002Fli>\n\u003Cli>Abilities execution with 7-gate permission controls\u003C\u002Fli>\n\u003Cli>Integrated Connected Plugins — discover and approve AI abilities that other plugins register, with per-ability permission controls\u003C\u002Fli>\n\u003Cli>Claude and OpenAI model support\u003C\u002Fli>\n\u003Cli>OAuth 2.0 authentication for MCP connections\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Four Ways to Connect\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Admin Chat\u003C\u002Fstrong> – Built-in interface using your Anthropic or OpenAI API key\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Claude Custom Connector\u003C\u002Fstrong> – Connect Claude Desktop using your Claude subscription (no API key needed)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ChatGPT Developer Mode\u003C\u002Fstrong> – Connect ChatGPT using the built-in MCP endpoint with OAuth\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Local MCP Config\u003C\u002Fstrong> – Connect Claude Code and other apps using API key or Claude account\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 6.2+, PHP 7.4+\u003C\u002Fli>\n\u003Cli>Anthropic API key, OpenAI API key, or Claude account (depending on connection method)\u003C\u002Fli>\n\u003Cli>HTTPS required for MCP OAuth 2.0 connections\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>This plugin connects to external API services.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin communicates with Anthropic’s Claude API (https:\u002F\u002Fapi.anthropic.com) and\u002For OpenAI’s API (https:\u002F\u002Fapi.openai.com) to provide AI functionality. Data is only sent when you actively use the chat interface or MCP tools. No background data collection or telemetry occurs.\u003C\u002Fp>\n\u003Ch4>Data Sent\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Chat messages and prompts\u003C\u002Fli>\n\u003Cli>Memory contents\u003C\u002Fli>\n\u003Cli>Abilities execution requests and results\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Legal & Privacy\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Anthropic Privacy Policy: https:\u002F\u002Fwww.anthropic.com\u002Flegal\u002Fprivacy\u003C\u002Fli>\n\u003Cli>Anthropic Terms: https:\u002F\u002Fwww.anthropic.com\u002Flegal\u002Fconsumer-terms\u003C\u002Fli>\n\u003Cli>OpenAI Privacy Policy: https:\u002F\u002Fopenai.com\u002Fpolicies\u002Fprivacy-policy\u003C\u002Fli>\n\u003Cli>OpenAI Terms: https:\u002F\u002Fopenai.com\u002Fpolicies\u002Fterms-of-use\u003C\u002Fli>\n\u003Cli>Abilities Bridge Privacy Policy: https:\u002F\u002Faisystemadmin.com\u002Fprivacy-policy\u003C\u002Fli>\n\u003Cli>Abilities Bridge Terms: https:\u002F\u002Faisystemadmin.com\u002Fterms-and-conditions\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>By using this plugin, you acknowledge that data will be transmitted to your selected AI provider for processing.\u003C\u002Fp>\n\u003Ch3>Privacy & Security\u003C\u002Fh3>\n\u003Ch4>Data Transmission\u003C\u002Fh4>\n\u003Cp>This plugin sends data to Anthropic’s API (https:\u002F\u002Fapi.anthropic.com) or OpenAI’s API (https:\u002F\u002Fapi.openai.com) when you interact with the AI. This includes chat messages, memory contents, and abilities execution requests. You control what data is sent – the AI only accesses data when you use it.\u003C\u002Fp>\n\u003Ch4>Security\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Permission controls with explicit consent for all write capabilities\u003C\u002Fli>\n\u003Cli>7-gate ability authorization system\u003C\u002Fli>\n\u003Cli>Isolated memory storage with size limits (50MB total)\u003C\u002Fli>\n\u003Cli>Full activity logging and audit trails\u003C\u002Fli>\n\u003Cli>OAuth tokens encrypted with AES-256-CBC\u003C\u002Fli>\n\u003Cli>MCP access requires authentication for every method, including discovery (initialize, tools\u002Flist, ping); unauthenticated requests receive an HTTP 401 OAuth challenge\u003C\u002Fli>\n\u003Cli>All admin actions protected with nonce verification and capability checks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Data Retention\u003C\u002Fh4>\n\u003Cp>Conversations and logs are stored in your WordPress database until manually deleted. Refer to your provider’s privacy policy for their data retention practices.\u003C\u002Fp>\n\u003Ch4>No Telemetry\u003C\u002Fh4>\n\u003Cp>This plugin does NOT send usage statistics, telemetry, or analytics to the plugin developer.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, visit https:\u002F\u002Faisystemadmin.com\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPL v2 or later.\u003C\u002Fp>\n","MCP server for WordPress. Connect Claude AI or OpenAI to execute WordPress Abilities with configurable permissions.",80,1475,1,"2026-06-04T05:53:00.000Z","6.2",[18,68,120,22,121],"claude","openai","https:\u002F\u002Faisystemadmin.com\u002Fabilities-bridge\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fabilities-bridge.1.3.2.zip",{"error":125,"url":126,"statusCode":127,"statusMessage":128,"message":128},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fagent-toolbelt\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":81,"versions":130},[131,137,144,151,158,164,171],{"version":6,"download_url":24,"svn_tag_url":132,"released_at":26,"has_diff":133,"diff_files_changed":134,"diff_lines":26,"trac_diff_url":135,"vulnerabilities":136,"is_current":125},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fagent-toolbelt\u002Ftags\u002F1.5.0\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fagent-toolbelt%2Ftags%2F1.4.0&new_path=%2Fagent-toolbelt%2Ftags%2F1.5.0",[],{"version":138,"download_url":139,"svn_tag_url":140,"released_at":26,"has_diff":133,"diff_files_changed":141,"diff_lines":26,"trac_diff_url":142,"vulnerabilities":143,"is_current":133},"1.4.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fagent-toolbelt.1.4.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fagent-toolbelt\u002Ftags\u002F1.4.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fagent-toolbelt%2Ftags%2F1.3.1&new_path=%2Fagent-toolbelt%2Ftags%2F1.4.0",[],{"version":145,"download_url":146,"svn_tag_url":147,"released_at":26,"has_diff":133,"diff_files_changed":148,"diff_lines":26,"trac_diff_url":149,"vulnerabilities":150,"is_current":133},"1.3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fagent-toolbelt.1.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fagent-toolbelt\u002Ftags\u002F1.3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fagent-toolbelt%2Ftags%2F1.3.0&new_path=%2Fagent-toolbelt%2Ftags%2F1.3.1",[],{"version":152,"download_url":153,"svn_tag_url":154,"released_at":26,"has_diff":133,"diff_files_changed":155,"diff_lines":26,"trac_diff_url":156,"vulnerabilities":157,"is_current":133},"1.3.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fagent-toolbelt.1.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fagent-toolbelt\u002Ftags\u002F1.3.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fagent-toolbelt%2Ftags%2F1.2.0&new_path=%2Fagent-toolbelt%2Ftags%2F1.3.0",[],{"version":73,"download_url":159,"svn_tag_url":160,"released_at":26,"has_diff":133,"diff_files_changed":161,"diff_lines":26,"trac_diff_url":162,"vulnerabilities":163,"is_current":133},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fagent-toolbelt.1.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fagent-toolbelt\u002Ftags\u002F1.2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fagent-toolbelt%2Ftags%2F1.1.0&new_path=%2Fagent-toolbelt%2Ftags%2F1.2.0",[],{"version":165,"download_url":166,"svn_tag_url":167,"released_at":26,"has_diff":133,"diff_files_changed":168,"diff_lines":26,"trac_diff_url":169,"vulnerabilities":170,"is_current":133},"1.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fagent-toolbelt.1.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fagent-toolbelt\u002Ftags\u002F1.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fagent-toolbelt%2Ftags%2F1.0.0&new_path=%2Fagent-toolbelt%2Ftags%2F1.1.0",[],{"version":42,"download_url":172,"svn_tag_url":173,"released_at":26,"has_diff":133,"diff_files_changed":174,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":175,"is_current":133},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fagent-toolbelt.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fagent-toolbelt\u002Ftags\u002F1.0.0\u002F",[],[]]