fornews.ai & MCP — parlez à votre actualité

Votre corpus d'articles devient une base de connaissances locale que Claude (ou tout assistant compatible MCP) peut interroger, analyser et enrichir en langage naturel. Voici l'inventaire complet des outils et ce qu'on peut en faire. 100 % sur votre Mac, aucune donnée ne quitte l'appareil.

Le principe

Au fil des jours, fornews.ai constitue un corpus local : des centaines d'articles récupérés, traduits, résumés, horodatés et reliés à leurs entités (personnes, organisations, lieux…). Le Mac qui fait tourner l'app — idéalement le Mac mini Data Provider — expose ce corpus via MCP (Model Context Protocol), le standard ouvert que parlent Claude, GitHub Copilot et d'autres.

Résultat : au lieu de fouiller une liste, vous demandez. « Que se passe-t-il autour de X ? », « fais-moi un dossier », « ajoute ce flux », « quelles tendances cette semaine ? » — l'assistant compose les bons outils pour vous répondre à partir de votre actualité, pas du web générique.

Confidentialité. Le serveur écoute en local (localhost:5174). Rien n'est publié, rien n'est envoyé à un tiers. Pour y accéder depuis un autre appareil, passez par un réseau privé (Tailscale, VPN) plutôt qu'une exposition directe sur Internet.

Connexion en une commande

Le serveur démarre avec l'app macOS et écoute sur le port 5174 (transport SSE). Sur le Mac où tourne l'app :

Claude Code

claude mcp add --scope user --transport sse fornews http://localhost:5174/sse

Depuis un autre appareil (le Mac mini fait tourner l'app, vous travaillez sur votre MacBook), remplacez localhost par l'adresse du Mac dédié :

claude mcp add --scope user --transport sse fornews-macmini http://<ip-du-mac-mini>:5174/sse

Ou en configuration projet, dans un fichier .mcp.json :

{
  "mcpServers": {
    "fornews": { "type": "sse", "url": "http://localhost:5174/sse" }
  }
}

GitHub Copilot

copilot mcp add --transport sse fornews http://localhost:5174/sse

VS Code

Le plus simple : dans le chat de VS Code (Copilot, en mode agent), tapez cette phrase — VS Code vous proposera d'ajouter le serveur :

add this mcp server to vs code : "fornews": { "type": "sse", "url": "http://localhost:5174/sse" }

Ou manuellement, dans un fichier .vscode/mcp.json à la racine du projet :

{
  "servers": {
    "fornews": { "type": "sse", "url": "http://localhost:5174/sse" }
  }
}

Codex — connexion directe nouveau en 1.5

Codex n'utilise que le transport « Streamable HTTP » (le plus récent). À partir de fornews 1.5, le serveur expose ce transport nativement (point d'entrée /mcp, en plus du /sse historique) : Codex se connecte directement, sans pont ni Node.js.

Ajoutez fornews à Codex. Ouvrez — ou créez s'il n'existe pas — le fichier ~/.codex/config.toml, et collez-y ce bloc :

[mcp_servers.fornews]
url = "http://localhost:5174/mcp"

Gardez localhost si Codex et l'app fornews tournent sur le même Mac. Si fornews tourne sur un autre Mac (un Mac mini serveur, par exemple), remplacez localhost par l'adresse de ce Mac — par ex. http://192.168.1.20:5174/mcp. Redémarrez Codex : les outils fornews_* (rechercher des articles, tendances, entités…) apparaissent — la connexion fonctionne.

Version antérieure à la 1.5 ? Pont provisoire via mcp-remote

Avant la 1.5, le serveur ne parlait que le SSE ; Codex, lui, exige le Streamable HTTP (sinon HTTP 404). On intercalait alors un petit pont qui nécessite Node.js (commande npx ; vérifiez avec npx --version). Bloc ~/.codex/config.toml correspondant :

[mcp_servers.fornews]
command = "npx"
args = ["-y", "mcp-remote", "http://localhost:5174/sse", "--transport", "sse-only"]

