Skip to main content
Glama
moltrus

Google News MCP

by moltrus

Google News MCP

Ein Model Context Protocol (MCP)-Server, der Google News RSS-Feeds als MCP-Tools bereitstellt und es KI-Assistenten (Claude, GPT-4 usw.) ermöglicht, mit automatischer URL-Dekodierung, paralleler Verarbeitung und intelligentem Caching auf Echtzeit-Nachrichtendaten zuzugreifen.

Hauptfunktionen

Asynchron & Parallel - Alle Vorgänge laufen asynchron mit paralleler URL-Dekodierung für maximale Leistung Intelligentes Caching - LRU-Cache (1024 Einträge) für schnelle wiederholte URL-Dekodierungen Batch-URL-Dekodierung - Dekodierung mehrerer Google News-URLs parallel Saubere Zusammenfassungen - Extrahiert reinen Text aus HTML-Zusammenfassungen mit dekodierten Artikellinks Token-Oriented Object Notation (TOON) - Unterstützung für ein kompaktes, token-effizientes Antwortformat (30-60% Reduktion) Mehrsprachige Unterstützung - Konfigurierbar für jede Sprach-/Länderkombination Erweiterte Suche - Volle Unterstützung für Google News-Suchoperatoren (site:, when:, intitle:, etc.) Seitenextraktion - Abrufen und Zusammenfassen vollständiger Artikelinhalte mittels Jina Reader und Groq


Tool-Übersicht

Tool

Zweck

Parameter

get_top_headlines

Aktuelle Schlagzeilen nach Land

language, country

get_category_feed

Nachrichten nach Kategorie (TECH, BUSINESS, etc.)

category, language, country

get_search_feed

Nachrichtensuche mit erweiterten Operatoren

query, language, country

get_geo_feed

Standortspezifische Nachrichten

location, language, country

get_topic_feed

Trendthema nach ID

topic_id, language, country

decode_google_news_url

Google News-URLs dekodieren

urls (Liste)

list_categories

Verfügbare Nachrichtenkategorien

(keine)

fetch_content

Seiteninhalt abrufen und zusammenfassen

url, summarize

Gesamt: 8 Tools


Schnellstart

Installation

Option 1: Verwendung von uv (empfohlen)

# Clone the repository
git clone https://github.com/moltrus/google-news-mcp.git
cd google-news-mcp

# Install with uv
uv sync

Option 2: Verwendung von pip mit virtueller Umgebung

# Clone the repository
git clone https://github.com/moltrus/google-news-mcp.git
cd google-news-mcp

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install in development mode
pip install -e .

Für die globale Nutzung (beliebige Methode)

Um den Befehl google-news-mcp global von überall aus zu verwenden:

pip install -e .

Dies installiert den Befehlszeilen-Einstiegspunkt systemweit, sodass Sie google-news-mcp aus jedem Verzeichnis ausführen können.

Konfiguration

Erstellen Sie eine .env-Datei basierend auf .env.example:

# RSS Preferences
GOOGLE_NEWS_LANGUAGE=en
GOOGLE_NEWS_COUNTRY=US

# Response Optimization
# Options: "json" (standard) or "toon" (token-optimized)
RESPONSE_FORMAT=json

# Fetching & Summarization
JINA_API_KEY=your_jina_key
GROQ_API_KEY=your_groq_key
GROQ_MODEL=qwen/qwen3-32b

Server starten

google-news-mcp

Oder direkt:

python -m google_news_mcp.server

Tool-Dokumentation

get_top_headlines

Abrufen der neuesten Schlagzeilen für ein Land.

Parameter:

  • language (String, optional): Sprachcode (z. B. 'de', 'en'). Standardwert ist die Umgebungsvariable GOOGLE_NEWS_LANGUAGE.

  • country (String, optional): Ländercode (z. B. 'DE', 'US'). Standardwert ist die Umgebungsvariable GOOGLE_NEWS_COUNTRY.

Rückgabe:

