Google News MCP
Google News MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que expone los feeds RSS de Google News como herramientas MCP, permitiendo a los asistentes de IA (Claude, GPT-4, etc.) acceder a datos de noticias en tiempo real con decodificación automática de URL, procesamiento concurrente y almacenamiento en caché inteligente.
Características principales
Asíncrono y concurrente - Todas las operaciones se ejecutan de forma asíncrona con decodificación de URL concurrente para un rendimiento máximo Caché inteligente - Caché LRU (1024 entradas) para decodificaciones de URL repetidas rápidamente Decodificación de URL por lotes - Decodifica múltiples URL de Google News en paralelo Resúmenes limpios - Extrae texto plano de resúmenes HTML con enlaces de artículos decodificados Notación Orientada a Tokens (TOON) - Soporte para un formato de respuesta compacto y eficiente en tokens (reducción del 30-60%) Soporte multilingüe - Configurable para cualquier combinación de idioma/país Búsqueda avanzada - Soporte completo para operadores de búsqueda de Google News (site:, when:, intitle:, etc.) Extracción de páginas - Obtiene y resume el contenido completo del artículo usando Jina Reader y Groq
Descripción general de las herramientas
Herramienta | Propósito | Parámetros |
| Últimos titulares por país |
|
| Noticias por categoría (TECH, BUSINESS, etc.) |
|
| Buscar noticias con operadores avanzados |
|
| Noticias específicas de una ubicación |
|
| Tema de tendencia por ID |
|
| Decodificar URL de Google News |
|
| Categorías de noticias disponibles | (ninguno) |
| Obtener y resumir contenido de página |
|
Total: 8 herramientas
Inicio rápido
Instalación
Opción 1: Usando uv (recomendado)
# Clone the repository
git clone https://github.com/moltrus/google-news-mcp.git
cd google-news-mcp
# Install with uv
uv syncOpción 2: Usando pip con entorno virtual
# 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 .Para uso global (cualquier método)
Para usar el comando google-news-mcp globalmente desde cualquier lugar:
pip install -e .Esto instala el punto de entrada de la línea de comandos en todo el sistema, permitiéndole ejecutar google-news-mcp desde cualquier directorio.
Configuración
Cree un archivo .env basado en .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-32bEjecución del servidor
google-news-mcpO directamente:
python -m google_news_mcp.serverDocumentación de herramientas
get_top_headlines
Obtenga los últimos titulares principales de un país.
Parámetros:
language(cadena, opcional): Código de idioma (ej.'en','fr','es'). Por defecto usa la variable de entornoGOOGLE_NEWS_LANGUAGE.country(cadena, opcional): Código de país (ej.'US','GB','JP'). Por defecto usa la variable de entornoGOOGLE_NEWS_COUNTRY.
Retorna:
{
"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"
}
]
}Notas:
Los artículos están ordenados por relevancia (predeterminado de Google News)
Las URL se decodifican automáticamente de las redirecciones de Google News
Los resúmenes contienen enlaces extraídos en formato de texto plano
get_category_feed
Obtenga titulares de noticias para una categoría específica.
Parámetros:
category(cadena, requerido): Categoría de noticias. Valores válidos:WORLD- Noticias internacionalesNATION- Titulares nacionales/localesBUSINESS- Negocios y finanzasTECHNOLOGY- Tecnología e IAENTERTAINMENT- Entretenimiento y cultura popSPORTS- DeportesSCIENCE- Ciencia e investigaciónHEALTH- Salud y medicina
language(cadena, opcional): Código de idioma. Por defecto usa la configuración.country(cadena, opcional): Código de país. Por defecto usa la configuración.
Retorna: Igual que get_top_headlines
Ejemplos:
get_category_feed(category="TECHNOLOGY")
get_category_feed(category="BUSINESS", country="UK")get_search_feed
Busque en Google News con consultas de palabras clave y operadores avanzados.
Parámetros:
query(cadena, requerido): Consulta de búsqueda con operadores opcionaleslanguage(cadena, opcional): Código de idioma. Por defecto usa la configuración.country(cadena, opcional): Código de país. Por defecto usa la configuración.
Operadores de búsqueda soportados:
Frase exacta:
"Artificial Intelligence"(debe coincidir exactamente)Excluir término:
-apple(excluye artículos con "apple")Específico del sitio:
site:techcrunch.com(solo desde el dominio)Rango de tiempo (relativo):
when:1h,when:24h,when:7d,when:30d,when:1y,when:1mRango de tiempo (absoluto):
after:2026-01-01,before:2026-03-31Búsqueda en título:
intitle:merger(el término aparece solo en el titular)Booleano O:
Tesla OR SpaceX(cualquiera de los términos)Combinaciones:
"GPT-4" site:openai.com when:7d(todo junto)
Retorna: Igual que get_top_headlines (máximo ~100 artículos)
Ejemplos de consulta:
"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 otherImportante: Los filtros de fecha funcionan sobre una base diaria (no con precisión de horas/minutos).
get_geo_feed
Obtenga noticias para una ubicación geográfica específica.
Parámetros:
location(cadena, requerido): Ciudad, estado, región o país (ej.'San Francisco','California','Japan')language(cadena, opcional): Código de idioma. Por defecto usa la configuración.country(cadena, opcional): Código de país. Por defecto usa la configuración.
Retorna: Igual que get_top_headlines
Ejemplos:
get_geo_feed(location="New York")
get_geo_feed(location="London", language="en")
get_geo_feed(location="Tokyo", country="JP")fetch_content
Obtenga contenido de página limpio desde una URL usando la API de Jina Reader, con resumen opcional a través de Groq.
Parámetros:
url(cadena, requerido): URL absoluta a obtener (debe comenzar con http:// o https://)summarize(booleano, opcional): Si estrue, devuelve un resumen conciso a través de Groq y omite el contenido sin procesar completo para ahorrar tokens. Por defecto esfalse.
Retorna:
{
"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"
}Notas:
Eficiencia de tokens: Cuando
summarizeestrue, el campocontentse elimina automáticamente de la respuesta para evitar el exceso de la ventana de contexto.Variables de entorno:
JINA_API_KEY: Requerido para la extracción de contenido.GROQ_API_KEY: Requerido para el resumen.GROQ_MODEL: Opcional. Modelo específico a usar (por defectoqwen/qwen3-32b).
decode_google_news_url
Decodifique múltiples URL de Google News a sus destinos de artículo reales en paralelo.
Parámetros:
urls(lista de cadenas, requerido): Matriz de URL de redirección de Google News para decodificar
Retorna:
{
"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"
}
]
}Rendimiento:
Todas las URL se decodifican concurrentemente (sin retrasos secuenciales)
Resultados almacenados en caché para búsquedas repetidas (instantáneo en caso de acierto de caché)
Caché LRU con límite de 1024 entradas
Ejemplos:
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
Obtenga noticias para un tema de tendencia específico por su ID de tema.
Google News rastrea los temas de tendencia como hashes (ej. empresas, eventos, temas recurrentes).
Parámetros:
topic_id(cadena, requerido): Identificador hash del tema de Google Newslanguage(cadena, opcional): Código de idioma. Por defecto usa la configuración.country(cadena, opcional): Código de país. Por defecto usa la configuración.
Retorna: Igual que get_top_headlines
IDs de temas comunes:
CAAqKAgKIiJDQkFTRXdvS0wyMHZNSFp3YWpSZlloSUZaVzR0UjBJb0FBUAE- CriptomonedasEncuentre más explorando Google News y verificando el parámetro de tema en las URL
Ejemplos:
get_topic_feed(topic_id="CAAqKAgKIiJDQkFTRXdvS0wyMHZNSFp3YWpSZlloSUZaVzR0UjBJb0FBUAE")list_categories
Obtenga la lista de categorías de noticias disponibles.
Parámetros: Ninguno
Retorna:
{
"categories": [
"WORLD",
"NATION",
"BUSINESS",
"TECHNOLOGY",
"ENTERTAINMENT",
"SPORTS",
"SCIENCE",
"HEALTH"
]
}Arquitectura
Optimizaciones de rendimiento
Async/Await - Todas las operaciones de E/S (HTTP, decodificación) no son bloqueantes
Procesamiento concurrente - Múltiples URL y entradas procesadas en paralelo mediante
asyncio.gather()Caché LRU (1024 entradas) - URL decodificadas almacenadas en caché a nivel de función
Caché de diccionario en memoria - Caché de búsqueda rápida adicional para URL decodificadas
Operaciones por lotes -
decode_google_news_urlprocesa listas de URL concurrentemente
Formato de resumen
Los resúmenes de artículos se extraen de HTML y se devuelven como texto plano con enlaces decodificados:
Article Title 1 (https://original-source.com/article1)
Image caption link (https://image-source.com/photo)
Article Title 2 (https://original-source.com/article2)Las etiquetas HTML, los contenedores CDATA y las entidades se eliminan para obtener un texto limpio y legible.
Ejemplos de uso
1. Obtener noticias de última hora en la última hora
get_search_feed(query="when:1h breaking", country="US")2. Decodificar múltiples URL de artículos a la vez
decode_google_news_url(urls=[
"https://news.google.com/articles/CBMi8wFAUU...",
"https://news.google.com/articles/CBMixAFAUU..."
])3. Noticias tecnológicas de una fuente específica
get_search_feed(query="site:techcrunch.com AI")4. Noticias locales para una ciudad
get_geo_feed(location="San Francisco")5. Búsqueda con rango de fechas
get_search_feed(query="SpaceX after:2026-03-01 before:2026-03-31")6. Obtener noticias de salud
get_category_feed(category="HEALTH")7. Noticias de criptomonedas en tendencia
get_topic_feed(topic_id="CAAqJggKIiBDQkFTRWdvSUwyMHZNR3d5YldFeVpYVXVhVzV6U0FpQkFQAQ")8. Obtener y resumir un artículo completo
fetch_content(url="https://techcrunch.com/article-url", summarize=true)Eficiencia de tokens y TOON
Este servidor admite Notación Orientada a Tokens (TOON), un formato de datos compacto diseñado específicamente para LLMs.
¿Por qué usar TOON?
El JSON estándar puede ser verboso para los LLMs debido a las claves y puntuación repetidas. TOON reduce el uso de tokens en un 30-60% mediante:
Definir claves una vez para matrices de objetos (formato tabular).
Eliminar llaves, corchetes y comillas innecesarias.
Usar sangría y delimitadores simples.
Configuración
Para habilitar TOON globalmente para todas las respuestas de herramientas, establezca lo siguiente en su .env:
RESPONSE_FORMAT=toonComparación
JSON (Verboso) | TOON (Compacto) |
|
|
Limitaciones
Límite de resultados: El RSS de Google News devuelve un máximo de ~100 artículos por solicitud
Ordenamiento: El predeterminado es relevancia. Use filtros
when:para ordenamiento temporalPrecisión de fecha: Los filtros funcionan sobre una base diaria, no por hora/minuto
Limitación de tasa: No se necesitan claves API para RSS, pero Jina Reader y Groq tienen sus propios límites/cuotas
Extracción de contenido:
fetch_contentdepende de la capacidad de Jina Reader para analizar el sitio de destinoIDs de temas: Deben descubrirse desde las URL de Google News; no hay API de búsqueda
Licencia
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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