Every WordPress ability, as an MCP tool
WordPress 6.9 lets core and plugins register abilities: named actions with a description and an input schema. GetMCP turns the ones you pick into MCP tools on a server, with authentication, logging and rate limits in front. No code, no custom endpoint, and each ability runs as the person who asked.
Pick abilities, get tools
On a server's Tools tab, Import Tools offers From WordPress Abilities. The dialog lists every ability registered on your site, grouped by the plugin that registered it, with a search box above. Tick the ones you want and click Add tools: each becomes a tool, with the ability's own input schema as the tool's parameters.
- Read-only marks an ability that declares it changes nothing; May change your site and Destructive mark the ones that do, and those ask you to confirm before they are added
- Not marked for MCP means the plugin's author did not flag it for AI clients; it still works
- New marks abilities registered since you last opened the dialog, so after a plugin update you can see what arrived
An ability already describes itself
An ability carries a name, a description, an input schema and whether it is read-only. That is everything a tool needs, so GetMCP writes no code and neither do you. In the server's tool list an ability tool carries an Ability badge where an HTTP tool shows its method, and it can sit on the same server as tools imported from a REST API.
- Core's own abilities and any plugin that registers them, side by side
- The ability's input schema becomes the tool's parameters, so an AI client knows what to send
- A test run from the tool editor shows the result and which user it ran as
// Import Tools: From WordPress Abilities core/get-site-info Read-only core/get-user-info Read-only bookings/list-appointments Read-only bookings/reschedule May change your site reviews/export Not marked for MCP // On the server, each one is a tool name bookings/reschedule parameters from the ability's input schema runs as the signed-in user
Who the ability runs as
An ability runs with WordPress capabilities, so GetMCP has to run it as somebody. Which somebody is the one decision this feature asks of you.
The signed-in user, by default
With WordPress sign-in as the server's client authentication, the ability runs as the person whose AI client made the call, and sees exactly what that person may see. An editor's assistant works like an editor.
One account you choose
Run abilities as, under the server's settings, runs every call as a specific account whatever client credential arrived. Use it for servers that clients reach with an API key.
Never an administrator
An ability running as an administrator would let any client with a key do anything an administrator can, so GetMCP refuses administrators as the run-as account. On a trusted install the getmcp_ability_allow_admin_run_as filter allows it.
Shown in the logs
Ability calls are logged like HTTP tool calls: the tool name, the arguments with PII redaction applied, the result and the time taken. They count against the server's rate limit and your plan's call quota.
Sign in with the accounts you already have
WordPress sign-in is the client authentication abilities were made for. People sign in with their WordPress account when their AI client connects, and only the accounts you list are let in.
A list, not a key
Choose WordPress sign-in on the server's Authentication tab and add the people who may connect. When one of them connects an AI client, it opens your site's sign-in in a browser; they approve, and the client gets a token for this server only.
An empty list lets nobody in
Administrators included. The list is checked on every request and at every step of the sign-in, not only when the token is issued. Remove someone and their tokens for the server are gone at once.
Each person, their own permissions
Abilities then run as the person who signed in, so nobody's assistant can do more than they can. No shared key to hand out, nothing to rotate when someone leaves.
Questions about abilities as tools
Which WordPress version do I need?
WordPress 6.9 or later, which introduced the Abilities API. On an older site the other imports, from a REST API, a cURL command, an OpenAPI spec or a template, work as before.
Which abilities will I see?
Everything registered on your site: WordPress core's own abilities and those of any plugin that registers them. The dialog groups them by who registered them and lets you search, so a site with many plugins stays readable.
Can an AI change my site through an ability?
Only through an ability you imported that is not read-only, and the dialog asks you to confirm before adding one. The call then runs as the signed-in person or the account you chose, with that account's capabilities, and is logged with its arguments.
Does this work in the standalone app?
No. Abilities live inside WordPress, so this is a feature of the WordPress plugin. The standalone app imports tools from REST APIs, specs and templates, and connects to remote MCP servers.
Can I mix ability tools with API tools on one server?
Yes. A server can hold tools imported from your REST API, from a template and from abilities side by side. In the tool list, ability tools carry an Ability badge where the others show an HTTP method.
See it in use
All use casesLook after every client WordPress site from one chat
Give each client site its own server from the WordPress template, all behind one Gateway address. Then ask which sites have drafts waiting, or fix a page on any of them, without signing in to each one.
WWrite, edit and publish posts on your own blog
Draft in Claude, then publish to your WordPress site with the right category and tags, or bring an old post up to date, without opening the editor.
WGive a store client an assistant that knows their orders
Build a server for a client's WooCommerce store so their team can ask about orders, products and customers from Claude. Put it under your agency's brand with White Label and offer it as your service.
Your site's abilities, in the conversation.
Pick the abilities on a server, list the people who may connect, and let each of them work with their own permissions.