Labsco
MCP SERVER

Overreach Scope Auditor

by Naveja00

Give it the prompt you wrote and the diff the agent produced, and it names every change you did not ask for — the new dependency, the new env var, the endpoint, the cron job.

LLM Evaluation & ObservabilityVerified
Summary
Tells the reviewer which files to open first, without a second model's opinion.

The single audit call is the whole product: it compares what the prompt authorized against what the diff actually contains, so a login-form request that arrives with a payment dependency and a checkout route surfaces as HIGH findings with the evidence attached. Only the prompt-reading step involves a model at all, and it is skippable — run it keyless and the extraction is regex, which is what makes two runs over the same diff agree.

What it is

A scope auditor for AI-written code. One call takes the originating prompt and a diff and returns structured findings plus a scope_creep_score, worked out by set arithmetic rather than a second model's opinion: what the diff contains, minus what the prompt authorized.

What you get
  • Out-of-scope findings typed and ranked: scope.env, scope.endpoint, scope.cron and scope.listener at HIGH, scope.dep and scope.file at MEDIUM, scope.feature at LOW
  • Each finding carries the file it came from and the evidence string that triggered it, so review starts at a line rather than at a summary
  • A blast-radius pass over the things reviewers miss: a schema change with no migration, code reading an env var that .env never defines, a new route with no test, package.json without its lockfile, hardcoded secrets, a new file nothing imports
  • A scope_creep_score for the whole diff, so a clean change is quick to wave through
  • Deterministic results — diff parsing and comparison are regex and set operations, so the same prompt and diff give the same findings every run
  • A health check for the server itself
Requirements

Nothing mandatory. It starts as npx -y overreach --serve. A key for the model that reads your prompt is optional — ANTHROPIC_API_KEY or OPENAI_API_KEY if you want the scope extracted by a model, none at all for the offline regex mode, and none for a local Ollama. Anonymous usage pings carry counts and enums only, never code, prompts, file paths or diff content, and OVERREACH_TELEMETRY=0 or DO_NOT_TRACK=1 turns them off. The same package also runs as a CLI and a GitHub Action that exits non-zero when unexpected changes are found. MIT.

Setup effort

One command — npx overreach --serve