{
  "title": "Google News",
  "link": "https://news.google.com",
  "description": "Latest news",
  "entries": [
    {
      "title": "Article Title",
      "link": "https://source.com/article",
      "published": "2026-03-31T10:00:00Z",
      "summary": "Article Title (https://source.com/article)\nAnother Article (https://another.com/news)",
      "source": "Source Name"
    }
  ]
}

Hinweise:

  • Artikel sind nach Relevanz sortiert (Google News-Standard)

  • URLs werden automatisch von Google News-Weiterleitungen dekodiert

  • Zusammenfassungen enthalten extrahierte Links im Klartextformat


get_category_feed

Nachrichtenschlagzeilen für eine bestimmte Kategorie abrufen.

Parameter:

  • category (String, erforderlich): Nachrichtenkategorie. Gültige Werte:

    • WORLD - Internationale Nachrichten

    • NATION - Nationale/lokale Schlagzeilen

    • BUSINESS - Wirtschaft & Finanzen

    • TECHNOLOGY - Technik & KI

    • ENTERTAINMENT - Unterhaltung & Popkultur

    • SPORTS - Sport

    • SCIENCE - Wissenschaft & Forschung

    • HEALTH - Gesundheit & Medizin

  • language (String, optional): Sprachcode. Standardwert aus Konfiguration.

  • country (String, optional): Ländercode. Standardwert aus Konfiguration.

Rückgabe: Wie bei get_top_headlines

Beispiele:

get_category_feed(category="TECHNOLOGY")
get_category_feed(category="BUSINESS", country="UK")

get_search_feed

Google News mit Stichwortabfragen und erweiterten Operatoren durchsuchen.

Parameter:

  • query (String, erforderlich): Suchanfrage mit optionalen Operatoren

  • language (String, optional): Sprachcode. Standardwert aus Konfiguration.

  • country (String, optional): Ländercode. Standardwert aus Konfiguration.

Unterstützte Suchoperatoren:

  • Exakte Phrase: "Künstliche Intelligenz" (muss exakt übereinstimmen)

  • Begriff ausschließen: -apple (Artikel ohne "apple" ausschließen)

  • Seitenspezifisch: site:techcrunch.com (nur von dieser Domain)

  • Zeitraum (relativ): when:1h, when:24h, when:7d, when:30d, when:1y, when:1m

  • Zeitraum (absolut): after:2026-01-01, before:2026-03-31

  • Titelsuche: intitle:fusion (Begriff erscheint nur in der Schlagzeile)

  • Boolesches ODER: Tesla OR SpaceX (einer der Begriffe)

  • Kombinationen: "GPT-4" site:openai.com when:7d (alles zusammen)

Rückgabe: Wie bei get_top_headlines (max. ~100 Artikel)

Suchbeispiele:

"OpenAI Sora"                                # Exact phrase
AI -hype                                     # Include AI, exclude hype
site:arxiv.org quantum computing             # From academic site
when:1h breaking                             # Last hour
when:24h -rumor Bitcoin                      # Last 24h, exclude rumors
after:2026-03-01 before:2026-03-31 merger    # Date range
intitle:IPO tech companies                   # IPO in headline
SpaceX OR Blue Origin                        # Either company OR other

Wichtig: Datumsfilter funktionieren auf tagesbasis (nicht stunden-/minutengenau).


get_geo_feed

Nachrichten für einen bestimmten geografischen Standort abrufen.

Parameter:

  • location (String, erforderlich): Stadt, Bundesland, Region oder Land (z. B. 'Berlin', 'Bayern', 'Deutschland')

  • language (String, optional): Sprachcode. Standardwert aus Konfiguration.

  • country (String, optional): Ländercode. Standardwert aus Konfiguration.

Rückgabe: Wie bei get_top_headlines

Beispiele:

get_geo_feed(location="New York")
get_geo_feed(location="London", language="en")
get_geo_feed(location="Tokyo", country="JP")

fetch_content

Sauberen Seiteninhalt von einer URL mittels Jina Reader API abrufen, mit optionaler Zusammenfassung über Groq.

