MCP server for global news monitoring via WorldNewsAPI – search, sentiment analysis, top headlines, and media monitoring for Swiss public institutions
News Monitor MCP demonstrates solid foundational quality with 15 well-named tools following verb_noun conventions (news_alert_create, news_search, etc.). All tools have descriptions and input schemas with type definitions. However, descriptions are inconsistent in depth, some are detailed (news_alert_create at ~280 chars with condition-type explanations), others are minimal (news_alert_list at ~50 chars). Parameter descriptions are present but often generic ('Language code', 'Source country code') without format guidance or constraints. Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance or actionable error messages visible in tool definitions. Tool annotations (readOnlyHint, destructiveHint) are present and correct, which is a strength. Composition is sound: tools are single-purpose and chainable (search → retrieve → alert). Security: API key injection via environment (WORLD_NEWS_API_KEY) is correct; no secrets in parameters.
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.
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
Loescht einen konfigurierten News-Alert.
Listet alle konfigurierten News-Alerts mit Status.
Leert den Cache oder einen spezifischen Cache-Typ.
Zeigt Cache-Statistiken und Speichernutzung.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Tools return unstructured text or JSON without schema guidance.
Minimal descriptions on read-only discovery tools (news_alert_list, news_top_headlines, news_cache_stats). Descriptions under 50 chars lack context for LLM selection.
Parameter descriptions are generic ('Language code', 'Source country code') without format constraints, valid values, or examples. LLMs cannot infer whether 'en' or 'eng' or 'english' is expected.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Ruft die Titelseiten von Zeitungen fuer ein Land ab.
Sucht nach Nachrichten basierend auf geografischen Koordinaten.
Erstellt eine Medien-Briefing fuer eine Entitaet mit Top-Artikeln und Sentiment-Analyse.
Ruft den vollstaendigen Text eines Artikels ab.
Sucht nach Nachrichten basierend auf Suchtext, Sprache, Land und Zeitfenster.
Listet verfuegbare Nachrichtenquellen fuer ein Land und eine Sprache auf.
Ueberwacht das Sentiment fuer eine Entitaet ueber einen Zeitraum.
Ruft die Top-Headlines fuer ein Land und eine Sprache ab.
Identifiziert Trends und aufstrebende Themen in den Nachrichten.
No error handling guidance visible. Tools do not document what happens on API failure, invalid input, or missing data. LLMs receive no recovery hints.
Pagination not documented. Tools like news_search and news_top_headlines accept 'number' param but no offset/limit/cursor pattern. Large result sets risk context window exhaustion.