Quick URL check: status, redirects, title, speed (free)
web_quick_checkCheck 1-20 URLs for reachability and redirects, returning final HTTP status, response time, content type, server header, and title. Use it to verify if sites are up or pre-filter leads.
Instructions
Lightweight reachability check for 1-20 URLs: final HTTP status, full redirect chain, response time (ms), content type, Server header and . WHEN TO USE: "is this site up?", "where does this domain redirect?", cheap pre-filtering of a lead list before deeper audits. For SEO details use web_seo_audit; for hundreds/thousands of sites use web_batch_audit. Fetching: GETs from this server with User-Agent "FairqueryBot ... Fairquery-MCP", 15 s timeout per request, body capped (1.5 MB HTML), max 5 redirects, no JavaScript rendering; URLs resolving to private/loopback/link-local addresses are refused (SSRF guard). Only the first 300 KB of each page is read. RETURNS: one "quick_check" or "error" row per input (error codes INVALID_URL, BLOCKED_PRIVATE_ADDRESS, DNS_FAILED, FETCH_FAILED, TIMEOUT, TOO_MANY_REDIRECTS); per-URL errors never fail the whole call. WHEN NOT TO USE: not for SEO/meta analysis (web_seo_audit), security headers (web_security_headers) or >20 URLs (web_batch_audit, paid). COST: free - runs locally in this MCP server (direct HTTP GETs), no APIFY_TOKEN, no Apify billing. PARAMETERS: urls: each entry is normalized independently and returns exactly one row, in input order: surrounding whitespace is trimmed, an entry without scheme gets "https://" (write "http://..." explicitly to test the plain-HTTP redirect), the #fragment is dropped, and the path/query are kept, so "vercel.com" and "vercel.com/pricing" are different checks. Entries that are not http(s), contain user:password@, have no dot in the host (e.g. "localhost") or resolve to private/loopback/link-local IPs become per-URL error rows (INVALID_URL / BLOCKED_PRIVATE_ADDRESS) while the other URLs still run; duplicates are fetched twice. All URLs are fetched in parallel, so total latency is roughly the slowest URL (max 15 s each). EXAMPLE: {"urls":["vercel.com"]} -> {count:1, items:[{type:"quick_check", final_url:"https://vercel.com/", status_code:200, ok:true, ...}]}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Required. 1-20 non-empty strings, each a public domain or http(s) URL (bare domains use https; path kept, #fragment dropped). Example: ["vercel.com","http://github.com","https://www.python.org/about/"] |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | Yes | Number of rows returned | |
| items | Yes | Result rows; each has a "type" field (data rows or machine-readable "error" rows) |