← Back to search

io.github.malkreide/news-monitor-mcp

malkreide Scanned 16d ago

Aggregated news monitoring across Swiss public media RSS feeds

D
56.6 / 100

Versions

0.3.3latest
first seen Jun 30, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 15

news_alert_list
annotations: none low

Listet alle konfigurierten News-Alerts mit Status. Returns: str: Alle Alerts mit ID, Bedingung, letzter Pruefung und Trigger-Count. Kein API-Call – liest nur aus der lokalen Alert-Datei.

news_cache_stats
annotations: none low

Cache-Statistiken: Trefferquote, gespeicherte Eintraege, gesparte API-Calls. Returns: str: Cache-Uebersicht mit Hit-Rate, Eintraegen nach Typ und TTL-Konfiguration.

news_cache_clear
annotations: none low

Leert den Cache (vollstaendig oder fuer einen spezifischen Tool-Typ). Args: params (CacheClearInput): tool_type (leer = alles leeren) Returns: str: Anzahl geloeschter Cache-Eintraege.

params CacheClearInput
news_alert_create
annotations: none low

Erstellt einen neuen News-Alert fuer automatisches Monitoring. Alerts werden persistent gespeichert und ueberleben Server-Neustarts. news_alert_check prueft alle Alerts gegen aktuelle Daten. Condition-Typen: sentiment_below – Alarm wenn Ø-Sentiment < threshold (z.B. -0.2) sentiment_above – Alarm wenn Ø-Sentiment > threshold (z.B. 0.5) volume_above – Alarm wenn Artikelanzahl > threshold (z.B. 50) keyword_found – Alarm wenn keyword in Titeln/Zusammenfassungen Args: params (CreateAlertInput): name, entity, language, source_country, days_back, condition_type, threshold, keyword Returns: str: Bestaetigung mit der neuen Alert-ID.

params CreateAlertInput
news_alert_check
annotations: none low

Prueft alle (oder einen spezifischen) Alert gegen aktuelle Nachrichtendaten. Pro Alert 1 API-Call. Kein Cache – Alert-Checks verwenden immer aktuelle Daten. Ergebnisse (last_checked, trigger_count) werden im Alert-File persistiert. Args: params (CheckAlertsInput): alert_id (leer = alle), response_format Returns: str: Pruefergebnis aller Alerts mit Triggered/OK Status.

params CheckAlertsInput
news_alert_delete
annotations: none low

Loescht einen konfigurierten Alert permanent. Args: params (DeleteAlertInput): alert_id aus news_alert_list Returns: str: Bestaetigung oder Fehlermeldung.

params DeleteAlertInput
news_search
annotations: none low

Volltext-Nachrichtensuche in 150+ Laendern (mit Cache, TTL: 30 Min). Args: params (SearchNewsInput): query, language, source_country, earliest/latest_date, sort, number, include_full_text, use_cache, response_format Returns: str: Artikel mit Titel, Zusammenfassung, Quelle, Datum und Sentiment.

params SearchNewsInput
news_top_headlines
annotations: none low

Top-Schlagzeilen eines Landes (mit Cache, TTL: 15 Min). Args: params (TopNewsInput): source_country, language, date, number, use_cache, response_format Returns: str: Geclusterte Top-News nach Quellen-Anzahl gereiht.

params TopNewsInput
news_sentiment_monitor
annotations: none low

Sentiment-Analyse der Medienberichterstattung (Cache-TTL: 60 Min). Analysiert die emotionale Tonalitaet der Berichterstattung. Nur DE und EN. ⚠️ DATENSCHUTZ-HINWEIS (revDSG, Schweiz): Sentiment-Analyse auf eine namentlich genannte Person stellt Profiling nach Art. 5 lit. f DSG dar. Vor produktivem Einsatz mit Personenbezug: Datenschutz-Folgenabschaetzung (Art. 22 DSG) und Informationspflicht (Art. 19 DSG) pruefen. Empfehlung: nur auf Institutionen / Themen, nicht auf einzelne Personen anwenden. Siehe docs/privacy-dsg.md fuer Details. Args: params (SentimentMonitorInput): entity, language (de/en), days_back, source_country, number, use_cache, response_format Returns: str: Sentiment-Auswertung mit Ø-Score, Statistik und Top-Artikeln.

params SentimentMonitorInput
news_media_briefing
annotations: none low

Multi-Themen-Medien-Briefing fuer GL/KI-Fachgruppe (Cache-TTL: 60 Min pro Thema). Args: params (MediaBriefingInput): topics (max. 5), language, days_back, source_country, use_cache Returns: str: Kompaktes Briefing mit Sentiment und Top-3-Artikeln pro Thema.

