briefing-mcp

MCP serverDocs & knowledge

Hourly ranked news (AI, markets, sports, world): JSON, e-ink pages, Morning Paper PDF; 25 free/day

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use briefing-mcp to list briefings

From the project's README

As published by jshelley/briefing-mcp in README.md.

MCP server for Briefing Service: every hour an LLM editor ranks ~100 feeds per topic (AI, frontier labs, markets, US sports, European football, US news, world) and publishes the result as structured JSON, a rendered 480x800 e-ink page, a multi-page Morning Paper PDF, and a free provenance dump of every candidate it saw.

This package runs locally over stdio and calls the public REST API. The same tools are served remotely (streamable HTTP, no install) at https://briefing-service.wholemind.workers.dev/mcp.

Install

Claude Desktop / Claude Code / Cursor / any stdio client:

{
  "mcpServers": {
    "briefings": {
      "command": "npx",
      "args": ["-y", "github:jshelley/briefing-mcp"],
      "env": { "BRIEFING_KEY": "" }
    }
  }
}

Claude Code one-liner:

claude mcp add briefings -- npx -y github:jshelley/briefing-mcp

Claude Desktop, one click: download briefing-mcp-0.1.0.mcpb and open it (MCP bundle; it asks for the optional Reader key).

Tools

toolwhat it returnscost
list_briefingskeys, names and pricesfree
get_briefing(key)lead, ranked stories, research, why-it-matters, key points25 free/IP/day, then key or x402
get_summary(key)headlines and one-linersfree
get_candidates(key)every candidate this hour: canonical link, outlets, selected, collapsed duplicates with duplicate_offree
get_page(key, page, wide)480x800 1-bit PNG (or 800x480 wide front page)25 free/IP/day
render_briefing(feeds, persona)rank and render your own feedsReader key or x402

Pricing

  • Free: 25 JSON/page/tool calls per IP per day, plus the summary and candidates endpoints.
  • Reader key: $9/month, unlimited reads, Morning Paper delivery, 10 custom renders/day. Set it as BRIEFING_KEY. Buy at https://briefing-service.wholemind.workers.dev/billing/checkout
  • Per call: x402 (USDC on Base) against the remote endpoint.

Docs for agents: https://briefing-service.wholemind.workers.dev/llms.txt

How it works

index.js is the whole server: it registers six tools with @modelcontextprotocol/sdk and answers each by calling the public Briefing Service REST API over HTTPS (GET /v1/briefings/..., POST /v1/render). It stores nothing, runs no shell commands, and reads only two environment variables (BRIEFING_KEY, BRIEFING_BASE_URL). The Dockerfile builds the same thing; docker run -i speaks MCP over stdio.

Run the smoke test locally:

npm install
node client-test.mjs   # lists tools and calls list_briefings, get_summary, get_candidates, get_page, get_briefing

Environment

  • BRIEFING_KEY: optional Reader key (sent as Authorization: Bearer).
  • BRIEFING_BASE_URL: override the API base (default: the public service).

License

MIT

Tools it offers (4)

What this server listed when ahel dialed its public endpoint in Sep 2026, with no key and no account of yours. The names are the server’s own.

  • list_briefings
  • get_briefing
  • get_page
  • render_briefing

Signals

Last commit
Sep 2026
Advanced
Delivery
briefings MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-jshelley-briefings
Source
github.com/jshelley/briefing-mcp
Hosted endpoint
https://briefing-service.wholemind.workers.dev/mcp