ChatGPT — mode « Work ». Le mode Work de ChatGPT prend en charge les mêmes connecteurs MCP que Codex : renseignez le même point d'entrée http://localhost:5174/mcp (Streamable HTTP), et fornews.ai s'utilise sans problème depuis ChatGPT, avec les mêmes outils fornews_*.

Guide d'installation pas à pas : Bien démarrer → Claude & MCP.

La boîte à outils

Une vingtaine d'outils, en quatre familles. La lecture et l'analyse ne modifient rien ; l'écriture agit sur le corpus local (et se propage à vos appareils via iCloud) — voir la section « Écriture & prudence ».

Lecture Explorer le corpus

OutilRôle
fornews_corpus_statsTotaux, répartition par statut, sources actives, entités surveillées
fornews_list_articlesArticles récents (fenêtre en heures) ou favoris
fornews_search_articlesRecherche plein-texte (titres et résumés, toutes langues)
fornews_get_articleDétail complet d'un article : résumé, entités, source, date, URL
fornews_list_sourcesSources, dernier passage, intervalle de rafraîchissement
fornews_list_entities · get_entityEntités détectées, leur nombre d'articles, description Wikidata
fornews_list_keywordsRègles de mots-clés (groupes ET/OU, exclusions SAUF)

Analyse Comprendre les dynamiques

OutilRôle
fornews_trendsEntités qui s'emballent : volume récent comparé à la base historique (z-score) → montante / descendante / stable
fornews_timelineSérie « articles par jour » d'une entité, d'une source ou du corpus entier, sur N jours
fornews_share_of_voiceRépartition par source (« qui couvre quoi »), globale ou sur un sujet
fornews_related_articlesArticles couvrant le même sujet (entités partagées) — fil d'une histoire

Détection Trouver des sources

OutilRôle
fornews_detect_feedsÀ partir de l'URL d'un site, trouve les flux suivables : autodiscovery, liens de pied de page, chemins usuels, chaîne YouTube, sitemaps — chaque candidat confirmé par un vrai parse

Écriture Gérer sources & règles

