diff --git a/src/world_intel_mcp/sources/news.py b/src/world_intel_mcp/sources/news.py index 5de49b4..f2d5f44 100644 --- a/src/world_intel_mcp/sources/news.py +++ b/src/world_intel_mcp/sources/news.py @@ -29,8 +29,8 @@ _RSS_FEEDS: dict[str, list[tuple[str, str]]] = { "geopolitics": [ ("BBC World", "https://feeds.bbci.co.uk/news/world/rss.xml"), ("Al Jazeera", "https://www.aljazeera.com/xml/rss/all.xml"), - ("AP Top News", "https://rsshub.app/apnews/topics/apf-topnews"), - ("Reuters World", "https://www.reutersagency.com/feed/?taxonomy=best-sectors&post_type=best"), + ("AP Top News", "https://feedx.net/rss/ap.xml"), + ("Reuters World", "https://news.google.com/rss/search?q=source:Reuters&hl=en-US&gl=US&ceid=US:en"), ("The Guardian World", "https://www.theguardian.com/world/rss"), ("DW News", "https://rss.dw.com/rss/en/top_news/rss-en-top"), ("France24", "https://www.france24.com/en/rss"), @@ -41,7 +41,6 @@ _RSS_FEEDS: dict[str, list[tuple[str, str]]] = { ("The Hacker News", "https://feeds.feedburner.com/TheHackersNews"), ("Schneier on Security", "https://www.schneier.com/feed/atom/"), ("Dark Reading", "https://www.darkreading.com/rss.xml"), - ("Threatpost", "https://threatpost.com/feed/"), ("CISA Alerts", "https://www.cisa.gov/cybersecurity-advisories/all.xml"), ], "technology": [ @@ -60,12 +59,11 @@ _RSS_FEEDS: dict[str, list[tuple[str, str]]] = { ("Zero Hedge", "https://feeds.feedburner.com/zerohedge/feed"), ], "military": [ - ("Defense One", "https://www.defenseone.com/rss/"), + ("Defense One", "https://www.defenseone.com/rss/all/"), ("War on the Rocks", "https://warontherocks.com/feed/"), ("The War Zone", "https://www.twz.com/feed"), ("Breaking Defense", "https://breakingdefense.com/feed/"), - ("Defense News", "https://www.defensenews.com/arc/outboundfeeds/rss/category/land/?outputType=xml"), - ("Stars and Stripes", "https://www.stripes.com/rss"), + ("Military Times", "https://www.militarytimes.com/arc/outboundfeeds/rss/?outputType=xml"), ("USNI News", "https://news.usni.org/feed"), ], "science": [ @@ -77,54 +75,41 @@ _RSS_FEEDS: dict[str, list[tuple[str, str]]] = { "think_tanks": [ ("RAND", "https://www.rand.org/blog.xml"), ("Brookings", "https://www.brookings.edu/feed/"), - ("CSIS", "https://www.csis.org/analysis/feed"), - ("CFR", "https://www.cfr.org/rss.xml"), ("Carnegie", "https://carnegieendowment.org/rss/solr.xml"), - ("Chatham House", "https://www.chathamhouse.org/rss.xml"), - ("Atlantic Council", "https://www.atlanticcouncil.org/feed/"), - ("IISS", "https://www.iiss.org/rss/"), ], "middle_east": [ - ("Al Monitor", "https://www.al-monitor.com/rss"), ("Middle East Eye", "https://www.middleeasteye.net/rss"), - ("The National UAE", "https://www.thenationalnews.com/rss"), + ("The National UAE", "https://www.thenationalnews.com/arc/outboundfeeds/rss/?outputType=xml"), ("Times of Israel", "https://www.timesofisrael.com/feed/"), ("Iran Intl", "https://www.iranintl.com/en/feed"), ], "asia_pacific": [ ("SCMP", "https://www.scmp.com/rss/91/feed"), - ("Nikkei Asia", "https://asia.nikkei.com/rss"), + ("Nikkei Asia", "https://asia.nikkei.com/rss/feed/nar"), ("The Diplomat", "https://thediplomat.com/feed/"), ("Channel News Asia", "https://www.channelnewsasia.com/api/v1/rss-outbound-feed?_format=xml"), - ("East Asia Forum", "https://www.eastasiaforum.org/feed/"), + ("Lowy Interpreter", "https://www.lowyinstitute.org/the-interpreter/rss.xml"), ], "africa": [ ("allAfrica", "https://allafrica.com/tools/headlines/rdf/latest/headlines.rdf"), - ("The Africa Report", "https://www.theafricareport.com/feed/"), - ("African Arguments", "https://africanarguments.org/feed/"), ], "latin_america": [ - ("Americas Quarterly", "https://www.americasquarterly.org/feed/"), ("MercoPress", "https://en.mercopress.com/rss"), - ("Brazil Wire", "https://www.brasilwire.com/feed/"), + ("Dialogo Americas", "https://dialogo-americas.com/feed/"), ], "energy": [ ("Oil Price", "https://oilprice.com/rss/main"), ("Rigzone", "https://www.rigzone.com/news/rss/rigzone_latest.aspx"), - ("Energy Intelligence", "https://www.energyintel.com/rss"), ("Utility Dive", "https://www.utilitydive.com/feeds/news/"), ], "government": [ ("State Dept", "https://www.state.gov/rss-feed/press-releases/feed/"), ("DoD News", "https://www.defense.gov/DesktopModules/ArticleCS/RSS.ashx?ContentType=1&Site=945&max=10"), ("UN News", "https://news.un.org/feed/subscribe/en/news/all/rss.xml"), - ("EU External Action", "https://www.eeas.europa.eu/eeas/rss-feeds_en"), - ("NATO News", "https://www.nato.int/cps/en/natohq/news.xml"), ], "crisis": [ ("ReliefWeb", "https://reliefweb.int/updates/rss.xml"), ("ICG", "https://www.crisisgroup.org/rss.xml"), - ("ACAPS", "https://www.acaps.org/en/rss/briefing-notes"), ], } @@ -148,14 +133,10 @@ SOURCE_TIERS: dict[str, str] = { "USNI News": "specialty", "War on the Rocks": "specialty", "The War Zone": "specialty", + "Military Times": "specialty", "RAND": "think_tank", "Brookings": "think_tank", - "CSIS": "think_tank", - "CFR": "think_tank", "Carnegie": "think_tank", - "Chatham House": "think_tank", - "Atlantic Council": "think_tank", - "IISS": "think_tank", "ICG": "think_tank", "BleepingComputer": "specialty", "Krebs on Security": "specialty", @@ -164,9 +145,11 @@ SOURCE_TIERS: dict[str, str] = { "State Dept": "government", "DoD News": "government", "UN News": "government", - "NATO News": "government", "ReliefWeb": "intl_org", - "ACAPS": "intl_org", + "Lowy Interpreter": "think_tank", + "Dialogo Americas": "specialty", + "Nikkei Asia": "major", + "The National UAE": "major", "Zero Hedge": "aggregator", }