How tools get their names
Every MCP tool is a WordPress ability from your Dashboard. The server derives tool names mechanically:- The primary namespace (default
mainwp) is dropped, and hyphens become underscores:mainwp/list-sites-v1becomeslist_sites_v1. - Abilities from any additional namespace keep a prefix:
acme/do-thing-v1becomesacme__do_thing_v1.
mainwp://abilities resource to see exactly what your setup exposes.
Tool categories
The per-tool reference (parameters, types, response shapes) lives with the Abilities API, because the abilities are the tools:Sites
Manage child sites, plugins, themes, sync operations, and related site data.
Updates
Review and apply WordPress, plugin, theme, and translation updates.
Clients
Create and manage client records, assignments, and related metadata.
Tags
Organize sites and clients with tags.
Batch Operations
Check the status of queued large-scale operations.
mainwp/get-site-v1 there is the tool get_site_v1 here.
Built-in resources
Beyond tools, the server exposes MCP resources for inspection:
The
mainwp://site/{id} resource and site ID completions execute the mainwp/get-site-v1 and mainwp/list-sites-v1 abilities directly, which is why mainwp must stay in abilityNamespaces (see the namespaces guide).
allowedTools and blockedTools apply to resources too: a blocked tool is refused at execution and also disappears from mainwp://abilities, mainwp://help, and per-tool help. Two exceptions are deliberate: mainwp://categories and mainwp://status stay unfiltered because they describe the Dashboard connection rather than the tool surface, so the category list and ability count they report do not shrink under filtering.