Labsco
MCP SERVER

WatchTower

by EdenTan26

Prove whether your Supabase RLS actually isolates users, and whether that leaked key is still live, before you deploy.

Vulnerability Scanning & Application Security
Summary
It proves the finding instead of flagging it.

The difference from a commodity scanner is the verb: rather than reporting that RLS may not be enabled, it reads rows as the anonymous role and tells you whether it got them — the failure mode where a policy is present but is not actually enforcing. Cost tracking shares the same install, which reads oddly on a feature list and makes sense on the week you ship.

What it is

A Node MCP server that runs a live read-only cross-tenant probe against your own database and scans your source for working secrets, entirely on your machine.

What you get
  • A cross-tenant probe that logs in as a random user and as the anonymous role, and reports whether either read other accounts' rows
  • Every check run inside a rolled-back transaction — the probe can read, never write
  • Source scanned for hardcoded keys and tokens in pure Node, without shelling out
  • Optional verification of a found key by calling that key's own vendor, so a hit is confirmed live rather than suspected
  • Response headers scanned
  • Scan history kept, so you can see what changed between runs
  • Real Claude Code token usage imported from its own session logs, with already-imported events skipped
  • Spend by day, week or month, calendar-aligned, with a per-model breakdown and how much of it is estimated
  • Budget alerts that warn as you approach the budget and again when you pass it
Requirements

Npm install -g watchtower-mcp and one line in the client config. No account. Nothing leaves your machine except the opt-in key check, which calls only each key's own vendor.

Setup effort

One command — npm install -g watchtower-mcp