Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Certificate changed, valid to 2027-01-12
Added "add_proposed_source", "cancel_deep_dive", "generate_podcast_episode" and 9 more; changed the definition of "correct_briefing", "get_information_diet", "get_podcast_episode" and 5 more (28 tools before, 40 now)
⟨25 unchanged words⟩ ", "explain the technical parts more simply", "follow this story". An AI editor reads the note against ⟨5 unchanged words⟩ it into concrete adjustments: topic preferences, settings (technicality, depth, length, podcast minutes, tone), deep-dive requests. This is the main way a person retunes their news feed by talking. To pin ONE story so its developments get reported, pass its entry_id with the note, or use rate_briefing_entry with "follow": a note without entry_id can only follow a whole theme.
⟨8 unchanged words⟩ delivery schedule, length, technicality, depth, stance, tone andtoneentry mix, podcast format (two-host show or single voice), voice accent and whether the podcast is auto-paused, stated interests and no-go topics, the profile ⟨47 unchanged words⟩
Get the audio episode generated from a briefing: a private podcastnarratedin the user's language — by default a show with two hosts who talk the news through, or a single voice in the classic format — with a playable URL, the private RSS feed URL and the show notes listing every source. Returns the latest episode by default. For the words themselves use get_episode_transcript.
⟨10 unchanged words⟩ 50,"minimum":1,"type":"integer"},"offset":{"description":"Skip the N most recent: use it to walk back through an archive longer than 50 (default 0)","minimum":0,"type":"integer"}},"type":"object"}
⟨13 unchanged words⟩ are guaranteed to be covered in the nextbriefing.briefing, and — apart — the stories the person deferred to a later day ("snoozed"), which wait until their date.
⟨17 unchanged words⟩ more technical, simpler, deeper, shorter, ormutemute.itsAtopics.storyThesecarriesapplytypedtolabelsthe(seetopics`labels`ofinthatget_briefing):story,e:<whosoorthe
Tune how a single topic — or a COMBINATION of labels — is treated in future briefings: more or less ⟨31 unchanged words⟩ use rate_briefing_entry with "follow" on that entry). `topic` is one key: a free tag ("intelligenza artificiale") or a typed label (e:tesla, c:auto, f:soldi); `topics` instead is a list of labels combined with AND ("e:tesla"+"f:soldi" = Tesla only when about money — Tesla alone stays as it is). This is the precise instrument — for ⟨11 unchanged words⟩
⟨24 unchanged words⟩ :"string"},"topic":{"description":"TheOne key: a topic,as it appears in get_information_diet or in a briefing entry (e.g. \"intelligenza artificiale\", \"e:tesla\", \"c:auto\")","type":"string"}},"requiredtopics":[{"description":"Alternative to
⟨13 unchanged words⟩ length, technicality, depth, stance, tone, entry mix (few deep stories vs many short ones), stated interests and topics to avoid, language,timezone,timezone; the podcastand(on/off, minutes, two-host show or single voice, voice accent), emaildelivery.delivery, the weekly recap, the chicca on quiet days, the smalltalking stories, web enrichment. Pass only the keys you want to change. ⟨18 unchanged words⟩
⟨174 unchanged words⟩ fr/ca, tedesco de/at/ch (l'italiano non ha varianti); null = automatico, abbinato alla lingua","enum":["us","gb"," ⟨6 unchanged words⟩ ,"ca","de","at","ch",null],"type":["string","null"]
Add the source an investigation proposed — When report_missing_story found that none of the person's sources carried the story, it proposed one. This adds that proposed feed to the inbox it indicated — the same tap the reader has under the briefing. Idempotent: adding twice says it was already added.
Cancel a queued deep dive — Remove a deep-dive request that is still waiting (ids from list_deep_dives). One already covered in a briefing cannot be cancelled.
Generate the episode of a briefing now — Make (or remake) the podcast episode of a briefing right away — the latest by default. Takes a few minutes (script, then voices); poll with get_podcast_episode. Asking for an episode is a listening signal: it also lifts the automatic pause. Costs real AI money, so only when asked.
Read the episode text — The full text of a podcast episode, word for word: the script the voices read. In the two-host show it comes as "Name: line" turns; in the classic format as plain paragraphs. Use it when the person wants a passage quoted, a point the hosts made that the written briefing does not have, or to search what was said. Latest episode by default.
List the "why wasn't I told" investigations — The investigations opened with report_missing_story on a briefing: what was asked, the verdict, the explanation, the signals applied and — when none of the person's sources carried the story — the source proposed, with whether it was already added. Latest briefing by default.
List the reading list — The reading list: stories the person saved from their briefings (including the "chicca", the archive story of quiet days), newest first, each with the briefing it came from. Pass `query` to search them by any word — title, text, topics, briefing title. To add or remove: save_entry, unsave_entry.
Resume the podcast after the automatic pause — The podcast pauses itself when nobody listens for a while (no episodes get made; the setting podcast_enabled stays true). This lifts the pause: from tomorrow the episode comes back every morning. get_information_diet and get_account say whether it is paused.
Save a story to the reading list — Keep one story of a briefing in the reading list (list_saved): a snapshot that survives even if the briefing is deleted. entry_id "chicca" saves the chicca — the archive story of quiet days — when the briefing has one. Saving again only refreshes the date.
Share a briefing with a link — Create (or read) the public link of a briefing: a cleaned-up read-only copy — no personal "why this matters to you" notes, no name. The podcast episode comes along only if `podcast` is true: the hosts greet the reader by name, so that is the reader's call. Idempotent: calling again returns the same link; unshare_briefing revokes it.
Stop following a story — Release a pinned story by its id (from get_information_diet → followed_stories), so its developments stop getting a dedicated entry. Works even when the briefing it came from is gone — rate_briefing_entry "unfollow" needs the briefing, this does not.
Remove a story from the reading list — Take a story out of the reading list, by its saved id (from list_saved) or by briefing + entry id.
Revoke a shared link — Revoke the public link of a briefing: the page and its audio stop answering immediately.
Changed the definition of "get_information_diet", "rate_briefing_entry" and "tune_topic"
⟨22 unchanged words⟩ profile the system has learned about them,andthe per-topic preferences built from their feedback (affinity, muted, followed themes) and the specific stories they pinned with "follow" (every development of those gets reported). This is the full picture of their ⟨8 unchanged words⟩
⟨17 unchanged words⟩ , more technical, simpler, deeper, shorter,follow it,or mute its topics.AppliesThese
Changed the definition of "update_information_diet"
⟨157 unchanged words⟩ ,"fr"],"type":"string"},"podcast_accento":{"description":"accento della voce, per la lingua scelta: inglese us/gb/au/ie/in, spagnolo es/latam, francese fr/ca, tedesco de/at/ch (l'italiano non ha varianti)","enum":["us","gb","au","ie","in","es","latam","fr","ca","de","at","ch"],"type":"string"},"podcast_enabled":{"description":"generare anche l'episodio audio ⟨132 unchanged words⟩
Changed the definition of "update_information_diet"
⟨164 unchanged words⟩ l'episodio audio","type":"boolean"},"podcast_formato":{"description":"show = due conduttori che si rispondono (il formato di casa); classico = una voce che legge il briefing","enum":["show","classico"],"type":"string"},"podcast_minutes":{"description":"durata desiderata dell'episodio", ⟨98 unchanged words⟩
Certificate recorded, valid to 2026-11-14
Authorization not required
First tool surface recorded: 28 tools (server version 1.0.0)
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨40 unchanged words⟩ :"string"},"topics":{"description":"Only these topicsLabels ofthethis story to combine (asAND),listedfromby`labels` in get_briefing).Omit—toe.g.apply[\"e:tesla\"]toforallTeslaofeverywhere,its[\"e:tesla\",\"f:soldi\"]topics.for Tesla only about money. Omit for the whole story.","items":{"type":"string"},"maxItems":56,"type":"array"},"withdraw":{"description":"true = take back the signal of this kind previously given on this story (the topics it had touched are restored). With \"follow\" use \"unfollow\" instead.","type":"boolean"}},"required":["entry_id","signal" ⟨2 unchanged words⟩
⟨34 unchanged words⟩ ,"more_often","less_often","mute","follow","unfollow"],"type":"string"},"topics":{ ⟨32 unchanged words⟩
⟨26 unchanged words⟩ muted entirely, or followed so every development of that WHOLE THEME getsreported.reported (to follow one specific story, use rate_briefing_entry with "follow" on that entry). This is the precise instrument — for a ⟨10 unchanged words⟩