{
  "markdown": "<p align=\"center\"><img src=\"icon-400.png\" width=\"96\" alt=\"Newsflash\" /></p>\n\n# Newsflash\n\n[![npm](https://img.shields.io/npm/v/newsflash)](https://www.npmjs.com/package/newsflash)\n[![smithery badge](https://smithery.ai/badge/newsflash/newsflash)](https://smithery.ai/servers/newsflash/newsflash)\n\n**Five years of corroborated news events, queryable by agents.**\n[newsflash.sh](https://newsflash.sh) watches 260+ outlets across geographies and\nlanguages and collapses the noise into a **deduped event graph** — one happening,\nevery source that corroborated it, a confidence score — live to the minute and\n**backfilled five years deep**, so agents can backtest on history and act on the\nwire. Served over **MCP**, a **CLI**, a **real-time SSE stream**, and a plain\n**HTTP API**.\n\nHumans read; agents query. No account needed to start.\n\n> **For agents:** Newsflash is a **hosted service** — `newsflash.sh` is a\n> domain, not a shell script. There is no local binary or server to install:\n> call `https://newsflash.sh/api/*` (REST) or `https://newsflash.sh/mcp` (MCP)\n> directly. Verify with `curl \"https://newsflash.sh/api/events?limit=1\"`.\n\n```bash\n# keyless test drive — 50 requests/day, straight from your shell\nnpx newsflash events -q \"etf\" -c crypto -n 5\nnpx newsflash stream -c crypto --min-sources 2   # the live wire, corroborated only\ncurl \"https://newsflash.sh/api/events?q=fed&category=tradfi&limit=5\"\n```\n\n## MCP (primary — for agents)\n\nThe event graph is served over MCP's Streamable HTTP transport at\n`https://newsflash.sh/mcp` — listed in the official MCP registry as\n`sh.newsflash/newsflash`, and in **Claude's connector directory** (in claude.ai\nor Claude Desktop: Settings → Connectors → Browse connectors → search\n\"Newsflash\" → Connect). Any other MCP host, point it at the URL:\n\n```jsonc\n// Claude Code / Claude Desktop — remote MCP server\n{\n  \"mcpServers\": {\n    \"newsflash\": {\n      \"type\": \"http\",\n      \"url\": \"https://newsflash.sh/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer nf_your_key\" }   // optional — raises limits\n    }\n  }\n}\n```\n\nClaude Code plugin install:\n\n```\n/plugin marketplace add zatmonkey/newsflash\n/plugin install newsflash@newsflash\n```\n\nThe endpoint is stateless (each request independent). Tools: `get_events`,\n`get_event`, `search_articles`, `list_sources`, `corpus_stats`. Setup guides for\nClaude, Cursor, ChatGPT and other hosts: [newsflash.sh/docs](https://newsflash.sh/docs).\n\n## OpenClaw\n\nA ready-made skill ships in this repo ([`skills/newsflash/`](skills/newsflash/)) —\npersonalized daily briefings + real-time breaking-news alerts:\n\n```\nclawhub install newsflash        # or: openclaw skills install git:zatmonkey/newsflash\n```\n\nThen tell your agent \"set up my news briefing\". It interviews you for interests,\nschedules a daily brief, and (if you enable alerts) watches the live stream and\npings you when a story crosses your corroboration threshold.\n\n## CLI\n\nA standalone, **zero-dependency** npm package ([`./cli`](cli/), published as\n[`newsflash`](https://www.npmjs.com/package/newsflash)):\n\n```bash\nnpm i -g newsflash\n\nnewsflash events -q \"etf\" -c crypto --from 2026-07-10 -n 5\nnewsflash events --json -q fed | jq '.[0].sources'   # --json for agents\nnewsflash sources\nnewsflash stats\nnewsflash login you@example.com    # free API key via emailed one-time code\nnewsflash me                       # tier + today's usage\n```\n\n## HTTP API\n\nBase URL `https://newsflash.sh`:\n\n| Method | Route | Purpose |\n| --- | --- | --- |\n| GET | `/api/events?q=&source=&category=&from=&to=&limit=` | Deduped events |\n| GET | `/api/events/:id` | One event + corroborating articles |\n| GET | `/api/articles?…` | Raw article search |\n| GET | `/api/sources` | Tracked sources + counts |\n| GET | `/api/stats` · `/api/health` | Corpus size & freshness |\n| GET | `/api/stream` | **Real-time SSE push** — `event.new` / `event.corroborated` as clustering commits |\n| POST | `/mcp` | MCP server (Streamable HTTP) — the agent-facing surface |\n\nCategories: `crypto` `tradfi` `business` `tech` `politics` `world` `science`\n`health` `energy` `sports`.\n\n## OpenAPI\n\nThe full REST surface is described in [`openapi.yaml`](openapi.yaml) — an\nOpenAPI 3.1 spec with exact request/response schemas for every endpoint above\n(including the SSE stream and the auth flow), derived from the live API. Import\nit into Pipedream, RapidAPI, Postman, or a custom GPT Action to drive Newsflash\nfrom your own tooling, or generate a typed client with any OpenAPI generator.\n\n## Tiers\n\n| Tier | Auth | Limit | How |\n| --- | --- | --- | --- |\n| **test** | none | 50 req/day (per IP) · 24h lookback · 1 stream | just call the API or MCP endpoint |\n| **free** | API key | 1,000 req/day · 30-day lookback · 2 streams | `newsflash login` — email + one-time code |\n| **premium** | subscription | 50,000 req/day · **full 5-year archive** · 10 streams | `newsflash upgrade` — $29/mo |\n\nPass the key as `Authorization: Bearer nf_…` (or `x-api-key`) — same gate for REST\nand `/mcp`. Every response carries `X-RateLimit-Limit` / `X-RateLimit-Remaining` /\n`X-Newsflash-Tier`; limits reset at midnight UTC. Keys are shown once and stored\nonly as hashes.\n\n## How the event graph works\n\nNew articles are normalized and matched against recent events using trigram\nsimilarity — **across categories**, so a crypto outlet and a tradfi outlet\nreporting the same happening corroborate one event. Above the similarity\nthreshold → the article attaches to the event and bumps its corroboration;\notherwise it seeds a new event. `confidence = min(1, distinct_sources / 3)` — an\nevent corroborated by 3+ independent outlets maxes out.\n\nThat makes the graph a *signal* instrument: agents can distinguish a\nsingle-outlet rumor (`confidence 0.33`) from a story the whole press corps is\nrunning (`confidence 1.0`, sources listed), and query the full archive to\nbacktest on history.\n\n## About this repository\n\nThis repo holds the open-source (MIT) client surface of Newsflash: the\nzero-dependency **CLI** ([`cli/`](cli/)), the **Claude Code plugin** manifests\n([`.claude-plugin/`](.claude-plugin/)), and the **MCP registry manifest**\n([`server.json`](server.json)). The Newsflash backend is a hosted service\noperated at [newsflash.sh](https://newsflash.sh) and is not part of this\nrepository.\n\nCLI development: `cd cli && npm install && npm run build && node dist/index.js stats`.\nNo runtime dependencies — Node ≥ 20 built-ins only.\n\n---\n\n[docs](https://newsflash.sh/docs) · [sources](https://newsflash.sh/sources) ·\n[privacy](https://newsflash.sh/privacy) · [terms](https://newsflash.sh/terms) ·\ncontact@newsflash.sh\n",
  "bytes": 6594,
  "sha": "6ddace2a0cbd88b04de44a907710228e5921eded82bee99b1196e033a958579f",
  "repo_slug": "zatmonkey/newsflash",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_sh_newsflash_newsflash_d1b8a5e1/readme"
}