OutilRôle
fornews_create_sourceAjouter un flux ou une page à surveiller (URL dédupliquée comme dans l'app)
fornews_update_source · delete_sourceRenommer, changer la langue, activer/désactiver, supprimer une source
fornews_create_keywordCréer une règle de veille (groupes ET, variantes OU, exclusions SAUF)
fornews_update_keyword · delete_keywordModifier ou supprimer une règle de mots-clés

Votre corpus, en vrai

Instantané réel du corpus du développeur de fornews.ai, interrogé via le serveur MCP — 24 juillet 2026. Votre corpus reflétera vos propres sources et centres d'intérêt.

5 595articles
10 600entités détectées
68sources actives
27règles de veille
11entités surveillées

Comment tout se connecte

flowchart LR
  M["Mac mini · Data Provider
(fornews.app)"] -- expose --> S["Serveur MCP
localhost:5174"] S <-- SSE --> C["Claude / assistant"] M -. iCloud privé .-> D["iPhone · iPad
Mac · Apple TV"]

Vos 11 entités surveillées — articles collectés

Microsoft288 Apple278 Donald Trump100 Elon Musk22 The Rolling Stones13 Reese Witherspoon11 Gorillaz8 Lana Del Rey7 Nicole Kidman5 Dario Amodei4 Jennifer Aniston0

Les entités surveillées déclenchent les notifications. Ici, deux géants tech dominent la couverture ; les artistes et acteurs suivis restent plus discrets.

Vos 68 sources

33 en français · 35 en anglais 65 flux RSS · 3 pages web surveillées
SourceLangueTypeIntervalle
Le MondefrRSS49 min
RTS InfofrRSS33 min
The VergeenRSS49 min
Apple NewsroomenRSS49 min
Daring FireballenRSS60 min
Darknet Diaries (podcast)enRSS49 min
Le Louvrefrpage web49 min

L'intervalle est adaptatif : il se resserre pour les sources qui publient beaucoup, se relâche pour les autres.

Le paysage des sources — valeur × faisabilité

Un « magic quadrant » des types de sources que fornews sait suivre — ou pourrait suivre — selon leur valeur pour la veille et leur facilité d'intégration 100 % on-device.

quadrantChart
  title Types de sources fornews.ai
  x-axis Intégration difficile --> Intégration facile
  y-axis Faible valeur --> Forte valeur
  quadrant-1 À intégrer
  quadrant-2 À cadrer
  quadrant-3 À écarter
  quadrant-4 Bonus
  "RSS / Atom": [0.90, 0.92]
  "JSON Feed": [0.85, 0.55]
  "Fédiverse": [0.80, 0.68]
  "YouTube": [0.68, 0.70]
  "Podcasts": [0.30, 0.85]
  "Newsletters": [0.45, 0.50]
  "Bluesky": [0.50, 0.48]
  "PDF": [0.55, 0.45]
  "Sitemaps": [0.72, 0.28]
  "X / Twitter": [0.15, 0.35]
    

RSS/Atom, JSON Feed, YouTube et Fédiverse sont déjà ingérés ; podcasts et documents sont à l'étude ; X/Twitter reste hors périmètre (pas d'API ouverte).

Une requête, plusieurs outils

« Fais-moi un dossier sur l'IA cette semaine » se traduit, côté assistant, par un enchaînement d'appels :

flowchart TD
  Q["« Dossier sur l'IA
cette semaine »"] --> A["fornews_search_articles"] A --> B["fornews_get_article"] A --> R["fornews_related_articles"] A --> V["fornews_share_of_voice"] B --> D["Dossier structuré
sources citées"] R --> D V --> D

Recettes — tout le potentiel

La force du MCP, c'est que l'assistant enchaîne plusieurs outils pour répondre à une demande formulée simplement. Quelques exemples.

Les réponses ci-dessous sont des exemples illustratifs, basés sur le corpus du développeur de fornews.ai — le vôtre donnera d'autres résultats.

1. « Que se passe-t-il en ce moment ? »

Quelles entités s'emballent dans mon actualité, et depuis quand ? Donne le contexte.
Claude · via le serveur MCP fornews

Trois sujets sortent nettement du bruit ces deux derniers jours :

  • Roland-Garros — 9 articles récents (habituellement < 1/jour), emballement net depuis avant-hier.
  • OpenAI — 6 articles, montée régulière sur une semaine.
  • BCE — 4 articles concentrés hier après-midi.

Enchaînement : fornews_trendsfornews_timeline sur chaque entité → fornews_search_articles pour illustrer.

2. « Fais-moi un dossier sur un sujet »

Prépare une synthèse de tout ce qui s'est dit sur l'intelligence artificielle cette semaine, avec les sources et les angles.
Ce que l'assistant fait
  • récupère les articles du sujet (search_articles / entité get_entity) ;
  • lit les plus significatifs (get_article) ;
  • regroupe les articles liés (related_articles) ;
  • mesure qui en parle le plus (share_of_voice) et repère les angles morts (sujets couverts par une seule source) ;
  • rédige un dossier structuré, chaque affirmation reliée à son article.

Le tout à partir de votre corpus filtré selon vos centres d'intérêt — pas d'un web générique.

3. « Ajoute des sources » — sans connaître l'URL du flux

Ajoute les flux de lemonde.fr et de theverge.com, en français et en anglais respectivement.
Détection puis création

L'assistant appelle fornews_detect_feeds sur chaque domaine, choisit le flux principal parmi les candidats confirmés, puis fornews_create_source avec la bonne langue. Les nouveaux articles arrivent au prochain rafraîchissement, traduits et résumés comme les autres.

4. « Crée une règle de veille »

Suis l'IA et l'éthique, mais pas quand c'est du jeu vidéo.
Une règle ET / OU / SAUF
# fornews_create_keyword
groupes = [ ["IA", "AI", "intelligence artificielle"], ["éthique"] ]
exclus  = [ "jeu vidéo" ]
# ⇒ (IA OU AI OU intelligence artificielle) ET (éthique) SAUF (jeu vidéo)

La règle filtre les prochains articles ingérés (comme dans l'app).

5. « Suis une histoire »

À partir de cet article, montre-moi les autres couvertures du même événement et l'évolution.
Rapprochement multi-sources

fornews_related_articles remonte les articles partageant les mêmes entités, classés par proximité ; fornews_timeline trace la montée du sujet. On obtient le fil d'une histoire, sources et angles comparés.

6. Entretien & ménage

Quelles sources ne publient plus rien ? Désactive-les.
Diagnostic puis action

fornews_list_sources révèle le dernier passage et l'intervalle de chaque source ; l'assistant vous propose la liste des inactives, puis — après votre accord — fornews_update_source pour les désactiver (ou delete_source pour retirer un doublon).

Écriture & prudence

Les outils d'écriture (create/update/delete_source et …_keyword) agissent sur le store local du Mac Data Provider, qui se synchronise via iCloud vers tous vos appareils. Ils restent locaux et sans compte, mais ce ne sont pas des lectures anodines :

  • une source ou une règle créée ici apparaît sur votre iPhone, iPad, Mac et Apple TV ;
  • une suppression de source retire aussi ses articles (comme dans l'app) — sauf option contraire ;
  • bonne pratique : laissez l'assistant vous proposer l'action et confirmez avant qu'il ne l'exécute.
À retenir. Lecture et analyse : sans risque, à volonté. Écriture : locale, réversible dans l'app, mais elle change ce que voient tous vos appareils — donc à faire en connaissance de cause.

← Retour au guide de démarrage

fornews.ai & MCP — talk to your news

Your article corpus becomes a local knowledge base that Claude (or any MCP-compatible assistant) can query, analyse and extend in plain language. Here is the full inventory of tools and what you can do with them. 100 % on your Mac — no data leaves the device.

How it works

Day after day, fornews.ai builds a local corpus: hundreds of articles fetched, translated, summarised, time-stamped and linked to their entities (people, organisations, places…). The Mac running the app — ideally the Mac mini Data Provider — exposes this corpus over MCP (Model Context Protocol), the open standard spoken by Claude, GitHub Copilot and others.

So instead of scrolling a list, you ask. “What's happening around X?”, “build me a brief”, “add this feed”, “what's trending this week?” — the assistant composes the right tools to answer from your news, not the generic web.

Privacy. The server listens locally (localhost:5174). Nothing is published, nothing is sent to a third party. To reach it from another device, use a private network (Tailscale, VPN) rather than exposing it directly to the Internet.

Connect in one command

The server starts with the macOS app and listens on port 5174 (SSE transport). On the Mac running the app:

Claude Code

claude mcp add --scope user --transport sse fornews http://localhost:5174/sse

From another device (the Mac mini runs the app, you work on your MacBook), replace localhost with the dedicated Mac's address:

claude mcp add --scope user --transport sse fornews-macmini http://<mac-mini-ip>:5174/sse

Or per project, in an .mcp.json file:

{
  "mcpServers": {
    "fornews": { "type": "sse", "url": "http://localhost:5174/sse" }
  }
}

GitHub Copilot

copilot mcp add --transport sse fornews http://localhost:5174/sse

VS Code

The easiest way: in the VS Code chat (Copilot, agent mode), type this sentence — VS Code will offer to add the server:

add this mcp server to vs code : "fornews": { "type": "sse", "url": "http://localhost:5174/sse" }

Or manually, in a .vscode/mcp.json file at the project root:

{
  "servers": {
    "fornews": { "type": "sse", "url": "http://localhost:5174/sse" }
  }
}

Codex — direct connection new in 1.5

Codex only supports the newer "Streamable HTTP" transport. Starting with fornews 1.5, the server exposes this transport natively (a /mcp endpoint, alongside the legacy /sse): Codex connects directly, no bridge, no Node.js.

Add fornews to Codex. Open — or create if it doesn't exist — the file ~/.codex/config.toml, and paste this block:

[mcp_servers.fornews]
url = "http://localhost:5174/mcp"

Keep localhost if Codex and the fornews app run on the same Mac. If fornews runs on another Mac (e.g. a Mac mini server), replace localhost with that Mac's address — e.g. http://192.168.1.20:5174/mcp. Restart Codex: the fornews_* tools (search articles, trends, entities…) show up — you're connected.

On a version earlier than 1.5? Temporary mcp-remote bridge

Before 1.5 the server only spoke SSE, while Codex requires Streamable HTTP (otherwise HTTP 404). You inserted a small bridge that needs Node.js (the npx command; check with npx --version). Matching ~/.codex/config.toml block:

[mcp_servers.fornews]
command = "npx"
args = ["-y", "mcp-remote", "http://localhost:5174/sse", "--transport", "sse-only"]

ChatGPT — “Work” mode. ChatGPT’s Work mode supports the same MCP connectors as Codex: point the connector at the same http://localhost:5174/mcp endpoint (Streamable HTTP), and fornews.ai works seamlessly from ChatGPT, with the same fornews_* tools.

Step-by-step install: Getting started → Claude & MCP.

The toolbox

About twenty tools in four families. Reading and analysis change nothing; writing acts on the local corpus (and syncs to your devices via iCloud) — see “Writing & care”.

Read Explore the corpus

ToolPurpose
fornews_corpus_statsTotals, breakdown by status, active sources, watched entities
fornews_list_articlesRecent articles (window in hours) or favourites
fornews_search_articlesFull-text search (titles and summaries, any language)
fornews_get_articleFull article detail: summary, entities, source, date, URL
fornews_list_sourcesSources, last fetch, refresh interval
fornews_list_entities · get_entityDetected entities, their article counts, Wikidata description
fornews_list_keywordsKeyword rules (AND/OR groups, EXCEPT exclusions)

Analysis Read the dynamics

ToolPurpose
fornews_trendsSurging entities: recent volume vs each entity's own history (z-score) → rising / falling / stable
fornews_timeline“Articles per day” for an entity, a source or the whole corpus, over N days
fornews_share_of_voiceDistribution by source (“who covers what”), global or on a topic
fornews_related_articlesArticles covering the same story (shared entities) — a story thread

Detect Find sources

ToolPurpose
fornews_detect_feedsFrom a site URL, finds followable feeds: autodiscovery, footer links, common paths, YouTube channel, sitemaps — each candidate confirmed by a real parse

Write Manage sources & rules

ToolPurpose
fornews_create_sourceAdd a feed or a page to watch (URL de-duplicated as in the app)
fornews_update_source · delete_sourceRename, change language, enable/disable, delete a source
fornews_create_keywordCreate a watch rule (AND groups, OR variants, EXCEPT exclusions)
fornews_update_keyword · delete_keywordModify or delete a keyword rule

Your corpus, for real

A real snapshot of the fornews.ai developer's own corpus, queried through the MCP server — 24 July 2026. Your corpus will reflect your own sources and interests.

5,595articles
10,600detected entities
68active sources
27watch rules
11watched entities

How it all connects

flowchart LR
  M["Mac mini · Data Provider
(fornews.app)"] -- exposes --> S["MCP server
localhost:5174"] S <-- SSE --> C["Claude / assistant"] M -. private iCloud .-> D["iPhone · iPad
Mac · Apple TV"]

Your 11 watched entities — articles collected

Microsoft288 Apple278 Donald Trump100 Elon Musk22 The Rolling Stones13 Reese Witherspoon11 Gorillaz8 Lana Del Rey7 Nicole Kidman5 Dario Amodei4 Jennifer Aniston0

Watched entities drive notifications. Here, two tech giants dominate coverage; the followed musicians and actors stay quieter.

Your 68 sources

33 in French · 35 in English 65 RSS feeds · 3 watched web pages
SourceLangTypeInterval
Le MondefrRSS49 min
RTS InfofrRSS33 min
The VergeenRSS49 min
Apple NewsroomenRSS49 min
Daring FireballenRSS60 min
Darknet Diaries (podcast)enRSS49 min
Le Louvrefrweb page49 min

The interval is adaptive: it tightens for prolific sources and relaxes for the others.

The source landscape — value × feasibility

A “magic quadrant” of the source types fornews can — or could — follow, by value for monitoring and ease of fully on-device integration.

quadrantChart
  title fornews.ai source types
  x-axis Hard to integrate --> Easy to integrate
  y-axis Low value --> High value
  quadrant-1 Integrate
  quadrant-2 Scope it
  quadrant-3 Drop
  quadrant-4 Bonus
  "RSS / Atom": [0.90, 0.92]
  "JSON Feed": [0.85, 0.55]
  "Fediverse": [0.80, 0.68]
  "YouTube": [0.68, 0.70]
  "Podcasts": [0.30, 0.85]
  "Newsletters": [0.45, 0.50]
  "Bluesky": [0.50, 0.48]
  "PDF": [0.55, 0.45]
  "Sitemaps": [0.72, 0.28]
  "X / Twitter": [0.15, 0.35]
    

RSS/Atom, JSON Feed, YouTube and Fediverse are already ingested; podcasts and documents are under study; X/Twitter stays out of scope (no open API).

One request, several tools

“Build me a brief on AI this week” becomes, on the assistant's side, a chain of calls:

flowchart TD
  Q["“Brief on AI
this week”"] --> A["fornews_search_articles"] A --> B["fornews_get_article"] A --> R["fornews_related_articles"] A --> V["fornews_share_of_voice"] B --> D["Structured brief
cited sources"] R --> D V --> D

Recipes — the full potential

The power of MCP is that the assistant chains several tools to answer a plainly-worded request. A few examples.

The responses below are illustrative examples based on the fornews.ai developer's own corpus — yours will yield different results.

1. “What's happening right now?”

Which entities are surging in my news, and since when? Give me the context.
Claude · via the fornews MCP server

Three topics clearly stand out over the last two days:

  • Roland-Garros — 9 recent articles (usually < 1/day), sharp surge since the day before yesterday.
  • OpenAI — 6 articles, steady rise over a week.
  • ECB — 4 articles clustered yesterday afternoon.

Chain: fornews_trendsfornews_timeline per entity → fornews_search_articles to illustrate.

2. “Build me a brief on a topic”

Summarise everything said about artificial intelligence this week, with sources and angles.
What the assistant does
  • fetches the topic's articles (search_articles / get_entity);
  • reads the most significant ones (get_article);
  • groups related articles (related_articles);
  • measures who covers it most (share_of_voice) and spots blind spots (topics covered by a single source);
  • writes a structured brief, each claim tied to its article.

All from your corpus, filtered to your interests — not the generic web.

3. “Add sources” — without knowing the feed URL

Add the feeds for lemonde.fr and theverge.com, in French and English respectively.
Detect, then create

The assistant calls fornews_detect_feeds on each domain, picks the main feed among the confirmed candidates, then fornews_create_source with the right language. New articles arrive at the next refresh, translated and summarised like the rest.

4. “Create a watch rule”

Follow AI and ethics, but not when it's about video games.
An AND / OR / EXCEPT rule
# fornews_create_keyword
groups   = [ ["AI", "artificial intelligence"], ["ethics"] ]
excluded = [ "video game" ]
# ⇒ (AI OR artificial intelligence) AND (ethics) EXCEPT (video game)

The rule filters the next ingested articles (as in the app).

5. “Follow a story”

From this article, show me the other coverage of the same event and how it evolved.
Multi-source threading

fornews_related_articles surfaces articles sharing the same entities, ranked by closeness; fornews_timeline traces the topic's rise. You get the thread of a story, sources and angles compared.

6. Housekeeping

Which sources stopped publishing? Disable them.
Diagnose, then act

fornews_list_sources reveals each source's last fetch and interval; the assistant proposes the inactive ones, then — after your go-ahead — fornews_update_source to disable them (or delete_source to remove a duplicate).

Writing & care

The write tools (create/update/delete_source and …_keyword) act on the local store of the Mac Data Provider, which syncs via iCloud to all your devices. They stay local and account-free, but they are not innocuous reads:

  • a source or rule created here shows up on your iPhone, iPad, Mac and Apple TV;
  • deleting a source also removes its articles (as in the app) — unless you opt out;
  • good practice: let the assistant propose the action and confirm before it runs.
Bottom line. Read and analyse: safe, at will. Write: local, reversible in the app, but it changes what all your devices see — so do it knowingly.

← Back to the getting-started guide