{"id":289683,"date":"2026-03-23T16:46:54","date_gmt":"2026-03-23T16:46:54","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/webmcp-bridge\/"},"modified":"2026-09-17T12:49:47","modified_gmt":"2026-09-17T12:49:47","slug":"webmcp-bridge","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/webmcp-bridge\/","author":16166350,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.8.1","stable_tag":"1.8.1","tested":"6.9.9","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"WebMCP Bridge","header_author":"Mescio","header_description":"Exposes WordPress functionality as WebMCP tools so AI agents can interact with your site natively in the browser \u2014 no backend MCP server required.","assets_banners_color":"1d115e","last_updated":"2026-09-17 12:49:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/webmcp-bridge\/","header_author_uri":"https:\/\/mescio.it\/","rating":0,"author_block_rating":0,"active_installs":600,"downloads":2610,"num_ratings":0,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"vinsmach","date":"2026-03-23 16:46:19","revision":3489236},"1.3.0":{"tag":"1.3.0","author":"vinsmach","date":"2026-03-24 13:35:39","revision":3490061},"1.3.1":{"tag":"1.3.1","author":"vinsmach","date":"2026-03-24 15:05:23","revision":3490147},"1.3.2":{"tag":"1.3.2","author":"vinsmach","date":"2026-03-24 15:26:11","revision":3490171},"1.4.0":{"tag":"1.4.0","author":"vinsmach","date":"2026-04-19 07:17:50","revision":3509912},"1.4.1":{"tag":"1.4.1","author":"vinsmach","date":"2026-04-19 07:28:56","revision":3509917},"1.4.2":{"tag":"1.4.2","author":"vinsmach","date":"2026-04-19 07:35:28","revision":3509920},"1.5.0":{"tag":"1.5.0","author":"vinsmach","date":"2026-04-19 07:48:43","revision":3509924},"1.6.0":{"tag":"1.6.0","author":"vinsmach","date":"2026-04-20 07:59:28","revision":3510560},"1.7.0":{"tag":"1.7.0","author":"vinsmach","date":"2026-09-15 09:25:27","revision":3696594},"1.8.0":{"tag":"1.8.0","author":"vinsmach","date":"2026-09-15 10:54:44","revision":3696818},"1.8.1":{"tag":"1.8.1","author":"vinsmach","date":"2026-09-17 12:49:47","revision":3700315}},"upgrade_notice":{"1.8.1":"<p>Resolves Rank Math \/llms.txt conflicts when Mescio for Agents is also installed.<\/p>","1.8.0":"<p>Adds a retrieve tool for live RAG over the site when Mescio for Agents is active.<\/p>","1.7.0":"<p>Adds GPT Actions OpenAPI, closes the public nonce endpoint, and unifies api-catalog with Mescio. Write tools now require a same-session nonce. Recommended update.<\/p>","1.3.2":"<p>Security and stability patch. Sanitizes Markdown output to prevent prompt injection, removes sensitive data from responses, adds rate limiting. Recommended update for all users.<\/p>","1.1.0":"<p>Adds Mescio for Agents integration and fixes tool filtering in the manifest. Recommended update for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3489410,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3489410,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3489415,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","1.4.1","1.4.2","1.5.0","1.6.0","1.7.0","1.8.0","1.8.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3489410,"resolution":"1","location":"assets","locale":"","width":1200,"height":820}},"screenshots":{"1":"Settings page \u2014 enable\/disable tool groups and copy the manifest URL","2":"Registered tools list \u2014 all available tools with their group and description","3":"Developer API \u2014 example of adding a custom tool from your theme"}},"plugin_section":[],"plugin_tags":[2353,232494,242115,258453,286],"plugin_category":[45],"plugin_contributors":[257333],"plugin_business_model":[],"class_list":["post-289683","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-ai-agent","plugin_tags-mcp","plugin_tags-webmcp","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-vinsmach","plugin_committers-vinsmach"],"banners":{"banner":"https:\/\/ps.w.org\/webmcp-bridge\/assets\/banner-772x250.png?rev=3489415","banner_2x":"https:\/\/ps.w.org\/webmcp-bridge\/assets\/banner-1544x500.png?rev=3489410","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webmcp-bridge\/assets\/icon-256x256.png?rev=3489410","icon_2x":"https:\/\/ps.w.org\/webmcp-bridge\/assets\/icon-256x256.png?rev=3489410","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webmcp-bridge\/assets\/screenshot-1.png?rev=3489410","caption":"Settings page \u2014 enable\/disable tool groups and copy the manifest URL"}],"raw_content":"<!--section=description-->\n<p><strong>WebMCP Bridge<\/strong> exposes your WordPress (and WooCommerce) functionality as <a href=\"https:\/\/github.com\/webmcp\/webmcp-spec\">WebMCP<\/a> tools that AI agents can discover and invoke directly in the browser.<\/p>\n\n<p>Once installed, your site automatically becomes \"agent-friendly\":<\/p>\n\n<ul>\n<li>AI agents can <strong>search posts, pages, and custom post types<\/strong><\/li>\n<li>With Mescio for Agents, the site becomes a <strong>live RAG source<\/strong> (<code>retrieve<\/code> \u2192 Markdown)<\/li>\n<li>AI agents can <strong>browse products, manage the cart, apply coupons<\/strong> (WooCommerce)<\/li>\n<li>AI agents can <strong>read navigation menus and site metadata<\/strong><\/li>\n<li>Developers can <strong>register custom tools<\/strong> in minutes via a simple PHP API<\/li>\n<\/ul>\n\n<p><strong>What is WebMCP?<\/strong><\/p>\n\n<p>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 \u2014 without needing to screenshot or parse HTML. Think of your website as an MCP server running entirely client-side.<\/p>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Enable the features you want from <strong>Settings \u2192 WebMCP Bridge<\/strong><\/li>\n<li>Your tool manifest is immediately available at <code>\/wp-json\/webmcp-bridge\/v1\/manifest<\/code><\/li>\n<li>Custom GPT Actions can import <code>\/wp-json\/webmcp-bridge\/v1\/openapi<\/code><\/li>\n<li>AI agents (or any JavaScript code) can call your tools via REST API or the native browser WebMCP API<\/li>\n<\/ol>\n\n<p><strong>Included tools<\/strong><\/p>\n\n<p><em>Core:<\/em><\/p>\n\n<ul>\n<li><code>search_posts<\/code> \u2014 Search posts, pages, or custom post types<\/li>\n<li><code>get_post<\/code> \u2014 Retrieve a single post by ID or slug<\/li>\n<li><code>get_menu<\/code> \u2014 Return navigation menu items<\/li>\n<li><code>get_categories<\/code> \u2014 List taxonomy terms<\/li>\n<li><code>get_site_info<\/code> \u2014 Site name, description, URL, language<\/li>\n<li><code>submit_contact_form<\/code> \u2014 Contact Form 7 integration<\/li>\n<\/ul>\n\n<p><em>WooCommerce (requires WooCommerce plugin):<\/em><\/p>\n\n<ul>\n<li><code>woo_search_products<\/code> \u2014 Search by keyword, category, price range<\/li>\n<li><code>woo_get_product<\/code> \u2014 Full product details including attributes<\/li>\n<li><code>woo_add_to_cart<\/code> \u2014 Add a product to the cart<\/li>\n<li><code>woo_get_cart<\/code> \u2014 Current cart contents and totals<\/li>\n<li><code>woo_remove_from_cart<\/code> \u2014 Remove an item by cart key<\/li>\n<li><code>woo_apply_coupon<\/code> \u2014 Apply a coupon code<\/li>\n<li><code>woo_get_checkout_fields<\/code> \u2014 Return checkout field schema<\/li>\n<li><code>woo_get_product_categories<\/code> \u2014 List all product categories<\/li>\n<\/ul>\n\n<p><strong>Even more powerful with Mescio for Agents<\/strong><\/p>\n\n<p>WebMCP Bridge integrates automatically with the <strong>Mescio for Agents<\/strong> plugin. When both plugins are active, three additional tools are unlocked:<\/p>\n\n<ul>\n<li><code>retrieve<\/code> \u2014 RAG retrieve: ranked hits with snippets, Markdown URLs and token estimates. This is the search step of a live RAG loop over the site, without a separate vector database.<\/li>\n<li><code>get_markdown_content<\/code> \u2014 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.<\/li>\n<li><code>get_llms_txt<\/code> \u2014 Exposes the site-wide <code>llms.txt<\/code> 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 \u2014 before they even start searching.<\/li>\n<\/ul>\n\n<p>Together, the two plugins turn your WordPress site into a live knowledge base: Mescio for Agents is the content layer (Markdown, llms.txt), WebMCP Bridge is the tool layer (retrieve, act, checkout). The RAG loop is <code>get_llms_txt<\/code> \u2192 <code>retrieve<\/code> \u2192 <code>get_markdown_content<\/code>.<\/p>\n\n<p><strong>Privacy<\/strong><\/p>\n\n<p>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.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>webmcp-bridge<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin via <strong>Plugins \u2192 Installed Plugins<\/strong><\/li>\n<li>Go to <strong>Settings \u2192 WebMCP Bridge<\/strong> and enable the features you want<\/li>\n<\/ol>\n\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>PHP 8.0 or higher<\/li>\n<li>WooCommerce 7.0+ (optional, only required for WooCommerce tools)<\/li>\n<li>Contact Form 7 (optional, only required for form tools)<\/li>\n<li>Mescio for Agents (optional, unlocks <code>retrieve<\/code>, <code>get_markdown_content<\/code> and <code>get_llms_txt<\/code>)<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20chrome%20for%20this%20to%20work%3F\"><h3>Do I need Chrome for this to work?<\/h3><\/dt>\n<dd><p>No. The REST API endpoints work in every browser and environment. The native WebMCP browser registration is only available in Chrome Early Preview (experimental), but the fallback JavaScript API (<code>window.webmcpBridgeTools<\/code>) and REST endpoints work everywhere.<\/p><\/dd>\n<dt id=\"is%20this%20secure%3F\"><h3>Is this secure?<\/h3><\/dt>\n<dd><p>Read-only tools (search, get post, Markdown, llms.txt) are publicly accessible by default, matching WordPress's own REST API behaviour. Write-action tools (add to cart, apply coupon, submit form) require a logged-in session or a WordPress REST nonce from the <strong>same browsing session<\/strong> as the site (the nonce is printed on the page for the frontend bridge). There is no public <code>\/nonce<\/code> endpoint. You can customise which tools require authentication via the <code>webmcp_bridge_protected_tools<\/code> filter.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20custom%20gpts%3F\"><h3>Can I use this with Custom GPTs?<\/h3><\/dt>\n<dd><p>Yes. Import <code>\/wp-json\/webmcp-bridge\/v1\/openapi<\/code> as a GPT Action. The schema lists public read tools as separate POST operations under <code>\/wp-json\/webmcp-bridge\/v1\/call\/{tool}<\/code>. Cart and form tools are omitted from that schema because GPT Actions run server-side and have no WooCommerce cookie session.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce tools are automatically registered when WooCommerce is active and the WooCommerce option is enabled in settings.<\/p><\/dd>\n<dt id=\"what%20does%20mescio%20for%20agents%20add%3F\"><h3>What does Mescio for Agents add?<\/h3><\/dt>\n<dd><p>When Mescio for Agents is active alongside WebMCP Bridge, three extra tools become available: <code>retrieve<\/code> (RAG search with snippets and Markdown URLs), <code>get_markdown_content<\/code> (full document as Markdown) and <code>get_llms_txt<\/code> (site-wide context). These are detected automatically \u2014 no configuration needed.<\/p><\/dd>\n<dt id=\"does%20this%20turn%20my%20site%20into%20a%20rag%20source%3F\"><h3>Does this turn my site into a RAG source?<\/h3><\/dt>\n<dd><p>Yes, in the live-retrieval sense. Agents first read <code>llms.txt<\/code>, then call <code>retrieve<\/code> to find relevant pages, then <code>get_markdown_content<\/code> for the documents they need. There is no separate embedding index: WordPress remains the corpus, always up to date. Retrieval is full-text (WordPress search), not vector similarity.<\/p><\/dd>\n<dt id=\"rank%20math%20says%20there%20is%20an%20llms.txt%20conflict\"><h3>Rank Math says there is an llms.txt conflict<\/h3><\/dt>\n<dd><p>WebMCP Bridge does <strong>not<\/strong> register <code>\/llms.txt<\/code>. Rank Math\u2019s LLMS Txt module and <strong>Mescio for Agents<\/strong> both do. From Mescio 1.7.4, if Rank Math\u2019s module is on, Mescio yields <code>\/llms.txt<\/code> to Rank Math and keeps <code>\/llms-full.txt<\/code>. WebMCP\u2019s <code>get_llms_txt<\/code> tool still reads Mescio\u2019s generated index. To let Mescio own the public URL: Rank Math \u2192 Dashboard \u2192 disable <strong>LLMS Txt<\/strong>, then flush permalinks.<\/p><\/dd>\n<dt id=\"can%20i%20add%20my%20own%20tools%3F\"><h3>Can I add my own tools?<\/h3><\/dt>\n<dd><p>Absolutely. Use the PHP API:<\/p>\n\n<pre><code>add_action( 'plugins_loaded', function() {\n    if ( ! class_exists( 'WebMCP_Bridge_Tool_Registry' ) ) return;\n    $registry = WebMCP_Bridge_Tool_Registry::instance();\n    $registry-&gt;register( 'my_tool', [\n        'description' =&gt; 'Does something useful.',\n        'group'       =&gt; 'custom',\n        'inputSchema' =&gt; [ 'type' =&gt; 'object', 'properties' =&gt; [] ],\n        'callback'    =&gt; function( $params ) { return [ 'ok' =&gt; true ]; },\n    ] );\n} );\n<\/code><\/pre><\/dd>\n<dt id=\"where%20is%20the%20manifest%20url%3F\"><h3>Where is the manifest URL?<\/h3><\/dt>\n<dd><p>https:\/\/your-site.com\/wp-json\/webmcp-bridge\/v1\/manifest<\/p>\n\n<p>OpenAPI (GPT Actions):<\/p>\n\n<pre><code>https:\/\/your-site.com\/wp-json\/webmcp-bridge\/v1\/openapi\n<\/code><\/pre>\n\n<p>You can also find both URLs on the <strong>Settings \u2192 WebMCP Bridge<\/strong> page with a one-click copy button.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20collect%20any%20data%3F\"><h3>Does this plugin collect any data?<\/h3><\/dt>\n<dd><p>No. WebMCP Bridge does not collect, store, or send any data to external servers. See the Privacy section above.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>Compatibility: detect Rank Math LLMS Txt and explain \/llms.txt ownership (Rank Math vs Mescio)<\/li>\n<li>robots.txt: skip Content-Signal if Mescio or another plugin already added it<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Added <code>retrieve<\/code> tool (Mescio): RAG search returning snippets, markdown_url and token estimates<\/li>\n<li>Optional include_content flag attaches truncated Markdown so a GPT can answer in one retrieve call<\/li>\n<li>Documented the live RAG loop: get_llms_txt \u2192 retrieve \u2192 get_markdown_content<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Added OpenAPI 3.0 schema at \/wp-json\/webmcp-bridge\/v1\/openapi for Custom GPT Actions<\/li>\n<li>Added per-tool POST \/wp-json\/webmcp-bridge\/v1\/call\/{tool} (request body = tool params)<\/li>\n<li>Security: removed public \/nonce endpoint; write tools need a same-session WP nonce or login<\/li>\n<li>Discovery: service-desc\/service-doc now point at OpenAPI, not the WebMCP manifest<\/li>\n<li>Discovery: when Mescio for Agents is active, \/.well-known\/api-catalog is owned by Mescio and WebMCP is merged via mescio_api_catalog<\/li>\n<li>Discovery: well-known paths work in subdirectories and with language prefixes<\/li>\n<li>Removed misleading OAuth well-known documents (WordPress is not an OAuth server)<\/li>\n<li>Fixed admin rate-limit fields rendering outside the settings table<\/li>\n<li>Fixed rate-limit window so the configured duration is actually used<\/li>\n<li>GET \/tools\/{name} no longer exposes PHP callbacks<\/li>\n<li>search_posts \/ get_post \/ get_categories restricted to public post types and taxonomies<\/li>\n<li>submit_contact_form now submits Contact Form 7 instead of returning a stub<\/li>\n<li>WooCommerce cart tools call wc_load_cart() on REST requests; add-to-cart quantity capped at 99<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>JS: migrated browser registration to navigator.modelContext.provideContext() per current WebMCP spec; legacy ai.tools.register() kept as fallback<\/li>\n<li>JS: corrected tool field from parameters to inputSchema (WebMCP\/Anthropic spec)<\/li>\n<li>Discovery: added service-desc and service-doc Link relations alongside api-catalog and webmcp-manifest<\/li>\n<li>Discovery: OAuth authorization-server and oauth-protected-resource now served on all sites (not WooCommerce-only) \u2014 explains WordPress nonce auth to agents<\/li>\n<li>Discovery:  HTML tags updated to include service-desc and service-doc<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added WooCommerce commerce agent discovery (active only when WooCommerce is installed):\n\n<ul>\n<li>OAuth Authorization Server metadata at \/.well-known\/oauth-authorization-server (RFC 8414)<\/li>\n<li>OAuth Protected Resource metadata at \/.well-known\/oauth-protected-resource (RFC 9728)<\/li>\n<li>Universal Commerce Protocol profile at \/.well-known\/ucp (ucp.dev)<\/li>\n<li>Agentic Commerce Protocol discovery at \/.well-known\/acp.json (agenticcommerce.dev)<\/li>\n<\/ul><\/li>\n<li>Added \/wp-json\/webmcp-bridge\/v1\/nonce endpoint \u2014 agents can fetch a fresh WP REST nonce for authenticated tool calls<\/li>\n<li>Discovery endpoint now includes commerce URLs when WooCommerce is active<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Added Content-Signal directives to robots.txt (contentsignals.org): ai-train=yes, search=yes, ai-input=yes \u2014 filterable via webmcp_bridge_content_signals hook<\/li>\n<li>Added Vary: Accept header so nginx\/CDN caches correctly serve Markdown for Agents requests separately from HTML responses<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Fixed RFC 8288 Link discovery for cached sites: added  tags in HTML  via wp_head<\/li>\n<li>Link tags are part of the cached HTML so agents find them even when nginx serves cached pages without running PHP<\/li>\n<li>HTTP Link headers still added via wp_headers as secondary channel on cache misses<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Fixed RFC 8288 Link headers: switched from send_headers action to wp_headers filter for reliable delivery through nginx\/cache layers<\/li>\n<li>Link headers now added to all pages (not just homepage) so agents can discover the API from any entry point<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fixed Agent Skills index: added sha256 digest field to each skill entry (required by v0.2.0 spec)<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added RFC 8288 Link response headers on homepage: advertises manifest, API catalog and MCP Server Card to agents<\/li>\n<li>Added \/.well-known\/mcp\/server-card.json (SEP-1649): MCP Server Card for agent discovery<\/li>\n<li>Added \/.well-known\/api-catalog (RFC 9727): machine-readable API catalog including WebMCP and Mescio endpoints<\/li>\n<li>Added \/.well-known\/agent-skills\/index.json: Agent Skills discovery index listing all site capabilities<\/li>\n<li>Added \/wp-json\/webmcp-bridge\/v1\/discovery: convenience endpoint listing all discovery URLs<\/li>\n<li>All well-known endpoints include Mescio for Agents data automatically when plugin is active<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fixed PHP syntax error in sanitize_markdown() regex (inline event handler pattern)<\/li>\n<li>All PHP files pass WordPress.org pre-commit syntax check<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Security: sanitize Markdown output in get_markdown_content and get_llms_txt \u2014 prevents stored XSS and prompt injection via post content<\/li>\n<li>Removed admin_email from get_site_info response \u2014 not needed by agents, sensitive data<\/li>\n<li>Removed author display_name from get_post response \u2014 exposes internal WordPress usernames<\/li>\n<li>Added global rate limiting on \/execute endpoint (default: 120 calls\/60s, configurable in settings)<\/li>\n<li>Rate limit is global (not per-IP) \u2014 effective against proxy rotation attacks; returns HTTP 429<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Removed admin_email from get_site_info \u2014 sensitive data not needed by agents<\/li>\n<li>Removed author field from get_post \u2014 avoids exposing internal WordPress usernames<\/li>\n<li>Added global rate limiting on \/execute: configurable max calls per time window in settings<\/li>\n<li>Rate limit counter uses WP transients; returns HTTP 429 when exceeded<\/li>\n<li>Rate limit and window now editable from Settings \u2192 WebMCP Bridge<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added Live API Examples section in admin: test every tool directly from the settings page<\/li>\n<li>curl and JavaScript snippets auto-generated for each tool with real site URL<\/li>\n<li>Added Mescio for Agents examples (llms.txt, get_markdown_content) when plugin is active<\/li>\n<li>Admin JS extracted to separate file for better caching and CSP compatibility<\/li>\n<li>Added full Italian translation (it_IT) \u2014 .po, .mo and .pot files included<\/li>\n<li>Admin UI: tab navigation for examples, live JSON output viewer<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added integration with Mescio for Agents plugin: when active, unlocks <code>get_markdown_content<\/code> and <code>get_llms_txt<\/code> tools<\/li>\n<li>Manifest now filters tools based on enabled settings \u2014 disabled groups no longer appear<\/li>\n<li>Added <code>site_url<\/code> and <code>mescio_for_agents<\/code> fields to manifest response<\/li>\n<li>Tool groups refactored: core split into <code>content<\/code>, <code>navigation<\/code>, <code>forms<\/code> for finer control<\/li>\n<li>Improved error handling: registry now catches all <code>Throwable<\/code> (not just <code>Exception<\/code>)<\/li>\n<li>Fixed <code>wp_remote_get<\/code> in llms-full.txt fetch: proper timeout, user-agent, SSL filter<\/li>\n<li>Fixed: tools disabled in settings were still executable via REST \u2014 now correctly blocked<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added automatic compatibility with Autoptimize, WP Rocket, LiteSpeed Cache, W3 Total Cache, SG Optimizer<\/li>\n<li>Fixed duplicate textdomain and deactivation hooks<\/li>\n<li>Added ABSPATH protection to all PHP files<\/li>\n<li>Fixed output escaping in exception messages<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Core tools: search_posts, get_post, get_menu, get_categories, get_site_info, submit_contact_form<\/li>\n<li>WooCommerce tools: product search, cart management, coupon, checkout fields<\/li>\n<li>REST API manifest and execution endpoints<\/li>\n<li>JavaScript frontend bridge with WebMCP browser API support and fallback<\/li>\n<li>Admin settings page<\/li>\n<\/ul>","raw_excerpt":"Make your WordPress site natively AI-agent friendly via the WebMCP protocol \u2014 no backend server required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/289683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=289683"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vinsmach"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=289683"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=289683"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=289683"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=289683"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=289683"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=289683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}