Leitvia Studio lets AI agents such as Claude Code, Codex or Cursor build and maintain WordPress sites with block themes through 59 abilities, and every change passes checks for design, accessibility and content before it goes live. It is free and made for developers, agencies and site owners who wan
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 7.1 and PHP 8.2.
SourceWordPress plugins · Nov 14, 2026
01 / Source details
Aboutthistool.
Leitvia Studio lets AI agents such as Claude Code, Codex or Cursor build and maintain WordPress sites with block themes through 59 abilities, and every change passes checks for design, accessibility and content before it goes live. It is free and made for developers, agencies and site owners who want an AI agent to do the work without administrator rights.
The abilities belong to the WordPress Abilities API and run over MCP or the REST API. Everything Studio creates is stored in WordPress core structures (patterns, global styles, post types, block bindings), so the site keeps working when you deactivate the plugin. It works with any block theme and fits best with the free theme Leitvia .
What it does
AI agent gateway with review and rollback. Agents read the design contract, tokens, patterns and page outlines, then build pages from patterns, change single blocks, fix links and alt text or set up navigation. Every write runs through one pipeline: identity, scope, a hash check against stale reads, content checks (headings, alt text, link text, contrast, landmarks), a snapshot and an audit entry. An autonomy level per area decides whether a change goes live, lands as a draft or waits in the inbox as a change package with a block diff, which a person applies, rejects or rolls back.
MCP server for WordPress. With the plugin MCP Adapter active, Studio adds its own MCP server “leitvia” with one tool per ability; the default server of the adapter offers the same abilities. Without the adapter, every ability runs over the REST API, and wp leitvia runs them from WP-CLI.
Limited rights for agents. An agent signs in as a “Leitvia Agent” user with an application password that an administrator creates and revokes on the Agents screen. It never installs or changes plugins, themes, users or code. Site settings, the content model and global styles always wait for a person.
Design tokens. Token sets in the W3C Design Tokens format (DTCG) are imported, exported, kept with revisions and compiled into the global styles. A set whose text or control colors miss WCAG 2.2 AA contrast cannot be saved, and overlays change tokens for a scheduled period.
Pattern Lab. All patterns with live previews in every style variation at 390, 782 and 1440 px, state variants, an axe accessibility check per preview, status, version and a usage index.
Content model and block bindings. Post types, taxonomies, fields, relations and site settings declared as JSON, registered through core APIs and shown in paragraphs, headings, buttons and images through block bindings.
Site recipes. One command or one agent call sets up a site from style variation, header, footer, pages from patterns, navigation and settings that send less data: Blog, Company, Publication, Documentation and, with WooCommerce, Shop. A second run adds nothing.
Privacy by default. Embeds from YouTube, Vimeo, X and other sites wait behind a consent placeholder, the Map block loads OpenStreetMap tiles only after consent, Gravatar and the emoji script of WordPress stay off, and fonts are served from your own site.
Accessibility blocks. An accessibility bar, an easy language switch for pages in easy language (Leichte Sprache), a form error summary, a table of contents and tabs that stay readable without JavaScript.
Structured data. NewsArticle or BlogPosting, CollectionPage and ProfilePage as JSON-LD and a news sitemap, switched off while an SEO plugin such as Yoast SEO or Rank Math is active.
WooCommerce. A product comparison block, 10 abilities for products and categories and the recipe Shop, all registered only while WooCommerce is active.
Leitvia Pro
Everything above is free and stays free, and no feature is locked. The separate paid add-on Leitvia Pro adds the blocks Slider, Scroll story, Before and after and Entry list, and eight industry kits with their own brand, pages and patterns. See Leitvia plans and prices .
Works with the official WordPress agent skills
Leitvia Studio follows the standards WordPress sets for AI agents and will keep following them:
WordPress agent skills : an AI agent with only the official skills finds the Leitvia abilities with GET /wp-json/wp-abilities/v1/abilities?category=leitvia .
Abilities API : every ability has described input fields, an output schema and annotations (readonly, destructive, idempotent), and runs under /wp-json/wp-abilities/v1 .
MCP Adapter 0.7: its default server lists the Leitvia abilities through discover-abilities and execute-ability, with the same checks.
The Leitvia agent skills on GitHub add eleven skills for setup, design, pages, patterns, maintenance, accessibility, migration, shop catalog, news, SEO and reports, and three workflows. They work side by side with the WordPress skills. The Leitvia developer guide shows the calls with real answers.
Core preset slugs such as base, contrast or spacing 50 map to the roles of the design contract, so content written by AI agents trained on default themes still fits. Theme files of your own go into the child theme Leitvia Child , blocks of your own into a plugin built from Leitvia Block Starter . No agent writes files into the theme.
Privacy
Leitvia Studio sends no visitor data anywhere and sets no cookies. Embeds from other sites (the Embed block and its variations such as YouTube, and iframes from other sites in classic content and in Custom HTML blocks) show a placeholder until the visitor clicks “Load content from” followed by the name of the provider (for example “Load content from YouTube”); only then does the visitor’s browser contact the provider. When a visitor ticks “Always allow YouTube on this site” (with the name of the provider), the list of allowed providers is stored in the visitor’s browser (localStorage, key leitvia-consent ), never on the server; the Consent Settings block lists and revokes these entries. Without JavaScript the placeholder only links to the content on the provider’s site. The setting “Ask visitors before loading embedded content from other sites” turns the placeholder off; deactivating Leitvia Studio also brings back the embeds as WordPress renders them. When you save a post, WordPress itself asks the provider for the embed code (oEmbed), as without the plugin; that request comes from your server and carries no visitor data.
The list carries the path of the site in its key ( leitvia-consent:/ for a site at the root, leitvia-consent:/club/ for a site below /club/ ), because sites of a subdirectory network or installations in folders of one domain share the local storage of the browser. Consent given on one of them never applies to another. A list stored by an older version under leitvia-consent carries over on a site at the root path only.
The Accessibility bar stores text size and high contrast in the visitor’s browser (localStorage, key leitvia-a11y ), only after the visitor changes one of them. Read aloud uses the speech synthesis of the browser with a voice installed on the device; the button only appears when such a voice exists for the language of the page, and voices from online services are never used.
The Contact form block sends the name, email address and message a visitor enters by email to the address set in the block, or to the administration address of the site, and stores none of it on the site. To limit the messages per connection it keeps a counter for one hour under a salted hash of the IP address; the address itself is not stored. It sets no cookies and contacts no other service. Name the form in your privacy policy.
External services
This plugin does not connect to any external service by default. The check after an AI agent changed a page live loads that page from your own site (a loopback request, see the question on requests from your server); it contacts no other host.
AI provider of the site owner: only when an agent or a user calls the ability “Plan page” (leitvia/plan-page) with ai set to true, Leitvia Studio sends one request through the AI client of WordPress to the AI connector an administrator set up under Settings, Connectors (for example OpenAI, Anthropic or Google). Leitvia Studio has no provider of its own and stores no keys. The request holds the goal and the content points given in that call, the page frame and composition rules of the contract, and the names and metadata of the patterns; no posts, no user data and no other content of the database. Without that call, nothing is sent. The terms and privacy policy of the provider the administrator chose apply.
Embedded content: when a visitor clicks “Load content from” with the name of the provider in the placeholder of an embed, or has chosen to always allow that provider, the visitor’s browser loads the embedded content from the provider. The provider receives the visitor’s IP address, browser details and the page address, and may set cookies. Nothing is loaded before that action. The providers Leitvia Studio names, with their privacy policies (other embed providers are named after their host):
YouTube (Google): privacy policy , terms
Vimeo: privacy policy , terms
X: privacy policy , terms
Spotify: privacy policy , terms
SoundCloud: privacy policy , terms
TikTok: privacy policy , terms
Map tiles: the Map block shows a list of places with links to openstreetmap.org and a placeholder for the interactive map. Only when a visitor clicks “Load content from OpenStreetMap”, or has chosen to always allow it, does the visitor’s browser load map images (tiles) from the tile server. The tile server receives the visitor’s IP address, browser details and the page address. Nothing is loaded before that action, and the block editor shows no map. The default tile server is the one of the OpenStreetMap Foundation; administrators can enter another one under Leitvia Studio, Settings, “Map tile server” (https only), in which case the placeholder names that server. Check the terms of use and the privacy policy of the server you use.
OpenStreetMap tile usage policy
OpenStreetMap Foundation privacy policy
Emoji imag
See it in action
Screenshots & previews.
Agents: connection status, application passwords, checks and the MCP Adapter at a glance, plus the AI agents with access to the site.Pattern Lab: a block pattern in the preview at three viewport widths, with variants, checks and usage.Token set editor: WCAG contrast check for every color pair, scheduling as an overlay and a live preview of theme patterns.Change package of an AI agent: check result and the block diff per operation, ready to apply or reject.Applied change package with Roll back.Checks before and after every write: the list of checks, the results of the last 30 days and verify after writing.
02 / Source details
Gettingstarted.
01Install the plugin on the Plugins screen (search for Leitvia Studio), or upload the leitvia-studio folder to /wp-content/plugins/ . With WP-CLI: wp plugin install leitvia-studio --activate .
02Activate the plugin. The menu Leitvia Studio appears with Pattern Lab, Tokens, Content Model, Recipes, Agents and Settings.
03Optional, to connect an AI agent over MCP: install and activate MCP Adapter . Without it, agents use the REST API.
04Under Leitvia Studio, Agents, create an agent user, copy its application password (it is shown once) and set the autonomy level per area.
05Point the agent at https://your-site.example/wp-json/leitvia-studio/v1/mcp with that password. The getting started guide has the configuration for Claude Code, Codex CLI, Gemini CLI and Cursor.
03 / Source details
Frequently asked questions.
What is Leitvia Studio?
Leitvia Studio is a free WordPress plugin that lets AI agents build and maintain sites with block themes through 59 abilities of the WordPress Abilities API, with checks, an autonomy level per area, a review inbox and rollback. It also adds a Pattern Lab, design tokens in the DTCG format, a content model with block bindings, site recipes and blocks for privacy, accessibility and offers. It needs WordPress 7.1 and PHP 8.2 or later.
Does Leitvia Studio work with Claude, ChatGPT or Cursor?
Leitvia Studio works with any MCP client that connects over HTTP and can send an Authorization header. The AI agent signs in with the application password of a Leitvia Agent user. Studio offers no OAuth sign-in, so a client that connects to MCP servers only through OAuth cannot reach the server “leitvia” directly. Any tool that can call a REST API with Basic auth can use the same abilities under /wp-json/wp-abilities/v1 .
How do AI agents use Leitvia?
An AI agent such as Claude Code, Codex or Cursor connects to your site over MCP or the REST API with the application password of an agent user from Leitvia Studio, Agents. It reads the design contract and the outline of a page first, then calls the Leitvia abilities, and every change runs through the gateway checks and your autonomy levels. No service of ours sits in between: the agent signs in as a user of your site that an administrator created, with the role Leitvia Agent and without administrator rights. It works on content, media, navigation, template parts and token set drafts. It cannot install, activate, update or remove plugins or themes, manage users, log in to wp-admin or edit code. The role itself stores no capability: Studio gives an agent the rights for content, media and theme options only while it runs. Deactivate Studio or remove its folder and the agent has the rights of a user without a role: it can sign in and change its own profile, as any WordPress user can, and nothing on the site. Its application password stays and works again when you activate Studio. Deleting Studio in the admin removes the application passwords of agents and the role; the users and their content stay. Application passwords come into being only when an administrator creates an agent or a new password on the Agents screen, and the password is shown there once. Changes to site settings (such as the front page or the comment defaults), the content model, the active token set or the global styles only ever reach the inbox as a suggestion that a person applies or rejects, whatever the autonomy profile. Ready-made agent skills for setup, design, pages, patterns, maintenance, accessibility and migration, with the full reference of all abilities, are described in the Leitvia documentation .
Does Leitvia Studio need an API key or an account?
No. Leitvia Studio needs no API key, no account and no service of ours. The AI agent is a program you choose, and it signs in to your site with an application password that an administrator creates. Only the ability “Plan page” with ai set to true uses an AI provider, and only the one an administrator set up under Settings, Connectors (see External services).
Is Leitvia Studio free?
Yes. Leitvia Studio is free under the GPL, version 2 or later, with no locked features and no upsell notices. Leitvia Pro is a separate paid plugin with extra blocks and industry kits.
Is Leitvia Studio GDPR compliant?
Leitvia Studio sends no visitor data to other hosts and sets no cookies, which makes a GDPR compliant site easier to run; compliance itself depends on your whole site and how you run it. Embeds and map tiles load only after the visitor agrees, Gravatar and the emoji images of WordPress stay off unless an administrator switches them on, and fonts come from your own site. Apart from the optional AI planning call described under External services, its only server side request goes to your own site. Every exception is listed under Privacy and External services.
Does Leitvia Studio make my site accessible under WCAG 2.2, the EAA or the BFSG?
No plugin can make a site accessible on its own, and Leitvia Studio does not claim to. Its admin screens and blocks are built to meet WCAG 2.2 level AA and BITV 2.0, and before an AI agent change goes live the gateway checks headings, alt text, link text, contrast and landmarks and refuses changes that bring new findings. Whether your site meets WCAG, the European Accessibility Act or the German BFSG also depends on the theme, the content and other plugins, and needs a test by people.
How accessible are the admin screens and blocks?
Leitvia Studio is built to meet WCAG 2.2 level AA and BITV 2.0 in its admin screens and in the blocks it adds to the front end:
The admin screens Pattern Lab, Tokens, Content Model, Recipes, Agents with its Inbox tab and Settings work with the keyboard, keep a visible focus, label every field and announce results in a status message. Wide tables scroll in their own box at 320 px instead of the page.
The inbox shows each change of an agent as a block diff in plain text with the text before and after, never by color alone. Revoking an agent and the profile “Fully autonomous” ask for a confirmation.
Blocks keep their content readable without JavaScript: tabs, table of contents, mega menu links, pricing period switch, comparison tables and the form error summary. Moving blocks (marquee, counter, reveal) stand still when the operating system asks for reduced motion, and the marquee has a Pause button.
Before an agent change goes live, the gateway checks heading structure, alt text, link text, color pairs of the active palette and the landmarks of the rendered page, and refuses changes that bring new findings.
Automated tests run axe in three widths and keyboard tests on the admin screens, and axe on every block. They do not replace a test by people, and the accessibility of a site also depends on its theme, content and other plugins. Report accessibility problems on the Leitvia accessibility page .
What are pages in easy language?
Pages in easy language (Leichte Sprache), which public bodies in Germany offer under BITV 2.0, are normal pages: the page sidebar marks one as the easy language version of another, and the block “Easy language switch” links both. The block “Accessibility bar” for the header collects the links to easy language, the accessibility statement and sign language and, with JavaScript, adds text size, high contrast and read aloud. It is an extra, not a fix: pages must be accessible without it.
Does the plugin work without the Leitvia theme?
Yes. It works with any block theme. The theme Leitvia adds a design contract with fixed roles for colors, spacing and font sizes, 70 patterns and shop templates, which AI agents and the Pattern Lab read.
What happens when I deactivate Leitvia Studio?
Your posts, pages, patterns, global styles and images stay, because Studio stores them in WordPress core structures. Blocks connected to content model fields show the content saved in the block, embeds render as WordPress renders them, and AI agent users lose every right on the site until you activate Studio again. If Gravatar was off, Studio switches “Show Avatars” off so that avatars do not start loading from Gravatar; the questions below explain both steps in detail.
Does the plugin change my front end?
Only where you use its features. It loads scripts and styles for visitors only on pages with its blocks or an embed placeholder. It does change front end output in eight places: structured data in the head of posts, archives and author pages with the news sitemap and its line in robots.txt, while no SEO plugin is active the canonical link of archives and a stored SEO title, description and robots, profile pictures and the placeholder replace Gravatar images wherever WordPress shows avatars, embeds from other sites wait behind a consent placeholder, a scheduled token overlay changes the styles while it runs, the “Child entries” query lists the rows of a content model entry, code blocks get a “Copy code” button that shows once JavaScript runs, and the emoji script of WordPress is left out (see below). The Lab preview, which logged-in editors open from the admin, loads its own scripts, and axe-core only while an accessibility check runs.
What happens to blocks connected to content model fields when I deactivate the plugin?
Paragraphs, headings, buttons and images can show content model fields, site settings and related entries through block bindings. A site setting is only available to blocks when its declaration sets “bindable” to true, because its value is then shown to every visitor. Without Leitvia Studio, WordPress shows the content saved in the block instead. When you connect an empty block, the editor saves the field name as that content, so the block is never left empty.
What are building blocks?
A building block is one content feature of an add-on, such as events or a team: content types, the sections that show them and sample drafts. Adding one leaves design and pages alone. A section whose building block is missing says so in the editor and sets it up in one click; visitors never see it empty. Developers use the registry building_blocks, AI agents the ability leitvia/add-building-block.
How do I mark posts as news articles?
Every post is a news article until you choose categories under Studio, Settings, Design and search, “Posts that are news”; posts outside them get the type BlogPosting and stay out of the news sitemap. The filter leitvia_studio_news_categories receives that list and can return other slugs or IDs. The setting “Add structured data to posts and author pages” switches the structured data off, “Publish a news sitemap for Google News” the sitemap; the sitemap also stays off while the site discourages search engines or another plugin makes a news sitemap (filter leitvia_studio_news_sitemap_enabled ). The filter leitvia_studio_seo_plugin_active tells Leitvia Studio about an SEO plugin it does not
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati