Skip to main content
Glama
README.md
# verify — is this true?

```
npx verify-anything "The Eiffel Tower is located in Berlin. It is 330 metres tall and was completed in 1889. Apollo 13 landed on the Moon in 1969."
```

```
✗ The Eiffel Tower is located in Berlin.
   █░░░░░░░░░ 10%  Evidence contradicts the claim (en.wikipedia.org +1)
   ↳ https://en.wikipedia.org/wiki/Eiffel_Tower
   “The Eiffel Tower is a lattice tower on the Champ de Mars in Paris, France.”

✓ The Eiffel Tower is 330 meters tall.
   ████████░░ 77%  Directly supported by 1 source (single source)
   ↳ https://en.wikipedia.org/wiki/Eiffel_Tower
   “Eiffel Tower. Height Architectural 300 m (984 ft) Tip 330 m (1,083 ft)”

✓ The Eiffel Tower was completed in 1889.
   ████████░░ 80%  Directly supported by 1 source (single source)
   ↳ https://en.wikipedia.org/wiki/Eiffel_Tower
   “Eiffel Tower. Construction started 28 January 1887 … Completed 31 March 1889”

✗ Apollo 13 landed on the Moon in 1969.
   █░░░░░░░░░ 10%  Date mismatch — the claim's date does not match the source
   ↳ https://en.wikipedia.org/wiki/Apollo_13

Verdict: 2 ✓  2 ✗  0 ?   2 contradicted
```

*(Real output, 2026-10-17, `--thorough`. The quoted line under each verdict is the exact span the
verifier judged — so you can check the check. `--verbose` prints every source it weighed.)*

Every AI answer, every page an agent reads, every claim in a doc — **nobody can tell what's true.**
`verify` takes any input, extracts every factual claim, and judges each one against live web
evidence: **verified / contradicted / unverified**, with confidence, the source, and the reason.

- **Any input** — a sentence, a paragraph, a URL, a file, or `stdin` (paste a ChatGPT answer)
- **Every agent** — `verify mcp` exposes a `verify` tool; `verify setup` adds it to Claude Desktop,
  Claude Code, Cursor, Windsurf, Codex and Gemini CLI in one command. Your agent gets a conscience:
  *verify before you answer.*
- **Real verification, not vibes** — claim-level NLI entailment against fetched sources, cross-source
  consensus, contradiction detection, live citation checks. Powered by the open
  [LastSearch](https://lastsearch.ai) engine.
- **Honest** — confidence is an evidence-based estimate, not a guarantee; sources are shown so you can check.

## Use

```bash
npx verify-anything "<text>"            # a claim or paragraph (50+ chars)
npx verify-anything https://example.com # a page
npx verify-anything report.md           # a file
pbpaste | npx verify-anything           # whatever's on your clipboard
npx verify-anything ... --verbose       # every source judged, with entailment / contradiction scores
npx verify-anything ... --json          # machine-readable; exit code 1 if anything is contradicted
```

Keyless use is rate-limited. Get a free key at [lastsearch.ai](https://lastsearch.ai) and
`export LASTSEARCH_API_KEY=ls_...`

## Give your agent a conscience

```bash
npx verify-anything setup        # registers the MCP server with your installed clients
```

Then: *"Draft the answer, then run verify on it before you show me."*

## Library

```ts
import { verifyText } from "verify-anything";
const r = await verifyText("...", { depth: "thorough" });
r.claims.forEach(c => console.log(c.status, c.confidence, c.text));
```

## Limits (read this)

Verification is only as good as the evidence found and the verifier reading it. It will miss things
and occasionally be wrong; `thorough` (the default) uses the stronger verifier. Treat the output as a
fast, sourced second opinion — not an oracle.

Apache-2.0 · built on [LastSearch](https://lastsearch.ai) · [report issues](https://github.com/LastSearch-HQ/verify/issues)