jev-scout
MCP server that scores an agent's every search query, result, and fetched page for relevance and credibility, with session budgets, SSRF-guarded fetching, and a live decision…
# jev-scout MCP stdio server exposing `guarded_search`, `guarded_fetch`, and `research_report`, where every query, result, and fetched page is scored by Jev (TypeSafe's System One decision model) with atomic, observable-signal criteria — and every decision streams to a live local dashboard. ## What it is Agents research the web through opaque built-in tools: nobody sees which sources they trusted, what they skipped, or what junk steered them. Jev's economics (per-decision cost around $0.0001, latency 70–500ms) make it viable to judge *every* research step rather than sampling a few. jev-scout wraps a pluggable search backend and a page fetcher with one Jev call per result (relevance, credibility, worth-fetching) and one Jev call per fetched page (answered, content class, steering risk), then writes every decision to a JSONL ledger and streams it to a same-process dashboard over SSE. jev-scout is built on [TypeSafe](https://typesafe.ai)'s Jev via the `jev-client` sibling library (`../jev-client`), which isolates the OpenRouter/TypeSafe provider wiring so jev-scout only talks to a small `Judge` interface. jev-scout is deliberately **not** a research agent. There is no multi-hop planning, no synthesis, no answer-writing — it is a thin decision layer in front of existing search that annotates (or, optionally, gates) what an agent sees, and makes the whole process visible. The dashboard shows three things while an agent works: a live decision feed grouped by search (with confidence, and an explicit "unscored" badge instead of a misleading 0% whenever Jev couldn't be reached), a running cost/call ticker, and a per-domain credibility table. **Measured, not vibes:** the judging rubrics are validated against a hand-labeled golden set — relevance 88%, credibility 96% on the