FAQ
Does the agent get admin access?
Section titled “Does the agent get admin access?”Only if you connect it as an administrator. The agent takes the capabilities of the account it connects as. Over OAuth that is whichever account approves the connection in the browser, so log in as the dedicated low-privilege user the plugin can create for you before you approve, and the agent can only do what that user can do. Each ability also re-checks the user’s capability before it runs, so a connection can never call a tool its user is not allowed to use.
Is it safe to connect an AI agent to my WordPress site?
Section titled “Is it safe to connect an AI agent to my WordPress site?”Yes, when the connection is scoped, which is what this plugin is built around. The agent connects as a real WordPress user, never an admin-equivalent key, and it takes that account’s capabilities, so approve while logged in as the account you want the agent to be. Every ability is off until you enable it, each call re-checks the user’s capability before it runs, and every call is logged, denied attempts included. The plugin itself never holds an admin-equivalent key.
What can an agent actually do?
Section titled “What can an agent actually do?”Only the abilities you have enabled, and only within the bound user’s capabilities. The catalog is reads and guarded writes over posts, pages, terms, comments, media, post meta, and site structure, plus revision history and a search that spans every post type at once. There is no ability to change options arbitrarily, change roles, fetch a remote URL, or run code. An agent can only write post meta for keys an administrator has explicitly allowlisted, and protected, underscore-prefixed, and authentication keys can never be allowlisted. Deletes move content to Trash where the ability supports it, and the permanent ones are off by default and capability-gated.
Can I give an agent read access without any write access?
Section titled “Can I give an agent read access without any write access?”Yes. Read-only mode is a switch on the Settings tab, and while it is on nothing that writes gets registered as an MCP tool, whatever you have ticked. A blocked write is missing from the agent’s tool list rather than refused when it calls. It covers abilities bridged from your other plugins as well, each judged by that plugin’s own annotation, and anything that declares neither way counts as a write and stays out, so the mode fails closed. Turning it on enables nothing by itself, and turning it off enables nothing either, so your selections are where you left them when you switch back. The switch is written to the audit log. It arrived in 1.6.0 and is off by default.
Is it free?
Section titled “Is it free?”Yes. Agent Abilities for MCP is free on WordPress.org, with no paid tier, no API key to buy, and no usage limits added by the plugin.
Does it send my content to OpenAI, Anthropic, or Google?
Section titled “Does it send my content to OpenAI, Anthropic, or Google?”No. The plugin connects to no AI provider and makes no outbound requests of its own. Your own AI client connects in to your site and calls the abilities you have enabled. Whatever your AI client does with the results afterward is between you and whoever makes that client.
What is the difference between this and the WordPress REST API?
Section titled “What is the difference between this and the WordPress REST API?”The REST API exposes raw endpoints. MCP describes your site’s abilities as discoverable tools an AI agent can reason about and call, and this plugin wraps each one in a governance layer: off by default, capability-gated on every call, and logged. It is the same underlying WordPress, governed so an agent can drive it within the limits you set.
Is this the same as the WordPress Abilities API, or the official MCP Adapter?
Section titled “Is this the same as the WordPress Abilities API, or the official MCP Adapter?”It is built on both. WordPress 6.9 ships the Abilities API and the official MCP Adapter; Agent Abilities for MCP registers a curated, governed set of abilities on top of them rather than inventing its own protocol or transport. So there is no bespoke server to trust, and the plugin inherits the standard’s behavior. What it adds is the governance layer: the off-by-default catalog, the capability gating, the safety controls, and the audit log.
Which WordPress version do I need?
Section titled “Which WordPress version do I need?”WordPress 6.9 or newer, which is where the Abilities API and the official MCP Adapter the plugin builds on are available. PHP 7.4 or newer is required.
Does it work with WPML?
Section titled “Does it work with WPML?”Yes, on a WPML site the content reads become language-aware. Posts, pages, search, terms, media, products, and single-item reads take an optional language argument, and each result reports which language it returned, so an agent always knows what it is looking at. A single-item read can also fetch a specific translation. The count abilities now share the list’s language scope, which fixes the case where a list returned only the default language while the count reported every language and told the agent more items existed than it could read. No abilities were added for this, the catalog is unchanged, and the plugin does not translate anything: it reads what WPML already holds and makes no outbound requests. If you do not run WPML, nothing changes and there is nothing to configure.
Which AI clients work?
Section titled “Which AI clients work?”Any MCP client that can reach your site’s endpoint. With OAuth you paste the
endpoint URL into the client and approve the connection once in the browser;
clients like ChatGPT, Claude.ai, Claude Desktop, Manus, Claude Code, Cursor, VS
Code, Windsurf, and Gemini CLI connect this way, some directly and some through
the mcp-remote bridge that runs on your own machine. ChatGPT connects through
its Developer Mode custom connectors, a beta feature on ChatGPT’s paid plans.
Claude.ai, Claude Desktop, and Manus connect the same way, as a custom connector
you add and approve over OAuth, and Claude.ai is in beta but not gated behind a
paid plan. Claude Desktop shares the Claude.ai connector rather than running a
bridge of its own, so it needs your site to answer on the public internet like
the other connector apps do. You can also connect with an Application Password
instead of OAuth. The Gemini app wants a streamable HTTP or SSE remote connector,
which the underlying adapter does not serve natively yet.
Is there rate limiting?
Section titled “Is there rate limiting?”Yes. Set a per-minute cap on the Settings tab under “Rate limit (per minute)”. Each connection can make that many agent calls a minute, counted per agent user, and 0 turns the limit off. Calls over the cap are denied and logged on the Activity Log tab, so you can spot a connection that keeps hitting it.
What gets logged?
Section titled “What gets logged?”Every ability call, whether it started, succeeded, errored, or was denied, with the acting user, the ability name, the argument keys, and a short note of the identifiers each call touched. Free-text argument content, like a post body or an email address, is never stored. Since 1.5.0 the log records governance as well as calls: every ability switched on or off and every setting changed, each tagged with an event type and a detail column naming what changed. Filter it by successes, errors, or denials, and export what you are looking at as a CSV. The activity log lives in your own database and can be cleared from the admin screen.
Does uninstalling the plugin revoke my agent’s access?
Section titled “Does uninstalling the plugin revoke my agent’s access?”Not on its own. Uninstalling removes the plugin’s own settings and activity log, and its OAuth tables too if you turned on “Delete data on uninstall” first. It never removes the dedicated agent user or any Application Password issued to it, because those are ordinary WordPress account credentials that exist outside the plugin’s data. To fully cut an agent off, revoke its OAuth grant on the Connection tab, or delete its Application Password or its user account on the Users screen. Either works before or after you remove the plugin.
How do I report a security issue?
Section titled “How do I report a security issue?”Please report security issues privately rather than in the support forum, so a fix can ship before details are public. Use the security contact listed on the plugin’s GitHub repository.