The AI Client Finds a WordPress Tool but the Action Is Denied
Finding a tool proves discoverability, not authorization. Execution can still be refused by the tool schema, server policy, WordPress authentication, an Ability permission callback, a REST permission callback or the owning user’s capabilities.
Likely causes
- The authenticated WordPress user lacks the capability required by the endpoint or tool.
- The endpoint’s permission callback rejects the authenticated user for the requested operation.
- The workflow requests a write while the WordPress identity is intentionally limited to reading.
- The server or plugin intentionally exposes only a subset of tools for the active identity or configuration.
- The credential is attached to a different WordPress user than the client expects.
Diagnostic sequence
- Request the MCP tool list and record the names and schemas actually exposed by the server.
- Compare the requested tool name and inputs with the schema returned by the active MCP server.
- Use a minimal authenticated identity check to confirm which WordPress user the request represents.
- Compare the authenticated user’s WordPress capabilities with the action required by the route or tool.
- Repeat one known, narrow read that should be allowed for this identity.
- Attempt one deliberately forbidden write to confirm that the boundary still refuses it.
Apply the smallest correction
- Select the lowest WordPress access level that can complete the approved action.
- Create a dedicated WordPress identity instead of reusing the human administrator.
- Correct the client endpoint, transport, tool name or credential reference without broadening WordPress permissions.
- Replace stale instructions with documentation tied to the installed client, plugin and version.
- Escalate with sanitized, versioned evidence when the behavior remains specific to the plugin.
Verify the result
- The active MCP server lists the expected WordPress tool and current input schema.
- The authenticated request resolves to the intended dedicated WordPress user.
- The approved narrow read succeeds with a reproducible response.
- The tool remains visible, but WordPress correctly refuses the action that exceeds the identity’s capability.
What not to do
- Do not grant administrator access merely to make a connection test pass.
- Do not treat every 403 as a broken connection; it may be the correct permission refusal.
- Do not confuse successful authentication with permission to perform every WordPress action.
- Do not jump from a limited identity to Full Power without a separate approved workflow, staging and rollback.
- Do not place an Application Password, Authorization header, token or cookie in a prompt, ticket, log excerpt or screenshot.
Related guides
- MCP Is Connected but No WordPress Tools Appear
- WordPress Returns 403 After Application Password Authentication
- What Permissions Does a WAP Application Password Have?
- Which WordPress Access Level Should You Give an AI?
- WordPress REST API vs MCP: Which Should You Use?
Sources and verification
This page was checked against the following primary sources. Last source review: .
- Model Context Protocol: Tools · Model Context Protocol
- Abilities API · WordPress Developer Resources
- Roles and Capabilities · WordPress Developer Resources
- Routes and Endpoints · WordPress Developer Resources