ProWebLook
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
19 tools for phone, WhatsApp, email, caller ID, IP geo, blacklist, scraping & SERP
| Author | io.github.dubeychandan996 |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 130 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"ProWebLook": {
"url": "https://mcp.proweblook.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (19)
validate_phoneread-onlyValidate a phone number and enrich it with carrier, line type (mobile/landline/voip), country, location, timezone, and national/international formatting. Costs 1 phone-validation credit per successful call. Use when you need to know whether a number is real, who operates it, or where it is registered.
Parameters:
phone_number(required) — string — Phone number to validate. When country_code is omitted or set to none, provide the full international number including its country calling code, preferably E.164 (for example, +14155552671). A local or national number requires country_code.country_code— string — Optional ISO 3166-1 alpha-2 country hint (for example, "US" or "IN") for a local/national phone_number. This is not a numeric calling prefix such as +91. Omit it, or use the literal "none", only with a full international number.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
caller_id_lookupread-onlyReverse phone lookup: retrieve the registered caller name (CNAM) associated with a phone number. Costs 1 caller-ID credit per call. Use to identify who owns a number.
Parameters:
phone_number(required) — string — Phone number to look up, in E.164 (+14155552671) or local format.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
check_whatsappread-onlyCheck whether a phone number has an active WhatsApp account (without sending any message or OTP), including whether it is a WhatsApp Business account. Also returns phone enrichment (carrier, line type, country). Costs 1 WA credit per successful call. Response fields: numberstatus (true = on WhatsApp), businessnumber (true = business account).
Parameters:
phone_number(required) — string — Phone number to check, in E.164 (+14155552671) or local format.country_code— string — ISO 3166-1 alpha-2 country hint when phone_number is in local format.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
whatsapp_batch_submitSubmit up to 1,000 phone numbers for asynchronous WhatsApp validation. Deducts 1 WA credit PER NUMBER upfront (the whole batch is rejected if the balance is insufficient), so confirm quantities before submitting large batches. Returns a batch_id immediately with status "processing" — retrieve results with whatsapp_batch_status.
Parameters:
phone_numbers(required) — array — Phone numbers to validate (duplicates are removed automatically). Max 1,000.
Hints: read-only no · destructive not declared · idempotent not declared · open-world yes
whatsapp_batch_statusread-onlyPoll the status and results of a WhatsApp batch validation job created with whatsapp_batch_submit. Free to call. Poll every 5-10 seconds for small batches, 30-60 seconds for large ones, until status is "completed"; results are included once done.
Parameters:
batch_id(required) — string — The batch_id (UUID) returned by whatsapp_batch_submit.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
verify_emailread-onlyVerify an email address: syntax, MX records, SMTP deliverability, and disposable-address detection. Costs 1 email credit per successful check. Use to validate signup emails or clean mailing lists one address at a time.
Parameters:
email(required) — string — The email address to verify.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
check_blacklistread-onlyCheck an IP address, domain, or URL against major global blacklists and spam databases (DNSBL/RBL sources). Returns per-source listed/clean results and an overall summary. Costs 1 blacklist credit per successful check. Use for deliverability debugging, reputation checks, and abuse triage.
Parameters:
target(required) — string — The IP address, domain, or URL to check (e.g. "192.0.2.1", "example.com", "https://example.com/page").sources— string — Optional comma-separated list of specific blacklist source identifiers to check instead of the full default set.target_type— string — What kind of target this is. Default "auto" detects it for you.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
check_spam_scoreread-onlyAnalyze email subject and/or body text for spam trigger words and get a 0-100 spam score, a risk level (Low/Medium/High Risk), and a per-trigger breakdown. Costs 1 spam-checker credit per successful request. Use before sending marketing/transactional email to predict deliverability. At least one of subject or content must be provided.
Parameters:
content— string — The email body text to analyze.subject— string — The email subject line to analyze.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
geo_ipread-onlyLook up geolocation, ISP, and organization details for an IPv4 or IPv6 address (country, region, city, coordinates, timezone, ASN). Deducts from your Geo-IP quota. Use for traffic analysis, fraud checks, or localizing users.
Parameters:
ip(required) — string — The IPv4 or IPv6 address to look up (e.g. "8.8.8.8").
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
scrape_urlread-onlyScrape any web page: get clean Markdown, rendered/raw HTML, all links, SEO metadata, and/or a full-page screenshot in a single call. Costs 1 scraping credit per successful request regardless of how many formats you ask for. Screenshots use a full Chromium render (~5-15s); other formats are faster (~1-5s). Screenshots are returned as an image attachment. Use for reading article content, extracting page metadata, link discovery, or visual captures.
Parameters:
url(required) — string — Full URL to scrape. Must start with http:// or https://.formats— array — Output formats to return. Default ["markdown", "metadata"].timeout— integer — Maximum milliseconds for the entire scrape. Default 30000.waitFor— integer — Extra milliseconds to wait after page load (for lazy-loaded content). Default 0.onlyMainContent— boolean — Strip navigation/footer/ads, keeping only the main article content. Default true.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
search_socialread-onlySearch public posts on Reddit, X (Twitter), or LinkedIn by keyword. Returns post items (title/text, author, URL, engagement) plus meta. Costs 1 scraper credit per successful search. Use for social listening, market research, or finding discussions about a topic or brand.
Parameters:
query(required) — string — Search keywords.sort— string — Sort order (platform-dependent, e.g. "new", "top", "relevance"). Default "new".time— string — Time window (e.g. "day", "week", "month", "all"). Default "week".maxItems— integer — Maximum results to return (1-50). Default 10.platform— string — Platform to search. Default "reddit".subreddits— string — Reddit only: comma-separated subreddit names to restrict the search to (e.g. "webdev,programming").
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_social_postread-onlyFetch the full content of a single public Reddit, X (Twitter), or LinkedIn post by its URL, including replies/comments where available. Costs 1 scraper credit per successful call.
Parameters:
url(required) — string — The full URL of the post to fetch.platform— string — Platform the URL belongs to. Default "reddit".
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_x_commentsread-onlyFetch comments/replies for a single X (Twitter) post URL. Costs 1 scraper credit per successful call. Use after finding a post with search_social (platform "x") to read its discussion thread.
Parameters:
url(required) — string — The full URL of the X (Twitter) post.maxItems— integer — Maximum top-level items to return. Default 10.maxComments— integer — Maximum comments to return. Default 20.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
google_serpread-onlyRun a Google search and get structured organic results (title, URL, snippet, position) as JSON. Costs 1 SERP credit per successful search. Use for rank tracking, competitor research, or finding sources on a topic. Pagination: start must be a multiple of 10 (0 = first page).
Parameters:
query(required) — string — The search query (1-2000 characters).num— integer — Number of results to return (10-100). Default 10.start— integer — Result offset for pagination — must be a multiple of 10. Default 0.device— string — Device type to emulate. Default "desktop".domain— string — Google domain to search on. Default "google.com".country— string — Country to localize results for (gl).language— string — Result language (hl). Default "en".
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
run_brand_auditStart an AI Visibility Audit: measures how visible a brand is in AI assistant answers (ChatGPT, Claude, Gemini, Perplexity) across a set of queries, with competitor benchmarking and recommendations. Costs 1 audit credit. Asynchronous — returns an audit_id immediately; audits take several minutes. Poll with get_brand_audit (detail "summary") until job_status is "completed", then fetch detail "full". Identical requests within 24h may return a cached audit.
Parameters:
brand(required) — string — The brand name to audit (e.g. "ProWebLook").domain(required) — string — The brand's bare domain (e.g. "proweblook.com" — no scheme or path).llms— array — Which LLM providers to test against (see the audit docs for supported values). Leave empty for all enabled providers.queries— array — Specific user queries to test. Leave empty to have relevant queries auto-generated.industry— string — Industry/category context (e.g. "API SaaS", "running shoes").competitors— array — Up to 5 competitor brand names to benchmark against.sample_size— integer — Samples per query per LLM (1-10). Default 3.
Hints: read-only no · destructive not declared · idempotent not declared · open-world yes
get_brand_auditread-onlyGet the status/results of an AI Visibility Audit by audit_id. Free to call. Use detail "summary" (default) while polling — it returns progress and job_status; once job_status is "completed", call again with detail "full" for the complete report (visibility score, per-LLM coverage, competitive benchmarking, query results, recommendations).
Parameters:
audit_id(required) — string — The audit_id returned by run_brand_audit.detail— string — How much detail to return. Default "summary".
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
list_brand_auditsread-onlyList this account's past AI Visibility Audits (paginated, newest first). Free to call. Useful for finding an earlier audit_id instead of re-running (and re-paying for) an audit.
Parameters:
page— integer — Page number. Default 1.per_page— integer — Results per page (1-50).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_brand_trendread-onlyGet the historical AI-visibility score trend (up to 90 data points) for a brand + domain that has been audited before. Free to call. Use to show visibility change over time.
Parameters:
brand(required) — string — The brand name used in past audits.domain(required) — string — The bare domain used in past audits.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_balanceread-onlyCheck remaining ProWebLook API credits for a service. Free (consumes no credits). Only these services are supported here: phonevalidation, wavalidation, calleridvalidation, blacklistchecker. Most other tools (scraping, spam, SERP, social, audits) return your remaining balance inside their own responses.
Parameters:
service(required) — string — Service to check the credit balance for.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.