{"name":"io.github.entradox/perimeter-watch-scanner","slug":"entradox-perimeter-watch-scanner","title":"Perimeter Watch","description":"Passive domain-perimeter checks — cert expiry, subdomain takeover, lookalikes — as agent tools","url":"https://mcp.market/server/entradox-perimeter-watch-scanner","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:55:25.691Z","last_ok_at":"2026-11-04T05:55:25.691Z","latency_ms":140},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/entradox/perimeter-watch-scanner","website":"https://entradox.github.io/perimeter-watch-site/","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://perimeter-watch-api-production.up.railway.app/mcp/"}],"packages":[],"tools":[{"name":"pw_health","description":"Liveness check for the Perimeter Watch API. Returns ok, service, version. Call first to verify connectivity before pw_snapshot.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"pw_healthArguments"}},{"name":"pw_snapshot","description":"Run a free one-time external-perimeter scan on a domain you control.\n\nChecks TLS certificate expiry, domain renewal status, dangling CNAME\ntakeover risk, and CT-log lookalike domains. Returns a rating plus\nper-check detail. NOT idempotent (each call consumes rate limit);\ntakes 20-60s; rate-limited to 3 scans per IP per 24h.\n\nArgs:\n    domain: the domain to scan (e.g. example.com)\n    authority: MUST be true — attests you or your principal own/manage\n        this domain. Scanning third-party domains without authority is\n        prohibited. Scan takes 20-60s. Rate limit: 3/IP/24h.\n","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"title":"Domain","type":"string"},"authority":{"title":"Authority","type":"boolean"}},"required":["domain","authority"],"title":"pw_snapshotArguments"}},{"name":"pw_stats","description":"Service funnel counters: page views, snapshots run, paid registrations. Read-only.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"pw_statsArguments"}},{"name":"pw_watch_status","description":"Check whether a domain is enrolled on a paid weekly monitoring plan.\n\nReturns enrollment status. Paid plans add weekly re-scans with email\nbriefs. Read-only lookup.\n\nArgs:\n    domain: the domain to look up (e.g. example.com)\n","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"title":"Domain","type":"string"}},"required":["domain"],"title":"pw_watch_statusArguments"}},{"name":"read_skill","description":"Read a product skill file by its skill:// URI.\n\nArgs:\n    uri: e.g. skill://<product>/<skill-name>/SKILL.md\n         Get valid URIs from `skills_list_tool`.\n","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"uri":{"title":"Uri","type":"string"}},"required":["uri"],"title":"read_skillArguments"}},{"name":"skills_list_tool","description":"List this product's skills. Each entry carries the SKILL.md URI,\nits name and description, verbatim frontmatter, and a per-file\nsha256 manifest. Read a body with `read_skill`.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"skills_list_toolArguments"}}],"scan":{"score":57,"grade":"C","scanned_at":"2026-10-16T17:09:59.348Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-16T17:09:59.301Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 713ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://perimeter-watch-api-production.up.railway.app/mcp/","reachable":true,"authRequired":false,"latencyMs":713,"serverInfo":{"name":"perimeter-watch","version":"1.30.0"}}],"packages":[],"repo":{"found":false,"owner":"entradox","repo":"perimeter-watch-scanner","error":"repo not found"},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}