Parameter:

  • url (String, erforderlich): Absolute URL zum Abrufen (muss mit http:// oder https:// beginnen)

  • summarize (Boolean, optional): Wenn true, wird eine prägnante Zusammenfassung über Groq zurückgegeben und der vollständige Rohinhalt weggelassen, um Token zu sparen. Standardwert ist false.

Rückgabe:

{
  "url": "https://example.com/article",
  "reader_url": "https://r.jina.ai/https://example.com/article",
  "content": "Full article text...",
  "summary": "Concise summary points...",
  "summary_model": "qwen/qwen3-32b",
  "summary_error": "Error message if summarization fails"
}

Hinweise:

  • Token-Effizienz: Wenn summarize auf true gesetzt ist, wird das Feld content automatisch aus der Antwort entfernt, um eine Überlastung des Kontextfensters zu vermeiden.

  • Umgebungsvariablen:

    • JINA_API_KEY: Erforderlich für die Inhaltsextraktion.

    • GROQ_API_KEY: Erforderlich für die Zusammenfassung.

    • GROQ_MODEL: Optional. Spezifisches zu verwendendes Modell (Standard ist qwen/qwen3-32b).


decode_google_news_url

Mehrere Google News-URLs parallel zu ihren tatsächlichen Artikelzielen dekodieren.

Parameter:

  • urls (Liste von Strings, erforderlich): Array von Google News-Weiterleitungs-URLs zum Dekodieren

Rückgabe:

{
  "decoded_urls": [
    {
      "original_url": "https://news.google.com/articles/CBMi8wFAUU...",
      "decoded_url": "https://techcrunch.com/2026/03/31/ai-news"
    },
    {
      "original_url": "https://news.google.com/articles/CBMixAFAUU...",
      "decoded_url": "https://theverge.com/2026/3/31/10987654"
    }
  ]
}

Leistung:

  • Alle URLs werden gleichzeitig dekodiert (keine sequenziellen Verzögerungen)

  • Ergebnisse werden für wiederholte Abfragen zwischengespeichert (sofort bei Cache-Treffer)

  • LRU-Cache mit Limit von 1024 Einträgen

Beispiele:

decode_google_news_url(urls=[
  "https://news.google.com/articles/CBMi8wFAUU...",
  "https://news.google.com/articles/CBMixAFAUU...",
  "https://news.google.com/articles/CBMi5gFAUU..."
])

get_topic_feed

Nachrichten für ein bestimmtes Trendthema anhand seiner Themen-ID abrufen.

Google News verfolgt Trendthemen als Hashes (z. B. Unternehmen, Ereignisse, wiederkehrende Themen).

Parameter:

  • topic_id (String, erforderlich): Google News Themen-Hash-Identifikator

  • language (String, optional): Sprachcode. Standardwert aus Konfiguration.

  • country (String, optional): Ländercode. Standardwert aus Konfiguration.

Rückgabe: Wie bei get_top_headlines

Häufige Themen-IDs:

  • CAAqKAgKIiJDQkFTRXdvS0wyMHZNSFp3YWpSZlloSUZaVzR0UjBJb0FBUAE - Kryptowährungen

  • Weitere finden Sie durch Erkunden von Google News und Überprüfen des Themenparameters in den URLs

Beispiele:

get_topic_feed(topic_id="CAAqKAgKIiJDQkFTRXdvS0wyMHZNSFp3YWpSZlloSUZaVzR0UjBJb0FBUAE")

list_categories

Liste der verfügbaren Nachrichtenkategorien abrufen.

Parameter: Keine

Rückgabe:

{
  "categories": [
    "WORLD",
    "NATION",
    "BUSINESS",
    "TECHNOLOGY",
    "ENTERTAINMENT",
    "SPORTS",
    "SCIENCE",
    "HEALTH"
  ]
}

Architektur

Leistungsoptimierungen

  1. Async/Await - Alle E/A-Vorgänge (HTTP, Dekodierung) sind nicht blockierend

  2. Parallele Verarbeitung - Mehrere URLs und Einträge werden parallel über asyncio.gather() verarbeitet

  3. LRU-Cache (1024 Einträge) - Dekodierte URLs werden auf Funktionsebene zwischengespeichert

  4. In-Memory Dictionary Cache - Zusätzlicher schneller Such-Cache für dekodierte URLs

  5. Batch-Vorgänge - decode_google_news_url verarbeitet Listen von URLs gleichzeitig

Zusammenfassungsformat

Artikelzusammenfassungen werden aus HTML extrahiert und als Klartext mit dekodierten Links zurückgegeben:

Article Title 1 (https://original-source.com/article1)
Image caption link (https://image-source.com/photo)
Article Title 2 (https://original-source.com/article2)

HTML-Tags, CDATA-Wrapper und Entitäten werden für sauberen, lesbaren Text entfernt.


Nutzungsbeispiele

1. Eilmeldungen der letzten Stunde abrufen

get_search_feed(query="when:1h breaking", country="US")

2. Mehrere Artikel-URLs gleichzeitig dekodieren

decode_google_news_url(urls=[
  "https://news.google.com/articles/CBMi8wFAUU...",
  "https://news.google.com/articles/CBMixAFAUU..."
])

3. Technik-Nachrichten von einer bestimmten Quelle

get_search_feed(query="site:techcrunch.com AI")

4. Lokale Nachrichten für eine Stadt

get_geo_feed(location="San Francisco")

5. Suche mit Datumsbereich

get_search_feed(query="SpaceX after:2026-03-01 before:2026-03-31")

6. Gesundheitsnachrichten abrufen

get_category_feed(category="HEALTH")

7. Trendnachrichten zu Kryptowährungen

get_topic_feed(topic_id="CAAqJggKIiBDQkFTRWdvSUwyMHZNR3d5YldFeVpYVXVhVzV6U0FpQkFQAQ")

8. Vollständigen Artikel abrufen und zusammenfassen

fetch_content(url="https://techcrunch.com/article-url", summarize=true)

Token-Effizienz & TOON

Dieser Server unterstützt Token-Oriented Object Notation (TOON), ein kompaktes Datenformat, das speziell für LLMs entwickelt wurde.

Warum TOON verwenden?

Standard-JSON kann für LLMs aufgrund wiederholter Schlüssel und Satzzeichen wortreich sein. TOON reduziert den Token-Verbrauch um 30-60% durch:

  • Einmalige Definition von Schlüsseln für Arrays von Objekten (tabellarisches Format).

  • Entfernen unnötiger geschweifter Klammern, eckiger Klammern und Anführungszeichen.

  • Verwendung von Einrückungen und einfachen Trennzeichen.

Konfiguration

Um TOON global für alle Tool-Antworten zu aktivieren, setzen Sie Folgendes in Ihrer .env:

RESPONSE_FORMAT=toon

Vergleich

JSON (Ausführlich)

TOON (Kompakt)

{"entries": [{"id": 1, "title": "A"}, {"id": 2, "title": "B"}]}

entries[2,]{id,title}:

  1,A

  2,B


Einschränkungen

  1. Ergebnislimit: Google News RSS gibt maximal ~100 Artikel pro Anfrage zurück

  2. Sortierung: Standard ist Relevanz. Verwenden Sie when:-Filter für zeitliche Sortierung

  3. Datumspräzision: Filter funktionieren auf tagesbasis, nicht stunden-/minutengenau

  4. Ratenbegrenzung: Keine API-Schlüssel für RSS erforderlich, aber Jina Reader und Groq haben ihre eigenen Limits/Kontingente

  5. Inhaltsextraktion: fetch_content hängt von der Fähigkeit des Jina Readers ab, die Zielseite zu parsen

  6. Themen-IDs: Müssen aus Google News-URLs ermittelt werden; keine Such-API vorhanden


Lizenz

MIT

Install Server
F
license - not found
A
quality
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/moltrus/google-news-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server