Llamly MCP connects your WordPress site to the AI you already use: ChatGPT, Claude, Codex, Cursor and other AI agents. Ask in plain language and your agent writes, edits and organizes the site for you, with your WordPress content permissions, a full change history and undo. It is a free WordPress MCP server (Model Context Protocol) that runs inside your own site: no relay, no Llamly server in between, no Llamly account and no API key from an AI provider.
Use the AI subscription you already have. Keep every change reversible.
Ask things like “publish the three drafts about our new service”, “find every image without alt text and fill it in”, “add a FAQ section to the pricing page”, “move Contact to the end of the main menu” or “undo the last change you made”, and your agent does it on your site.
MCP (Model Context Protocol) is the open standard AI apps use to work with other software. A WordPress MCP server gives ChatGPT, Claude or any MCP-capable agent a set of typed, permission-checked actions on your site, such as publishing a post or updating a menu, instead of you copying and pasting between a chat window and wp-admin. Llamly MCP is that server, installed like any other plugin.
ChatGPT signs in with OAuth, so no key is needed. On chatgpt.com, turn on Developer mode in Settings > Security and login, add a custom MCP server with your Llamly endpoint as the server URL and OAuth authentication, then approve access on your site. Needs a ChatGPT plan with developer mode (Plus, Pro, Business, Enterprise or Edu) and your site on a public HTTPS address.
Click “Add to Claude” in the Llamly recipe, review the request on your site, choose read only or read and write, and click Approve access. The same connector shows up in Claude Desktop on the same account. Needs a public HTTPS address; for a site on your computer, Claude Desktop uses the local bridge shown in the recipe.
Create an access key in the Llamly recipe and paste the ready-made command. For Claude Code:
claude mcp add --transport http my-site https://your-site.example/wp-json/llamly/v1/endpoint --header "Authorization: Bearer YOUR_KEY"
The Connections tab shows the exact command or config for each app, with your endpoint filled in. These apps also work with a local WordPress site, with no public address needed.
You are handing an AI real access to your site, so Llamly is built to keep you in charge:
wp_undo_change / wp_redo_change), newest first in batches, and conflicts with later human edits are reported instead of overwritten.confirm: true before it deletes or trashes something, undoes a change, makes a destructive redo or takes an irreversible action. The agent controls that flag, so it is a brake and not a security boundary.javascript: links and Custom HTML blocks are refused or removed.Undo brings content back, but it cannot take back effects outside your database such as caches and CDNs. See Limitations below.
No arbitrary SQL, shell, WP-CLI or file editing; no site settings, user changes or server logs; no installing, updating or switching plugins and themes; no fetching of remote URLs; no writing to Elementor. Llamly has no internal AI chat and does not send your content to any AI provider: the AI app you connect calls your site, not the other way around.
wsrep_on=ON) and a custom wp-content/db.php drop-in.GET_LOCK() and to run SET SESSION TRANSACTION ISOLATION LEVEL. Llamly sets REPEATABLE READ for each write and restores the previous level, so the host default does not need to change.innodb_flush_log_at_trx_commit must be 1 or 2. Value 1 is fully durable; with 2 an operating system crash or power loss can lose about one second of committed changes, including journal entries. Value 0 is refused.max_allowed_packet of 16 MB or more is recommended; large changes can be refused below that.The Doctor in the Connections tab (Run checks) tests these requirements on your server and tells you what to ask your host for.
Tested end to end with Claude Code, Codex, OpenCode, claude.ai, ChatGPT, Claude Desktop (cloud connector), Cursor (access key) and Antigravity CLI. Recipes are included, and testing is under way, for Cursor sign-in and the Claude Desktop local bridge. If a recipe does not work for you, please tell us in the support forum.
One Llamly menu with five tabs: Connections (connected apps, recipes and the Doctor), Activity (change history with undo and redo and approval requests), Logs (filterable audit log with CSV export), Settings and About (getting started and example requests). The interface is in English and can be translated on translate.wordpress.org; wp-admin and the OAuth sign-in page follow each user’s language.
Llamly is GPLv2 or later. Its connection recipes, OAuth flow and transport were modelled on Cowboy MCP (GPL-2.0-or-later); interface icons come from Lucide (ISC) and client marks from Simple Icons (CC0) and OpenCode (MIT). Details are in THIRD-PARTY-NOTICES.txt inside the plugin.
Llamly stores, in your WordPress database:
wp-content/uploads/llamly-mcp/ for the same period.There is no Llamly server: the AI app you connect sends its requests straight to your site, and each request acts with the content permissions of the user who created the key or approved the OAuth sign-in, never administrator ones.
Expired rows are removed by a daily WordPress cron event. Llamly sets no cookies on the public site, adds no tracking, and makes no external requests at runtime. Links in the admin that open claude.ai or chatgpt.com only open those sites in your browser when you click them.
Every JavaScript and CSS file in this plugin is its own human-readable source, not minified and not generated: there is no build step. assets/free/js/admin.js (the admin screens), assets/free/js/editor-guard.js (block editor guard) and assets/free/js/icons.js (the SVG markup of the icons, from Lucide and Simple Icons, see THIRD-PARTY-NOTICES.txt) are loaded as they are, and the CSS in assets/free/css/ likewise. The PHP code is in src/Free/.
already_undone.context=edit and sends its llamly_edit_token in the X-Llamly-Edit-Token header. The block editor does this for you. The mobile app and other REST clients that send no token get the error until they reload the item. Items the agent never changed need no token. Not guarded: XML-RPC, the quick edit and bulk edit of the posts list, and plugin-specific REST APIs that write the same post (for example WooCommerce products). You can disable XML-RPC.wp_upload_media call carries a file of up to about 693 KB, because the whole request is limited to 1 MiB. Over the limit the agent gets a clear error and a request larger than 1 MiB is refused with HTTP 413.