tools/security/fetch_url_scanner
newsecurityv0.1.0free

fizzgig__fetch_url_scanner

detects third-party apis called via fetch() urls (no installed sdk). emits architecture_facts for stack-map.

Scans concatenated source for fetch() URLs and bare hostnames cited inside fetch / axios / SDK base_url config, classifies them against a registry of 70+ platforms across 12 categories (auth providers, payments, AI APIs, cloud, communications, observability, data + search, maps + geo, code hosting, UK public data, web tools + scrapers, commerce + property), and emits architecture_facts in the exact shape stack-map ingests. Re-running stack-map after this scan lights up the integrated stack on the map. Closes the "packaged-only stack" gap dep-audit + stack-map cannot see — exactly the integrations most likely to break (rate limits, status, auth keys).

new v0.1.0 free
// input schema
schema · application/json
{
"type": "object"
"required": [
"project"
]
"properties": {
"project": {
"type": "string"
"description": "the project slug or path"
}
"strict": {
"type": "boolean"
"default": false
"description": "fail on warnings, not just errors"
}
}
}
// output schema
schema · application/json
{
"type": "object"
"properties": {
"ok": {
"type": "boolean"
}
"findings": {
"type": "array"
"items": {
"type": "object"
"properties": {
"severity": {
"enum": [
"info"
"warn"
"high"
"critical"
]
}
"message": {
"type": "string"
}
"fix": {
"type": "string"
}
}
}
}
}
}
// example call from cursor
~/myapp — example output
fizzgig__fetch_url_scanner(project="myapp")
{
"ok": false,
"findings": [
{ "severity": "high",
"message": "policy uses user_id without auth.uid()",
"fix": "USING (auth.uid() = user_id)" }
],
"scanned": 3, "duration_ms": 142
}
// reviews
@maya.codes★★★★★
2 days ago

caught a policy that would have leaked every user's comments. shipped a fix in 4 minutes.

@solo_at_3am★★★★★
1 week ago

first tool i installed. it's the one that pays for itself.

@vibebuilder★★★★
2 weeks ago

works great. one false positive on a join table — easy to ignore.

// primary action
add to your editor
paste this into your mcp config.
.cursor/mcp.json
{
  "fizzgig": {
    "url": "https://mcp.fizzgig.ai",
    "tools": ["fetch_url_scanner"]
  }
}
full setup guide →
// pricing
free
unlimited calls on the free tier.