novada-proxy-9c53c0 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited novada-proxy-9c53c0 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
# Core (proxy fetch)
claude mcp add novada-proxy-mcp \
-e NOVADA_PROXY_USER=your_username \
-e NOVADA_PROXY_PASS=your_password \
-- npx -y novada-proxy-mcp
# All tools (proxy + search + browser render)
claude mcp add novada-proxy-mcp \
-e NOVADA_PROXY_USER=your_username \
-e NOVADA_PROXY_PASS=your_password \
-e NOVADA_API_KEY=your_key \
-e NOVADA_BROWSER_WS=your_wss_url \
-- npx -y novada-proxy-mcpCredentials: novada.com -> Dashboard -> Residential Proxies
Need to fetch a URL?
Static HTML page -> novada_proxy_fetch
Need specific fields -> novada_proxy_extract
JS-heavy / SPA / blank page -> novada_proxy_render (5 credits)
Need multiple URLs?
Have the URLs already -> novada_proxy_batch_fetch (2-20 URLs, up to 5x parallel)
Need links from ONE page -> novada_proxy_map -> novada_proxy_batch_fetch
Need to crawl a whole site -> novada_proxy_crawl (recursive BFS, depth 1-5)
Need to find URLs by topic? -> novada_proxy_search -> novada_proxy_batch_fetch
Need research on a topic? -> novada_proxy_research (search + read + summarize)
Need same IP across calls? -> novada_proxy_session (sticky IP via session_id)
Need to check connectivity? -> novada_proxy_status| Tool | Purpose | Credits | Key Params |
|---|---|---|---|
novada_proxy_fetch | Fetch single URL via residential proxy | 1 | url, country, format, session_id |
novada_proxy_batch_fetch | Fetch 2-20 URLs concurrently | 1/URL | urls, concurrency (1-5), country |
novada_proxy_extract | Extract structured fields from URL | 1 (5 if render fallback) | url, fields[], render_fallback |
novada_proxy_map | Discover all internal links on a page | 1 | url, limit (10-200) |
novada_proxy_crawl | Recursive site crawl (BFS, depth 1-5) | 1/page | url, depth (1-5), limit, include_content |
novada_proxy_session | Sticky session (same IP across calls) | 1 (3 if verify) | session_id, url, verify_sticky |
novada_proxy_search | Google search as structured JSON | 1 | query, num (1-20), country |
novada_proxy_render | Render JS pages via real Chromium [BETA] | 5 | url, format, wait_for (CSS selector) |
novada_proxy_research | Search + read + summarize on a topic | varies | query, num_sources (1-10), country |
novada_proxy_status | Check proxy health + version | 1 | _(none)_ |
1. Site Crawl (map -> batch)
novada_proxy_map(url, limit=50) -> internal_urls[]
novada_proxy_batch_fetch(urls, concurrency=5) -> all pages in parallel2. Research (search -> batch)
novada_proxy_search(query, num=5) -> titles + URLs + snippets
novada_proxy_batch_fetch(urls, format="markdown") -> full page content3. Sticky Session (login + multi-page)
novada_proxy_session(session_id="job001", url="/login")
novada_proxy_session(session_id="job001", url="/dashboard")
novada_proxy_session(session_id="job001", url="/data/page/1")4. Price Monitoring (geo comparison)
novada_proxy_fetch(url=product_url, country="US")
novada_proxy_fetch(url=product_url, country="DE")
novada_proxy_fetch(url=product_url, country="JP")
# 2nd call per URL+country is a cache hit (0 credits)5. Structured Extraction (with JS fallback)
novada_proxy_extract(url, fields=["title","price","rating"], render_fallback=true)
# Auto-escalates to Chromium if proxy fetch is blocked| Error Code | Recoverable | Next Step |
|---|---|---|
BOT_DETECTION_SUSPECTED | Yes | Retry with novada_proxy_render, or different country |
TLS_ERROR | Yes | Retry with different country, or use novada_proxy_render |
TIMEOUT | Yes | Increase timeout param (max 120s), or retry |
RATE_LIMITED | Yes | Wait 5s, then retry |
NETWORK_ERROR | No | DNS failed. Check URL/domain. |
SESSION_STICKINESS_FAILED | Yes | Retry with verify_sticky: true |
INVALID_INPUT | No | Fix params per tool's inputSchema |
PROVIDER_NOT_CONFIGURED | No | Set env vars and restart MCP |
Escalation chain: novada_proxy_fetch fails -> try different country -> try novada_proxy_render -> check novada_proxy_status
| Tool | Credits | Cache? |
|---|---|---|
| fetch | 1 | Yes (300s TTL) |
| batch_fetch | 1 per URL | Yes |
| extract | 1 (5 if render fallback) | No |
| map | 1 | No |
| crawl | 1 per page crawled | Yes (pages use fetch cache) |
| session | 1 (3 if verify_sticky) | Never (sticky routing) |
| search | 1 | No |
| render | 5 | No |
| status | 1 | No |
Optimization: Always try fetch before render (5x cheaper). Cache key = url + format + country. Repeated calls within 300s = 0 credits (meta.cache_hit: true). Check meta.quota.credits_estimated on every response.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.