This is a connectivity problem, not a login problem. Your username and application password are probably fine (if you were getting a 401 or 403 "unauthorized," see our separate MCP 401/403 fix page). Here the request from wptaskify's server, or from your AI client, never gets a clean answer from your site: it is blocked, challenged, redirected, or it takes too long and times out. There are a handful of very common culprits, and most of them live in front of WordPress rather than inside it: 1. A bot filter is blocking the request. Cloudflare's "Block AI Bots"/"Bot Fight Mode"/"Super Bot Fight Mode," or a managed host's own anti-bot AI (SiteGround, WP Engine, and similar), sees a server-to-server request with no browser, no cookies, and a plain HTTP user-agent, scores it as "a bot," and blocks or challenges it. This is the single most common cause in 2026, and it is silent - you just see a failure or timeout. 2. A security plugin is blocking the REST API. Wordfence, Solid Security (formerly iThemes), All-In-One WP Security, or "Disable REST API"-type plugins can restrict /wp-json/ to logged-in users or block routes outright. 3. The /.well-known/ or /wp-json/ path never reaches WordPress. Some hosts serve /.well-known/ straight from the server (nginx/Apache) and return 404 before WordPress runs, which breaks the OAuth discovery step some connectors use. Setting WordPress permalinks to "Plain" also disables the rewrites those endpoints rely on. 4. The connection or a tool call times out. On slow or shared hosting, a low PHP max_execution_time or a low gateway timeout means a heavier tool call (bulk edits, media, big queries) is killed mid-request, showing as a 504 or "timed out." 5. The plugin is not installed, not active, or the site is not publicly reachable over HTTPS. A local-only site (LocalWP, .test, MAMP) or an http:// (non-SSL) site cannot be reached or cannot use application passwords. Some of these are things you can fix on the site; some are host-side and need your host's support. We flag which is which below.
No. A 401/403 means the site was reached but rejected your credentials - see our separate MCP 401/403 fix page for that (application passwords, user role, disabled REST auth). This page is for when the request fails to complete at all: connection refused, timeout, a 5xx server error, or a bot challenge before authentication even happens. That said, a firewall returning 403 to block a bot can look like an auth error - if /wp-json/ returns 403 to an anonymous browser request, treat it as blocking (this page), not as a credential problem.
No, and you shouldn't leave it off. Deactivating a security plugin or Cloudflare bot protection is only a diagnostic step to confirm it's the blocker. Once confirmed, add a targeted allowlist/skip rule for your /wp-json/ (and MCP/OAuth) paths and turn protection back on. The goal is to allow this one legitimate integration through, not to lower your site's security everywhere.
Usually it's something in front of your WordPress site - Cloudflare, a host firewall, a security plugin, or a low server timeout - not wptaskify and not your AI client. wptaskify's server just makes a normal authenticated request to your REST API; if that request is blocked, challenged, or times out, the failure surfaces as a connection error. The fastest way to tell: open https://yoursite.com/wp-json/ in a browser. If that itself is blocked or hangs, the issue is on the site/host side.
Those hosts run their own bot/AI filtering in front of your site that you can't see or toggle from the WordPress dashboard. SiteGround's Anti-Bot AI can challenge the connection, and WP Engine's WAF has blocked requests based on user-agent. On these hosts the fix is to contact the host's support and ask them to allowlist the connection (by path and/or IP). This is a genuine host-side limitation, not something wptaskify can override for you.
That points to server timeouts rather than connectivity. Heavier tool calls (bulk edits, media, large queries) can exceed a low PHP max_execution_time or gateway timeout, especially on shared hosting, and get killed mid-request (often a 504). Raise PHP max_execution_time and memory_limit via your host, or ask support to, and run big jobs in smaller batches. If limits are capped server-side, only your host can lift them.