{"id":119409,"date":"2026-10-12T12:54:00","date_gmt":"2026-10-12T09:54:00","guid":{"rendered":"https:\/\/themeisle.com\/blog\/?p=119409&#038;preview=true&#038;preview_id=119409"},"modified":"2026-10-12T12:54:00","modified_gmt":"2026-10-12T09:54:00","slug":"wordpress-mcp-adapter-explained","status":"publish","type":"post","link":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/","title":{"rendered":"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/wordpress.org\/plugins\/mcp-adapter\/\">WordPress MCP Adapter<\/a> is the plugin that turns a WordPress site into an MCP server: it takes the abilities registered on the site, by WordPress core and by plugins, and lets an AI client discover and run them as MCP tools. The project&rsquo;s own README calls it &ldquo;the official WordPress package for MCP integration&rdquo;, and since version 0.7.0, published 2026-10-02, it installs straight from the WordPress.org plugin directory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What that means in practice: the Adapter ships no AI features and no content tools of its own. What it exposes is whatever WordPress core, plugins or custom site code mark public, and that can be more than you expect. On a WordPress 7.1.2 site with one fields plugin active, its discovery tool listed 51 abilities, five of them permanent deletes. &#128269;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers what the Adapter is today, what happened to Automattic&rsquo;s original project, what it exposed on a real site, who can connect, how to keep the list narrow, and your options. If MCP itself is new territory, read <a href=\"https:\/\/themeisle.com\/blog\/what-is-mcp-wordpress\/\">the plain-English guide to what MCP is in WordPress<\/a> first, then come back.<\/p>\n\n\n    \r\n    <style>\r\n        :root {\r\n        --jtoc-progress-bar-color: #4267cf;\n        }\r\n                    .wpj-jtoc.--jtoc-theme-none.--jtoc-has-custom-styles {\r\n        --jtoc-width: 100%;\n--jtoc-toc-padding: 24px;\n--jtoc-toc-border: 1px solid;\n--jtoc-toc-border-color: #dedede;\n--jtoc-background-color: #f6f7f9;\n--jtoc-header-height: 20px;\n--jtoc-header-margin: 0;\n--jtoc-header-padding: 0;\n--jtoc-title-color: #393939;\n--jtoc-title-font-size: 1.2em;\n--jtoc-title-label-font-weight: 400;\n--jtoc-body-margin: 16px 0 0 0;\n--jtoc-body-padding: 0;\n--jtoc-headings-margin: 10px 0 0 0;\n--jtoc-link-font-size: 1em;\n--jtoc-link-font-weight: 400;\n--jtoc-link-color: #848484;\n--jtoc-link-color-hover: #4a66c8;\n--jtoc-link-color-active: #4a66c8;\n        }\r\n        .--jtoc-the-content{\r\ndisplay:none;\r\n}\r\n.--jtoc-is-active>.wpj-jtoc--item-content>a:before{\r\nmargin-left:3px;\r\n}\r\n.wpj-jtoc--nav>.wpj-jtoc--items li a::before{\r\ncontent:'\\203A';\r\ndisplay:block;\r\nfloat:left;\r\nheight:100%;\r\nfont-weight:700;\r\ncolor:#4267CF;\r\nline-height: 20px;\r\nmargin-right: 3px;\r\n}\r\n.sidebar .wpj-jtoc--toc{\r\nborder:0;\r\npadding:0;\r\n}\r\n.sidebar .wpj-jtoc--header,\r\n.sidebar .wpj-jtoc--body{\r\nbackground:transparent;\r\n}\r\n\r\n.sidebar .--jtoc-is-active>.wpj-jtoc--item-content>a{\r\ntext-decoration:none;\r\n}\r\n.sidebar-left .widget-first{\r\nposition:sticky;\r\ntop:70px;\r\nmargin-bottom:1250px;\r\n}\r\n.sidebar-left{\r\ndisplay:none;\r\nmax-width:300px;\r\nposition:absolute;\r\nleft:-330px;\r\ntop:0;\r\nheight:100%;\r\n}\r\n@media only screen and (max-width: 1900px) {\r\n.single-post .sidebar-left{\r\ndisplay:none !important;\r\n}\r\n.--jtoc-the-content{\r\ndisplay:block;\r\n}\r\n@media only screen and (max-width: 400px) {\r\n.wpj-jtoc--item .wpj-jtoc--item-content{\r\nmargin-top:5px;\r\n}\r\n.wpj-jtoc--header-main .wpj-jtoc--title{\r\nfont-size:1.1em;\r\n}\r\n}    <\/style>\r\n\r\n\r\n    <!-- jtoc progress bar widget -->\r\n    <div class=\"wpj-jtoc--widget-progress --progress-top\">\r\n        <div class=\"wpj-jtoc--widget-progress-bar\"><\/div>\r\n    <\/div>\r\n\r\n<div id=\"wpj-jtoc\" class=\"wpj-jtoc wpj-jtoc--main --jtoc-the-content --jtoc-theme-none --jtoc-title-align-left --jtoc-toggle-icon --jtoc-toggle-position-right --jtoc-toggle-1 --jtoc-header-as-toggle --jtoc-headings-full-row-clickable --jtoc-floating-toc-top --jtoc-floating-has-shadow --jtoc-has-custom-styles --jtoc-is-unfolded\" >\r\n            \r\n    <!-- TOC -->\r\n    <div class=\"wpj-jtoc--toc \">\r\n                            <div class=\"wpj-jtoc--header\">\r\n                <div class=\"wpj-jtoc--header-main\">\r\n                                        <div class=\"wpj-jtoc--title\">\r\n                        <!-- <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-columns-3\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\/><path d=\"M9 3v18\"\/><path d=\"M15 3v18\"\/><\/svg> -->\r\n                        <span class=\"wpj-jtoc--title-label\">Table of contents<\/span>\r\n                    <\/div>\r\n                                                        <\/div>\r\n            <\/div>\r\n                                <div class=\"wpj-jtoc--body\">\r\n                        <nav class=\"wpj-jtoc--nav\">\r\n                <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#what-is-the-mcp-adapter\" title=\"What the WordPress MCP Adapter is, and what happened to Automattic\u2019s WordPress MCP\" data-numeration=\"1\" >What the WordPress MCP Adapter is, and what happened to Automattic\u2019s WordPress MCP<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#how-it-works\" title=\"How the Adapter works, in plain words\" data-numeration=\"2\" >How the Adapter works, in plain words<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#what-it-exposed\" title=\"What it exposed on a real WordPress 7.1.2 site\" data-numeration=\"3\" >What it exposed on a real WordPress 7.1.2 site<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#who-can-use-it\" title=\"Who can use it: credentials, roles and an Editor\u2019s view\" data-numeration=\"4\" >Who can use it: credentials, roles and an Editor\u2019s view<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#ways-to-connect\" title=\"Two ways to connect: HTTP and WP-CLI\" data-numeration=\"5\" >Two ways to connect: HTTP and WP-CLI<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#keep-it-narrow\" title=\"How to keep the exposure narrow\" data-numeration=\"6\" >How to keep the exposure narrow<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#limits-worth-knowing\" title=\"Limits worth knowing\" data-numeration=\"7\" >Limits worth knowing<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#your-options\" title=\"Your options if you want ready-made tools\" data-numeration=\"8\" >Your options if you want ready-made tools<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#final-thoughts\" title=\"Final thoughts \ud83d\udcad\" data-numeration=\"9\" >Final thoughts \ud83d\udcad<\/a>\r\n                    <\/div> <\/li><\/ol>            <\/nav>\r\n                                                        <\/div>\r\n            <\/div>\r\n<\/div>\r\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"what-is-the-mcp-adapter\">What the WordPress MCP Adapter is, and what happened to Automattic&rsquo;s WordPress MCP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MCP, the Model Context Protocol, is an open standard that lets AI applications call external tools through one common interface. The Adapter is WordPress&rsquo;s implementation of the server side, in the words of its directory FAQ: &ldquo;MCP Adapter is the server and transport layer. It does not provide any AI features itself.&rdquo; WordPress.org publishes it as part of the AI Building Blocks for WordPress initiative.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What it serves comes from the <a href=\"https:\/\/developer.wordpress.org\/apis\/abilities-api\/\">Abilities API<\/a>, a registry that landed in WordPress core in version 6.9. An ability is one named capability: typed input and output, an optional permission check, and the code that does the work. Core registers a few abilities, plugins register more, and the Adapter turns the public ones into MCP tools, resources and prompts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Is it the same thing as Automattic&rsquo;s WordPress MCP? No. <a href=\"https:\/\/github.com\/Automattic\/wordpress-mcp\">That GitHub repository<\/a>, an earlier Automattic project, is now archived, and its README is blunt: &ldquo;This repository is deprecated and archived. It is no longer maintained, and it is not the recommended way to add MCP support to WordPress.&rdquo; The same README names the MCP Adapter as &ldquo;the canonical plugin and Composer package for MCP integration in WordPress&rdquo; and points readers to the WordPress.com MCP documentation for current setup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Installation is routine: Plugins &rarr; Add Plugin, search &ldquo;MCP Adapter&rdquo;, install, activate. It requires WordPress 6.9 or newer and PHP 7.4 or newer. And after activation? Nothing to click: the admin menu gains no MCP Adapter entry, and on the Plugins screen the MCP Adapter row has no Settings link:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-opt-id=947232040  fetchpriority=\"high\" decoding=\"async\" width=\"1520\" height=\"1056\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg\" alt=\"Plugins screen with MCP Adapter 0.7.0 and Secure Custom Fields 6.9.5 active; the MCP Adapter row has no Settings link.\" class=\"wp-image-119402\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1520\/h:1056\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 1520w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:208\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:711\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:534\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:35\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:345\/h:240\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 345w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:571\/h:397\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 571w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:864\/h:600\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 864w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:213\/h:148\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 213w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:281\/h:195\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 281w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:194\/h:135\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 194w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1520\/h:1056\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-active-plugins.jpg 2x\" sizes=\"(max-width: 700px) 100vw, 700px\"><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"how-it-works\">How the Adapter works, in plain words<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On the Adapter&rsquo;s default server, every ability is private by default, and private means invisible to MCP clients. An ability becomes reachable only when it is marked public, either with the general public flag or the MCP-specific one (the MCP flag wins when both are set). The directory FAQ states the rule in four words: &ldquo;No, exposure is opt-in.&rdquo;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here, the AI never gets the abilities themselves as its tool list. It gets exactly three: <code>mcp-adapter-discover-abilities<\/code> lists what is public, <code>mcp-adapter-get-ability-info<\/code> fetches one ability&rsquo;s full schema, and <code>mcp-adapter-execute-ability<\/code> runs one. On the measured site, <code>tools\/list<\/code> returned those three while 51 abilities sat behind them. The AI discovers, inspects, then executes, so <code>tools\/list<\/code> stays at three schemas however many abilities the site has.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The flow, as a picture:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-opt-id=783238756  fetchpriority=\"high\" decoding=\"async\" width=\"1916\" height=\"620\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg\" alt=\"Default server flow: hidden unless public; public abilities are listed by discover; a permission check runs or denies them.\" class=\"wp-image-119403\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1916\/h:620\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 1916w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:97\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:331\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:249\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1536\/h:497\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 1536w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:16\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:155\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:257\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1200\/h:388\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:96\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:126\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:87\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1916\/h:620\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-discovery-flow.jpg 2x\" sizes=\"(max-width: 700px) 100vw, 700px\"><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">One more layer matters: listing is not running. Before an exposed ability runs, the Adapter checks its permission callback against the WordPress user the client signed in as. In the FAQ&rsquo;s words, &ldquo;permission checks still run against the current user before anything executes.&rdquo;<\/p>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"what-it-exposed\">What it exposed on a real WordPress 7.1.2 site<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On a WordPress 7.1.2 site with MCP Adapter 0.7.0 and <a href=\"https:\/\/wordpress.org\/plugins\/secure-custom-fields\/\">Secure Custom Fields<\/a> 6.9.5 active (2026-10-05), signed in as an administrator over HTTP, the discovery tool returned 51 abilities: 3 registered by WordPress core, 48 by Secure Custom Fields, and nothing from anywhere else.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The core three are <code>core\/get-site-info<\/code>, <code>core\/get-user-info<\/code> and <code>core\/get-environment-info<\/code>, and WordPress marks them public in its own code. Two of them require the <code>manage_options<\/code> capability, which on a standard site means administrators; <code>core\/get-user-info<\/code> answers any signed-in user with their own profile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The other 48 are public because Secure Custom Fields says so: its code sets the MCP public flag on the abilities it registers. The set covers the plugin&rsquo;s own structures (field groups, fields, post types, taxonomies and options pages) from listing and creating to importing, trashing and restoring. Five of them are permanent deletes; one describes itself as: &ldquo;Permanently deletes an instance of SCF field group. This action cannot be undone.&rdquo; &#9888;&#65039;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Just as notable is what is missing: none of the 51 reads or edits posts, pages, media or comments. The Adapter is a window; WordPress core and your plugins decide what is on the other side of it. &#128064;<\/p>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"who-can-use-it\">Who can use it: credentials, roles and an Editor&rsquo;s view<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Without credentials, nothing gets in: calling the endpoint with no authentication answered 401 and the message &ldquo;Sorry, you are not allowed to do that.&rdquo; With credentials, the default HTTP transport asks only for a signed-in user with the <code>read<\/code> capability, and a filter can raise that requirement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Signed in as an Editor (that user&rsquo;s own application password, 2026-10-05), discovery returned the same 51 abilities the administrator saw. With the filter from two sections down in place and one small custom ability of the site&rsquo;s own made public, discovery showed 19 read-only entries, and each of the 19 was called as that Editor. Two ran: the Editor&rsquo;s own profile via <code>core\/get-user-info<\/code> and that custom ability. The other 17 answered &ldquo;Permission denied&rdquo;, among them the core site-info and environment-info abilities and every Secure Custom Fields list, get and export.<\/p>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"ways-to-connect\">Two ways to connect: HTTP and WP-CLI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Over HTTP, the server lives at <code>\/wp-json\/mcp\/mcp-adapter-default-server<\/code>. Clients authenticate as a WordPress user, and the standard credential is an application password, created under Users &rarr; Profile &rarr; Application Passwords. By default, WordPress offers application passwords only on HTTPS sites and in local environments, they cannot be used for traditional logins, and they can be revoked from the same screen. The form, on the measured site:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-opt-id=861542795  fetchpriority=\"high\" decoding=\"async\" width=\"1476\" height=\"664\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg\" alt=\"Application Passwords on a user profile: the name field filled with Claude Code and the Add Application Password button.\" class=\"wp-image-119404\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1476\/h:664\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 1476w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:135\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:461\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:345\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:22\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:216\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:357\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1200\/h:540\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:133\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:175\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:121\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1476\/h:664\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/mcp-adapter-application-password-form.jpg 2x\" sizes=\"(max-width: 700px) 100vw, 700px\"><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Clients that only speak STDIO to a remote site can use the <code>@automattic\/mcp-wordpress-remote<\/code> proxy, which runs on your own computer and turns the client&rsquo;s STDIO traffic into HTTP calls authenticated with those same application passwords. Ready-made configurations for Claude Desktop, Cursor, <a href=\"https:\/\/code.claude.com\/docs\/en\/mcp\">Claude Code<\/a> and VS Code live in <a href=\"https:\/\/developer.wordpress.org\/news\/2026\/02\/from-abilities-to-ai-agents-introducing-the-wordpress-mcp-adapter\/\">the WordPress developer blog&rsquo;s tutorial<\/a>; it predates the directory listing, so follow its client configs, not its install steps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On a local site, or any server where you have <a href=\"https:\/\/wordpress.org\/cli\/\">WP-CLI<\/a>, the same server speaks STDIO, with no HTTP and no application password involved:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wp mcp-adapter serve --user=admin --server=mcp-adapter-default-server<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The AI then acts as the user named after <code>--user<\/code>, with exactly that user&rsquo;s capabilities. In a scripted session piped to that server on the measured site (2026-10-05), <code>tools\/list<\/code> returned the same three tools and an ability executed successfully.<\/p>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"keep-it-narrow\">How to keep the exposure narrow<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two small levers do most of the work. &#128737;&#65039;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lever one is the account. The developer blog&rsquo;s security section advises a dedicated user with limited capabilities for MCP access, and read-only abilities for HTTP endpoints exposed over the internet. The Editor account above could run only 2 of the 19 read-only abilities it called.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lever two is a filter that unpublishes what you don&rsquo;t want reachable. The Adapter&rsquo;s <a href=\"https:\/\/github.com\/WordPress\/mcp-adapter\">documentation<\/a> confirms the mechanism: an explicit <code>meta.mcp.public<\/code> set to false opts an otherwise public ability out of MCP. On the measured site, this must-use plugin hid every Secure Custom Fields ability that is not read-only:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/**\n * Plugin Name: Limit MCP Abilities\n * Description: Keeps Secure Custom Fields' read-only abilities visible to MCP clients and hides the ones that write or delete.\n *\/\nadd_filter( 'wp_register_ability_args', function ( $args, $ability_name ) {\n\tif ( 0 === strpos( $ability_name, 'scf\/' ) &amp;&amp; empty( $args['meta']['annotations']['readonly'] ) ) {\n\t\t$args['meta']['mcp']['public'] = false;\n\t}\n\treturn $args;\n}, 10, 2 );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Save it as <code>wp-content\/mu-plugins\/limit-mcp-abilities.php<\/code>, beginning the file with an opening <code>&lt;?php<\/code> line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The before and after, measured 2026-10-05: with the site&rsquo;s one small custom ability also public, discovery listed 52 abilities; with the filter it listed 19 (3 core, 15 read-only ones from Secure Custom Fields and that custom ability), with zero delete abilities listed. A direct attempt to call a delete anyway came back with <code>Ability \"scf\/delete-field-group\" is not exposed via MCP (mcp.public!=true)<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Does the trimmed list hold up in front of a real AI? On 2026-10-05, Claude Code 2.1.289, connected over HTTP with an administrator&rsquo;s application password and MCP tools only, was asked: &ldquo;Which abilities can you use on this WordPress site, and can any of them change or delete something? Don&rsquo;t change anything.&rdquo; Its reply began:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>&ldquo;I found 19 abilities on this site, and none of them are write or delete operations. Every one only lists, gets or exports something. I only used the discovery and info tools, and I didn&rsquo;t run any ability.&rdquo;<\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">It described the Secure Custom Fields entries as &ldquo;a list, get and export ability for each of&rdquo; post types, taxonomies, UI options pages, field groups and fields, and flagged that some answers carry sensitive data, such as the admin email address. Read its verdict with some caveats: it checked the metadata of only some abilities, went &ldquo;by the names and descriptions for the rest&rdquo;, found two of the Secure Custom Fields schemas &ldquo;were too long for me to read in this session&rdquo;, and noted that the &ldquo;readonly&rdquo; and &ldquo;destructive&rdquo; labels &ldquo;are set by the plugins themselves&rdquo;. The filter above trusts the readonly one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anything the AI can read can steer it: comments, form entries and imported content can all carry hidden instructions. Prompt injection is entry LLM01 in <a href=\"https:\/\/genai.owasp.org\/llmrisk\/llm01-prompt-injection\/\">OWASP&rsquo;s Top 10 for LLM applications<\/a>, including the indirect kind that arrives inside external content such as websites or files. A read-only list and a low-privilege MCP user apply OWASP&rsquo;s own least-privilege advice to your site.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>&#128161; <strong>PRO TIP:<\/strong> a plugin update can add public abilities without asking, the same way Secure Custom Fields publishes its own. Re-run discovery after updates, and remember the filter above only covers the plugins it names.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"limits-worth-knowing\">Limits worth knowing<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>It&rsquo;s pre-1.0 software.<\/strong> The <a href=\"https:\/\/github.com\/WordPress\/mcp-adapter\/releases\/tag\/v0.7.0\">0.7.0 release notes<\/a> list breaking changes, but they land on code that extends the adapter, and the same release deprecates bundling it as a Composer library: &ldquo;Install the plugin instead.&rdquo; On compatibility, 0.7.0 adds MCP 2026-07-28 and still connects clients that ask for 2025-06-18.<\/li>\n<li><strong>There are no screens of its own.<\/strong> What is public and what gets filtered live in code; HTTP credentials are managed in WordPress&rsquo;s own Application Passwords section. No PHP in your toolbox? The next section is your stop.<\/li>\n<li><strong>Ability schemas can be huge.<\/strong> The four Secure Custom Fields ability-info text results measured on 2026-10-05 ran from 85,467 to 122,584 characters each; the core site-info ability&rsquo;s result was 1,651 characters. Verbose plugins make the AI work harder, one more argument for a short public list.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"your-options\">Your options if you want ready-made tools<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Adapter is a foundation: if the goal is an AI that helps run your site, one more piece is needed. Three routes get you there. &#129517;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Build on the Adapter.<\/strong> Register your own abilities (a developer task) or install plugins that register theirs, and keep the public list narrow as shown above. Best when you want exactly your tool set.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Use WordPress.com&rsquo;s built-in MCP server.<\/strong> <a href=\"https:\/\/developer.wordpress.com\/docs\/mcp\/\">WordPress.com includes a built-in MCP server<\/a> on all paid plans (free sites get it for the first 30 days after creation), and self-hosted sites connected through Jetpack with a Jetpack AI or Jetpack Complete plan use the same server. Authentication is OAuth 2.1 through the browser, so there are no application passwords to manage. Best when your sites already live on, or connect to, WordPress.com.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Install a plugin that ships its own tools and screens.<\/strong> <a href=\"https:\/\/easymcpai.com\/\">Easy MCP AI<\/a> is one: free &#127379;, with 280+ tools spanning content, media, WooCommerce, SEO fields and analytics, connections over OAuth 2.1 or API tokens, and per-ability switches under Easy MCP AI &rarr; Tools &rarr; Abilities (from version 2.0.1, on WordPress 6.9+, a fresh install starts with the non-destructive ones already enabled). Its audit log records every MCP tool call. Easy MCP AI is made by Themeisle, the company behind this blog. Best when you want screens instead of code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the rest of the field, <a href=\"https:\/\/themeisle.com\/blog\/best-wordpress-mcp-server-plugins\/\">the ThemeIsle roundup of WordPress MCP server plugins<\/a> compares the options, and for a click-by-click setup with a plugin, follow <a href=\"https:\/\/themeisle.com\/blog\/wordpress-mcp-ai-assistants\/\">the guide to connecting AI assistants to WordPress<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"final-thoughts\">Final thoughts &#128173;<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The WordPress MCP Adapter is the current, WordPress.org-published way to expose a site&rsquo;s abilities as MCP tools; Automattic&rsquo;s older project is archived and points to it.<\/li>\n<li>What it exposes is whatever core and plugins mark public: on the measured site, 51 abilities, five of them permanent deletes, and nothing for posts.<\/li>\n<li>Before an ability runs, its own permission check decides: an Editor got &ldquo;Permission denied&rdquo; on 17 of 19 read-only abilities.<\/li>\n<li>With one small custom ability also public, a short filter brought the list from 52 down to 19 read-only abilities, and in a live session Claude Code reported that none of them could change or delete anything; a low-role user then limits what runs.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The shortest path from here: install it, ask the discovery tool what is public on your site, then decide how narrow you want the list. Have you connected an AI client to your WordPress site yet, and which route did you take? Let us know in the comments section below!<\/p>\n\n\n<style>.ticss-d144f107 strong{font-weight: 700;\n    letter-spacing: -0.2px;\n    line-height: 1.2;\n    display: inline-block;}<\/style>\n\n\n<div class=\"wp-block-columns speed-guide has-white-color has-text-color has-background has-link-color wp-elements-2f81f6c5526477b5b4d52d1ca4513949 is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\" style=\"background-color:#4267cf\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\">\n<figure class=\"wp-block-image size-medium\"><img data-opt-id=30701221  data-opt-src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png\"  decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:eco\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png\" alt=\"speed guide\" class=\"wp-image-113040\" old-srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:1024\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:150\/h:150\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 150w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:768\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:50\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:240\/h:240\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 240w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:397\/h:397\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 397w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:600\/h:600\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 600w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:148\/h:148\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 148w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:195\/h:195\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 195w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:135\/h:135\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 135w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 2x\"><noscript><img data-opt-id=30701221  decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png\" alt=\"speed guide\" class=\"wp-image-113040\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:1024\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:150\/h:150\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 150w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:768\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:50\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:240\/h:240\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 240w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:397\/h:397\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 397w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:600\/h:600\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 600w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:148\/h:148\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 148w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:195\/h:195\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 195w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:135\/h:135\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 135w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 2x\" sizes=\"(max-width: 300px) 100vw, 300px\"></noscript><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center ticss-58e79f2f wp-block-paragraph\" style=\"font-size:14px\"><strong>FREE GUIDE<\/strong><\/p>\n\n\n\n<p class=\"ticss-d144f107 wp-block-paragraph\" style=\"font-size:25px\"><strong>4 Essential Steps to Speed Up Your&nbsp;WordPress Website<\/strong><\/p>\n\n\n\n<p class=\"ticss-3b627beb wp-block-paragraph\">Follow the simple steps in our 4-part mini series and reduce your loading times by 50-80%.&nbsp;&#128640;<\/p>\n\n\n<p><\/p><div class=\"frm_forms  with_frm_style frm_style_themeisle\" id=\"frm_form_4_container\" data-token=\"32abe49fca8dae324765adb0345baf72\">\n<form enctype=\"multipart\/form-data\" method=\"post\" class=\"frm-show-form  frm_pro_form \" id=\"form_site-speed-guide-below-post\" data-token=\"32abe49fca8dae324765adb0345baf72\">\n<div class=\"frm_form_fields \">\n<fieldset>\n<legend class=\"frm_screen_reader\">Site Speed Guide - Below Post<\/legend>\r\n\r\n<div class=\"frm_fields_container\">\n<input type=\"hidden\" name=\"frm_action\" value=\"create\">\n<input type=\"hidden\" name=\"form_id\" value=\"4\">\n<input type=\"hidden\" name=\"frm_hide_fields_4\" id=\"frm_hide_fields_4\" value=\"\">\n<input type=\"hidden\" name=\"form_key\" value=\"site-speed-guide-below-post\">\n<input type=\"hidden\" name=\"item_meta[0]\" value=\"\">\n<input type=\"hidden\" id=\"frm_submit_entry_4\" name=\"frm_submit_entry_4\" value=\"2c945b0b03\"><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/blog\/wp-json\/wp\/v2\/posts\/119409\">\t\t<input type=\"hidden\" name=\"item_meta[18]\" id=\"field_6px6q2\" value=\"\/blog\/wp-json\/wp\/v2\/posts\/119409\" data-frmval=\"\/blog\/wp-json\/wp\/v2\/posts\/119409\">\n\t\t<div id=\"frm_field_15_container\" class=\"frm_form_field form-field  frm_required_field frm_none_container\">\r\n\t<label for=\"field_6px6q\" id=\"field_6px6q_label\" class=\"frm_primary_label\">Your Email\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\">*<\/span>\r\n\t<\/label>\r\n\t<input type=\"email\" id=\"field_6px6q\" name=\"item_meta[15]\" value=\"\" autocomplete=\"email\" placeholder=\"your@email.com\" data-reqmsg=\"Your Email cannot be blank.\" aria-required=\"true\" data-invmsg=\"Your Email is invalid\" aria-invalid=\"false\">\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_17_container\" class=\"frm_form_field form-field  frm_none_container vertical_radio\">\r\n\t<div id=\"field_6px6q3_label\" class=\"frm_primary_label\">Subscribe to our newsletter\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\r\n\t<\/div>\r\n\t<div class=\"frm_opt_container\" aria-labelledby=\"field_6px6q3_label\" role=\"group\">\t\t<div class=\"frm_checkbox\" id=\"frm_checkbox_17-0\">\t\t\t<label for=\"field_6px6q3-0\">\n\t\t\t<input type=\"checkbox\" name=\"item_meta[17][]\" id=\"field_6px6q3-0\" value=\"true\" data-invmsg=\"Subscribe to our newsletter is invalid\"> Subscribe to our newsletter<\/label><\/div>\n<\/div>\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_14_container\" class=\"frm_form_field form-field \">\r\n\t<div class=\"frm_submit frm_flex\">\r\n<button class=\"frm_button_submit frm_final_submit\" type=\"submit\" formnovalidate=\"formnovalidate\">FREE ACCESS<\/button>\r\n\r\n\r\n\r\n<\/div>\r\n<\/div>\n\t<input type=\"hidden\" name=\"item_key\" value=\"\">\n\t\t\t<div id=\"frm_field_24_container\">\n\t\t\t<label for=\"field_mnxs9\">\n\t\t\t\tIf you are human, leave this field blank.\t\t\t<\/label>\n\t\t\t<input id=\"field_mnxs9\" type=\"text\" class=\"frm_form_field form-field frm_verify\" name=\"item_meta[24]\" value=\"\">\n\t\t<\/div>\n\t\t<input name=\"frm_state\" type=\"hidden\" value=\"tGKtIG19U6wyYcew8uBttaXML8mVTtcdTXIZaOV+cZAkdKCs\/l0h48RQnQG\/UFbR\"><\/div>\n<\/fieldset>\n<\/div>\n\n<p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&Delta;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"161\"><script>\ndocument.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );\n<\/script>\n<\/p><\/form>\n<\/div>\n\n<\/div>\n<\/div>\n\n\n","protected":false},"excerpt":{"rendered":"The WordPress MCP Adapter is now a WordPress.org plugin. See what it exposes on your site, who can use it, how to keep it narrow, and your options.","protected":false},"author":34,"featured_media":119401,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_stopmodifiedupdate":false,"_modified_date":"","_has_post_settings":[],"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4061,13],"tags":[],"hashtags":[],"class_list":["post-119409","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-wordpress-plugins"],"wppr_data":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.8 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>WordPress MCP Adapter: What It Is and What It Exposes (2026)<\/title>\n<meta name=\"description\" content=\"The WordPress MCP Adapter is now a WordPress.org plugin. See what it exposes on your site, who can use it, how to keep it narrow, and your options.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options\" \/>\n<meta property=\"og:description\" content=\"The WordPress MCP Adapter is now a WordPress.org plugin. See what it exposes on your site, who can use it, how to keep it narrow, and your options.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"Themeisle Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-12T09:54:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1920\/h:960\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/wordpress-mcp-adapter-explained-featured.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2180\" \/>\n\t<meta property=\"og:image:height\" content=\"1090\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Themeisle Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ThemeIsle\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Themeisle Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/\"},\"author\":{\"name\":\"Themeisle Editorial\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/person\\\/844b0a2dc66556309f9a5ae28ae87ffe\"},\"headline\":\"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options\",\"datePublished\":\"2026-10-12T09:54:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/\"},\"wordCount\":2196,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/10\\/wordpress-mcp-adapter-explained-featured.jpg\",\"articleSection\":[\"AI Innovations\",\"WordPress Plugins\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/\",\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/\",\"name\":\"WordPress MCP Adapter: What It Is and What It Exposes (2026)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/10\\/wordpress-mcp-adapter-explained-featured.jpg\",\"datePublished\":\"2026-10-12T09:54:00+00:00\",\"description\":\"The WordPress MCP Adapter is now a WordPress.org plugin. See what it exposes on your site, who can use it, how to keep it narrow, and your options.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#primaryimage\",\"url\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/10\\/wordpress-mcp-adapter-explained-featured.jpg\",\"contentUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/10\\/wordpress-mcp-adapter-explained-featured.jpg\",\"width\":2180,\"height\":1090,\"caption\":\"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-mcp-adapter-explained\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/\",\"name\":\"Themeisle Blog\",\"description\":\"WordPress Tutorials and Reviews for Beginners and Advanced\",\"publisher\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#organization\",\"name\":\"VertiStudio\",\"alternateName\":\"Vertigo Studio SA\",\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2024\\/02\\/VertiStudio_logo1.png\",\"contentUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2024\\/02\\/VertiStudio_logo1.png\",\"width\":718,\"height\":156,\"caption\":\"VertiStudio\"},\"image\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/person\\\/844b0a2dc66556309f9a5ae28ae87ffe\",\"name\":\"Themeisle Editorial\",\"description\":\"We\\\\'re the crew behind Themeisle Blog, where we eat, sleep, and breathe WordPress, website building, and all things blogging. Under the leadership of Karol K, our team is composed of WordPress wizards, web design junkies, and blogging enthusiasts. Between us, we\\\\'ve got a boatload of experience (like, 50+ years worth!) in making the digital world more accessible and fun.\",\"sameAs\":[\"https:\\\/\\\/themeisle.com\\\/blog\\\/\",\"https:\\\/\\\/x.com\\\/ThemeIsle\",\"https:\\\/\\\/www.youtube.com\\\/@ThemeIsle\"],\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"WordPress MCP Adapter: What It Is and What It Exposes (2026)","description":"The WordPress MCP Adapter is now a WordPress.org plugin. See what it exposes on your site, who can use it, how to keep it narrow, and your options.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/","og_locale":"en_US","og_type":"article","og_title":"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options","og_description":"The WordPress MCP Adapter is now a WordPress.org plugin. See what it exposes on your site, who can use it, how to keep it narrow, and your options.","og_url":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/","og_site_name":"Themeisle Blog","article_published_time":"2026-10-12T09:54:00+00:00","og_image":[{"width":2180,"height":1090,"url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1920\/h:960\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/wordpress-mcp-adapter-explained-featured.jpg","type":"image\/jpeg"}],"author":"Themeisle Editorial","twitter_card":"summary_large_image","twitter_creator":"@ThemeIsle","twitter_misc":{"Written by":"Themeisle Editorial","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#article","isPartOf":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/"},"author":{"name":"Themeisle Editorial","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/person\/844b0a2dc66556309f9a5ae28ae87ffe"},"headline":"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options","datePublished":"2026-10-12T09:54:00+00:00","mainEntityOfPage":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/"},"wordCount":2196,"commentCount":0,"publisher":{"@id":"https:\/\/themeisle.com\/blog\/#organization"},"image":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/wordpress-mcp-adapter-explained-featured.jpg","articleSection":["AI Innovations","WordPress Plugins"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/","url":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/","name":"WordPress MCP Adapter: What It Is and What It Exposes (2026)","isPartOf":{"@id":"https:\/\/themeisle.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#primaryimage"},"image":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/wordpress-mcp-adapter-explained-featured.jpg","datePublished":"2026-10-12T09:54:00+00:00","description":"The WordPress MCP Adapter is now a WordPress.org plugin. See what it exposes on your site, who can use it, how to keep it narrow, and your options.","breadcrumb":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#primaryimage","url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/wordpress-mcp-adapter-explained-featured.jpg","contentUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/10\/wordpress-mcp-adapter-explained-featured.jpg","width":2180,"height":1090,"caption":"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options"},{"@type":"BreadcrumbList","@id":"https:\/\/themeisle.com\/blog\/wordpress-mcp-adapter-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/themeisle.com\/blog\/"},{"@type":"ListItem","position":2,"name":"WordPress MCP Adapter Explained: What It Is, What It Exposes, and Your Options"}]},{"@type":"WebSite","@id":"https:\/\/themeisle.com\/blog\/#website","url":"https:\/\/themeisle.com\/blog\/","name":"Themeisle Blog","description":"WordPress Tutorials and Reviews for Beginners and Advanced","publisher":{"@id":"https:\/\/themeisle.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/themeisle.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/themeisle.com\/blog\/#organization","name":"VertiStudio","alternateName":"Vertigo Studio SA","url":"https:\/\/themeisle.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png","contentUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png","width":718,"height":156,"caption":"VertiStudio"},"image":{"@id":"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/person\/844b0a2dc66556309f9a5ae28ae87ffe","name":"Themeisle Editorial","description":"We\\'re the crew behind Themeisle Blog, where we eat, sleep, and breathe WordPress, website building, and all things blogging. Under the leadership of Karol K, our team is composed of WordPress wizards, web design junkies, and blogging enthusiasts. Between us, we\\'ve got a boatload of experience (like, 50+ years worth!) in making the digital world more accessible and fun.","sameAs":["https:\/\/themeisle.com\/blog\/","https:\/\/x.com\/ThemeIsle","https:\/\/www.youtube.com\/@ThemeIsle"],"url":"https:\/\/themeisle.com\/blog\/author\/editorial\/"}]}},"_links":{"self":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/119409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/comments?post=119409"}],"version-history":[{"count":2,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/119409\/revisions"}],"predecessor-version":[{"id":119411,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/119409\/revisions\/119411"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/media\/119401"}],"wp:attachment":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/media?parent=119409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/categories?post=119409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/tags?post=119409"},{"taxonomy":"hashtags","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/hashtags?post=119409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}