Skip to content
WP Visibility

Connect an assistant

The Assistant Gets 401, 403, 404 or Sees No Tools

Each status points at one thing: the credential, the user's role, the module, or the transport. Match the symptom and fix that one.

Updated September 21, 2026

Docs

Find your symptom in the first column. Each row is a single cause, ordered by how often it turns out to be the one.

Symptom Cause Fix
401 Unauthorized Wrong username or password, or the account password was used instead of the Application Password. Copy the Application Password again from the user’s profile, or create a new one. Spaces in it do not matter.
401 on a site without HTTPS WordPress does not accept Application Passwords over plain HTTP. Put the site behind a certificate.
401 with a correct password The host strips the Authorization header before PHP sees it. Common on Apache with CGI or FastCGI. Add to .htaccess, before the WordPress rules: RewriteCond %{HTTP:Authorization} ^(.*) and RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]. Or ask the host.
401 with a correct password A security plugin has disabled Application Passwords or REST authentication. Find the setting in that plugin and allow it for this user.
403 wpvis_forbidden on connect The user cannot edit_posts, so the tool catalog is refused. Subscribers and customers cannot connect. Give the user Author, Editor or Administrator, as the work needs.
403 wpvis_forbidden on one call That ability needs a capability the user lacks: settings, bulk updates, redirects and proposals need an administrator. Use the right ability for the role, or raise the role deliberately.
404 rest_no_route at /wp-json/wp-visibility/mcp The Assistant connection module is off. WP Visibility → Settings → Modules, turn it on.
404 for all of /wp-json/ REST is blocked by a firewall or plugin, or permalinks are not set. Allow /wp-json/ for authenticated users; set a permalink structure under Settings → Permalinks.
405 Method Not Allowed The client sent a GET, usually trying to open a server-sent events stream. The endpoint is POST only. Use a client that speaks streamable HTTP with POST, or the bridge.
agent_paused The assistant is paused. Resume from Settings, or wp visibility agent resume.
429 The hourly write limit for this user and client was reached. Wait, or raise Assistant write limit (per hour).
Connected, but few tools Tools follow enabled modules and abilities. Redirects, internal linking and the approval ability are off by default. Turn on the module you need. Leave approval off unless you mean it.
“No authentication method configured” The bridge started without its environment variables. Set WP_API_URL, WP_API_USERNAME and WP_API_PASSWORD in the block, as printed by wp visibility mcp-config.
The bridge connects but finds no tools, or 404s WP_API_URL is the bare site address. The bridge then looks for an older plugin’s route. Use the full endpoint: https://your-site.com/wp-json/wp-visibility/mcp.
The client’s form only asks for a URL and OAuth That form cannot send the Application Password. Use the bridge, or a client that supports headers. Claude Desktop, ChatGPT.
npx not found, or the bridge exits at once Node.js is missing or older than 22 on the computer running the client. Install a current Node.js and restart the client.

Test outside the client

A single request with curl separates the site from the client. With the endpoint, username and Application Password:

curl -u 'seo-agent:xxxx xxxx xxxx xxxx xxxx xxxx' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
  https://your-site.com/wp-json/wp-visibility/mcp

A JSON list of tools means the site side is fine and the problem is in the client’s configuration. A status code sends you to the table above.

Still stuck

Write to support@wpvisibility.com with the status code, the client, and the curl result. Never include the password.