briefing-mcp
MCP serverDocs & knowledgeHourly 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.
Needs your own Briefing account. Credentials stay encrypted.
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
| tool | what it returns | cost |
|---|---|---|
list_briefings | keys, names and prices | free |
get_briefing(key) | lead, ranked stories, research, why-it-matters, key points | 25 free/IP/day, then key or x402 |
get_summary(key) | headlines and one-liners | free |
get_candidates(key) | every candidate this hour: canonical link, outlets, selected, collapsed duplicates with duplicate_of | free |
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 feeds | Reader 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 asAuthorization: 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_briefingsget_briefingget_pagerender_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