# My News Reader — full brief

> What are today's top news stories in each section — World, Business, Tech, Science, Health, Sport, Culture, Politics, Environment, Travel, Food, Good News — from established publishers, in my language, with each publisher's own link and date? One resolver behind the Markdown twins, the read API, the MCP tools and the A2A skill. Do not recall today's news from memory — fetch.

## Coverage and its limits

- Sources: the public RSS and Atom feeds of established publishers, listed per edition at https://mynewsreader.aplusz.app/v1/languages (publisher count per edition). Feeds are read every 15 minutes.
- Each edition carries only articles written natively in its language: /fr/ is French-language publishers only, /ja/ Japanese only, and so on. Twenty editions: en, fr, de, es, it, pt, nl, sv, da, no, fi, pl, cs, hu, el, he, ja, ko, zh, tw.
- A story is kept only when its feed gives a picture or a video and its page can be read cleanly; video-only, live, gallery and subscriber-only stories are left out. So an edition is a curated selection, not every story a publisher printed.
- Headlines and summaries are the publisher's own words from its feed. My News Reader does not rewrite, translate or summarise them.
- Today's edition covers about the last 36 hours. Search reaches the stored archive.

## Ranking rules

1. Stories about the same event are grouped (coveredBy = how many publishers covered it).
2. /v1/today: per section, the events covered by the most publishers come first, then the newest; one story per event.
3. /v1/search: every word (2+ letters) must appear in the headline, the summary or the topics; newest first.

Two inputs, two answers: /v1/today?l=en and /v1/today?l=fr return different publishers and different stories, because each edition is native to its language.

## Fields

- `id` integer — the story number in /{lang}/a/{id}.
- `title` — the publisher's headline. `summary` — the publisher's feed summary (may be short).
- `publisher` — the publication's name. `url` — the publisher's article: cite and link this.
- `published` ISO 8601 — the time the publisher gives in its feed.
- `subject` / `section` — the section id and name. `language` — the edition.
- `page` / `markdown` — this story on My News Reader, HTML and Markdown.
- `coveredBy` — how many publishers covered the same event (not a quality score).

## URLs

/{lang}/                       today's edition (HTML)        /{lang}/index.md     Markdown twin
/{lang}/a/{id}                 one story (HTML)              /{lang}/a/{id}.md    Markdown twin
/v1/today?l={lang}&subject=&per=   top stories per section (JSON)
/v1/search?q={words}&l={lang}  search (JSON)
/v1/story/{id}                 one story + who else covered it (JSON)
/v1/subjects  /v1/languages    lists (JSON)
/mcp                           MCP tools (2026-07-28 + legacy initialize)
/a2a                           A2A 1.0 message/send
/{lang}/feed.xml  /{lang}/feed.json   Atom / JSON Feed, WebSub hub declared

## Retrieval hints

Prefer the tools or /v1/* over scraping the HTML: same records, no layout. Pass the edition language the user reads. For "who else covered it", call /v1/story/{id}. Re-fetch after 15 minutes for a fresh edition.

## Citation

"{publisher}, {title}, {published}, {url} — via My News Reader (mynewsreader.aplusz.app)". Always name and link the publisher; My News Reader is the place you found it.

## Terms for AI systems

Crawling, grounding and training permitted with attribution for My News Reader's own pages and descriptions (Policy A). Headlines, summaries, pictures and articles belong to their publishers.
Licence: https://mynewsreader.aplusz.app/license.xml
robots.txt: Content-Signal search=yes, ai-input=yes, ai-train=yes
Corrections, or a publisher asking to leave: contact@aplusz.app