params MediaBriefingInput
news_retrieve_article
annotations: none low

Vollstaendigen Artikel per ID abrufen (Cache-TTL: 24h). Args: params (RetrieveArticleInput): article_id, use_cache, response_format Returns: str: Volltext, Metadaten und Sentiment.

params RetrieveArticleInput
news_search_sources
annotations: none low

Verfuegbare Nachrichtenquellen suchen (Cache-TTL: 24h). Args: params (SearchSourcesInput): name, country, language, number, use_cache, response_format Returns: str: Liste verfuegbarer Quellen mit URL und Metadaten.

params SearchSourcesInput
news_front_pages
annotations: none low

Digitale Zeitungscovers von 6000+ Publikationen (Cache-TTL: 4h). Args: params (FrontPagesInput): source_country, source_name, date, use_cache, response_format Returns: str: Titelseiten-Uebersicht mit Bild-URLs.

params FrontPagesInput
news_trend_radar
annotations: none low

Nachrichtentrends in einer Kategorie (Cache-TTL: 30 Min). Args: params (TrendRadarInput): category, source_country, language, days_back, number, use_cache, response_format Returns: str: Trending-Themen und Artikel mit Sentiment.

params TrendRadarInput
news_geo_search
annotations: none low

Standortspezifische Nachrichtensuche (Cache-TTL: 30 Min). Args: params (GeoNewsInput): location, query, language, days_back, number, use_cache, response_format Returns: str: Geolokalisierte Nachrichtenartikel mit Sentiment.

params GeoNewsInput

Permissions 4

network medium
Server uses network capabilities via: httpx
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: subprocess
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 68

low
Tool 'news_cache_stats' has no annotations annotation_checker · 100%
low
Tool 'news_cache_clear' has no annotations annotation_checker · 100%
low
Tool 'news_alert_create' has no annotations annotation_checker · 100%
low
Tool 'news_alert_list' has no annotations annotation_checker · 100%
low
Tool 'news_alert_check' has no annotations annotation_checker · 100%
low
Tool 'news_alert_delete' has no annotations annotation_checker · 100%
low
Tool 'news_search' has no annotations annotation_checker · 100%
low
Tool 'news_top_headlines' has no annotations annotation_checker · 100%
low
Tool 'news_sentiment_monitor' has no annotations annotation_checker · 100%
low
Tool 'news_media_briefing' has no annotations annotation_checker · 100%
low
Tool 'news_retrieve_article' has no annotations annotation_checker · 100%
low
Tool 'news_search_sources' has no annotations annotation_checker · 100%
low
Tool 'news_front_pages' has no annotations annotation_checker · 100%
low
Tool 'news_trend_radar' has no annotations annotation_checker · 100%
low
Tool 'news_geo_search' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: mcp@2.0.0,<3 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2.0.0,<3 (PYSEC-2026-3483) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (GHSA-mr82-8j83-vxmv) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (PYSEC-2026-1812) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (GHSA-2c2j-9gv5-cj73) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (GHSA-74m5-2c7w-9w3x) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (GHSA-86qp-5c8j-p5mr) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (GHSA-f96h-pmfr-66vw) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (GHSA-jp82-jpqv-5vv3) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (GHSA-wqp7-x3pw-xc5r) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (GHSA-x746-7m8f-x49c) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (PYSEC-2023-48) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (PYSEC-2026-161) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (PYSEC-2026-1941) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (PYSEC-2026-1943) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (PYSEC-2026-2280) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (PYSEC-2026-2281) dependency_analyzer · 95%
medium
Vulnerable dependency: starlette@0.36.0,<2 (PYSEC-2026-248) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: news_cache_stats manifest_parser · 90%
info
Tool: news_cache_clear manifest_parser · 90%
info
Tool: news_alert_create manifest_parser · 90%
info
Tool: news_alert_list manifest_parser · 90%
info
Tool: news_alert_check manifest_parser · 90%
info
Tool: news_alert_delete manifest_parser · 90%
info
Tool: news_search manifest_parser · 90%
info
Tool: news_top_headlines manifest_parser · 90%
info
Tool: news_sentiment_monitor manifest_parser · 90%
info
Tool: news_media_briefing manifest_parser · 90%
info
Tool: news_retrieve_article manifest_parser · 90%
info
Tool: news_search_sources manifest_parser · 90%
info
Tool: news_front_pages manifest_parser · 90%
info
Tool: news_trend_radar manifest_parser · 90%
info
Tool: news_geo_search manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (13) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Invisible Unicode characters in 'news_sentiment_monitor' poisoning · 92%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%