Odel
Phishunt

Phishunt

@0xdaniellopez1TypeScriptMITUpdated 1w ago

Public phishing feed: suspicious/confirmed phishing URLs detected hourly. No auth, CC0.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

phishunt-mcp

Model Context Protocol (MCP) server for phishunt.io.

Exposes the public phishing-domains feed as MCP tools so AI agents can look up suspicious domains, list phishings by targeted brand, and sync detection deltas.

  • Endpoint: https://mcp.phishunt.io/ (HTTP JSON-RPC 2.0, POST)
  • Protocol version: 2025-11-25
  • Auth: none (data is CC0)
  • License (data): CC0-1.0 · License (code): MIT

Tools

NamePurpose
check_domainIs this domain/URL substring in the active phishunt feed?
list_brand_phishingsList active phishings targeting a brand (e.g. microsoft).
get_recent_detectionsDelta sync: detections since an ISO date.
get_brand_metadataCurated brand metadata (display name, category, AI characterisation, active count).
get_cert_metadataFactual metadata for an abused TLS intermediate CA (operator, root, key type, siblings).
search_phishingsFree-text search across active phishing URLs/domains/IPs (min 3 chars).
analyze_urlPassive phishing-signal analysis of any URL/domain - returns a single adjudicated verdict (phishing / likely_phishing / suspicious / no_evidence / not_assessed) plus the supporting evidence (URL-shape heuristics, stored score/verdict if known, external-feed cross-reference, historical detections). Unknown suspicious domains are auto-queued for full analysis.
analyze_url_deepACTIVE deep analysis of a URL (contacts the target: HTTP + TLS cert + RDAP + NS + GeoIP, SOCKS5-isolated) and re-scores it with the full 5-layer engine. Slow (5-15s), token-gated, and rate-limited (shared 50/day budget, single-flight) — requires DEEP_TOKEN configured on this Worker; use only when analyze_url is inconclusive.
get_related_infrastructureFind infrastructure/content overlap for a known indicator (shared IP, cert, nameservers, favicon, etc.); surfaces the possible campaign / suspected cluster it belongs to.
get_campaignsList possible campaigns / suspected clusters (shared-infrastructure groupings), optionally filtered by brand or active-only.
get_campaignFull detail for one possible campaign / suspected cluster: evidence breakdown, every member indicator, export links.

Use with Claude Desktop / Claude.ai / other MCP clients

Add to your MCP client config:

{
  "mcpServers": {
    "phishunt": {
      "url": "https://mcp.phishunt.io/"
    }
  }
}

Quick test

curl -sX POST https://mcp.phishunt.io/ \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}' | jq .

Secrets

analyze_url_deep needs a DEEP_TOKEN Worker secret (the backend's X-Phishunt-Deep-Token). Without it configured, the tool still appears in tools/list but fails clean on tools/call — it never reaches the backend.

wrangler secret put DEEP_TOKEN

Develop

npm install
npm run dev          # wrangler dev on http://localhost:8787
MCP_URL=http://localhost:8787 npm test

Deploy

npm run deploy       # wrangler deploy
MCP_URL=https://mcp.phishunt.io npm test