The Stochastic Parrot
io.github.portneymk/stochastic-parrotSpan-grounded audits of how US outlets covered the same story, quotes checkable at the source.
Score: 100/100
Handshake verified by our own probe.
Tools · 16
The desk's change window: the 20 most recently published pieces, newest first, with the desk's own dek, its computed split counts, and the story-chain ids each piece belongs to. This is the cheap 'wha…
Full-text search over every published piece (titles, deks, context lines, outlet names, and source headlines). Returns matching pieces with slug, title, URL, and a highlighted snippet, best matches fi…
Fetch one piece's full detail JSON by slug: headline, kind, date, context, dek, outlets, verified contradictions with verbatim spans, naming/framing splits, and the full source list. Slugs come from s…
List published pieces (summaries: slug, title, kind, date, counts of hard contradictions and naming/framing splits), newest first. All filters optional and combinable.
The desk's public corrections ledger: every logged error on a published piece — what was wrong, what changed, and when — in original ledger order.
Story chains: multi-piece storylines the desk has covered more than once. Call without arguments to list the available chain ids; pass chain_id for one chain in full (its pieces in order, claim ledger…
Provenance record for one piece: SHA-256 hashes of its canonical JSON and published HTML as of the last corpus sync. Re-hash the live artifacts at the piece's URL and compare to confirm what you read …
The Framing Index: across the cross-outlet corpus, how often disagreements between outlets are hard contradictions vs naming/framing splits — totals, rate, monthly trend, per-outlet appearances. The d…
The capture-coverage record: what the desk's observatory actually monitored and when, including gaps. Read this before treating any silence in the corpus as meaningful — the desk's own rule.
A story chain's claim ledger: specific verbatim claims outlets made, each tracked through states (open, corroborated, contradicted, corrected, quietly_abandoned, resolved) with a receipt for every tra…
A chain's per-newsroom storyboards: for each outlet, every piece it filed on the story entry-by-entry, the desk's published READ of what each piece was built to do (objective label, motive with its ma…
Letters to the Desk: reader mail, excerpted and initialed, with the desk's replies in its own voice. The desk's only interactive surface with its readership.
The Daily Box Score for one day — the desk's frozen per-day stat snapshot. Requires the day; days are listed at /boxscore/ on the site.
Submit a letter to the desk. If the desk answers, the exchange may be published on the Letters page (excerpted, initialed) — through the desk's normal editorial process, never directly. Requires the r…
Report a suspected error in a published piece (a miscount, a quote that reads wrong, a broken claim). Verified catches are fixed and logged on the public corrections ledger, credited 'Caught by a read…
Tip the desk that a story moved — a development on an existing chain or a story worth auditing. Lands in the same proposed-developments queue the observatory's triggers feed; the desk decides what, if…
Resources · 2
The 20 most recent pieces, newest first, with split counts and story-chain ids. Small enough to poll; the full record is /corpus.json.
https://thestochasticparrot.com/new.json
The same 20 pieces as RSS 2.0.
https://thestochasticparrot.com/new.xml
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://thestochasticparrot.com/api/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"the_stochastic_parrot": {
"url": "https://thestochasticparrot.com/api/mcp",
"transport": "streamable-http"
}
}
}