News Fact-Checker

Verificación automatizada de titulares de noticias mediante búsqueda web y Google Gemini AI.

Documentación

News Fact-Checker MCP Server

Un servidor moderno de Model Context Protocol (MCP) para verificar titulares de noticias mediante análisis con IA y búsqueda web.

Características

  • 🔍 Verificación de titulares: Verifica afirmaciones de noticias usando Google Gemini AI y búsqueda web
  • 📈 Temas de tendencia: Obtén noticias de tendencia actuales desde fuentes RSS
  • 🤖 Análisis con IA: Usa Google Gemini 2.0 Flash para verificación inteligente de hechos
  • 🌐 Verificación multi-fuente: Busca en múltiples fuentes para un análisis exhaustivo
  • ⚡ MCP moderno: Construido con las últimas convenciones de MCP usando decoradores @mcp.tool

Inicio rápido

Requisitos previos

  • Python 3.11 o superior
  • Clave de API de Google Gemini

Instalación

  1. Clona el repositorio:
git clone <repository-url>
cd FactChecker
  1. Instala las dependencias:
pip install -r requirements.txt
  1. Configura tu clave de API:
export GEMINI_API_KEY="your_gemini_api_key_here"
  1. Ejecuta el servidor:
python -m factchck.news_factcheck

Uso

Verificar un titular

# Example MCP tool call
{
    "tool": "fact_check_headline",
    "arguments": {
        "headline": "NASA announces discovery of water on Mars"
    }
}

Obtener temas de tendencia

# Example MCP tool call
{
    "tool": "get_trending_topics",
    "arguments": {
        "location": "international"  # or "local", "india"
    }
}

Herramientas disponibles

fact_check_headline

Verifica titulares de noticias mediante análisis con IA y búsqueda web.

Parámetros:

  • headline (string): El titular de noticias a verificar

Devuelve:

  • Veredicto (TRUE/FALSE/PARTIALLY_TRUE/UNVERIFIED/MISLEADING)
  • Puntuación de confianza
  • Porcentaje de veracidad
  • Evidencia a favor y en contra
  • Recomendaciones

get_trending_topics

Recupera los temas de noticias de tendencia actuales.

Parámetros:

  • location (string, opcional): "international", "local" o "india" (por defecto: "international")

Devuelve:

  • Lista de temas de tendencia con títulos, fuentes y URLs

Configuración

Variables de entorno

  • GEMINI_API_KEY: Clave de API de Google Gemini requerida
  • NEWS_API_KEY: Clave de NewsAPI opcional para búsqueda mejorada
  • SEARCH_API_KEY: Clave de API de búsqueda adicional opcional

Claves de API

  1. Google Gemini: Obtén tu clave de API en Google AI Studio
  2. NewsAPI (opcional): Obténla en NewsAPI
  3. Search API (opcional): Clave de API de servicio de búsqueda adicional

Desarrollo

Estructura del proyecto

FactChecker/
├── src/
│   └── factchck/
│       └── news_factcheck.py  # Main MCP server
├── requirements.txt           # Python dependencies
├── pyproject.toml           # Project configuration
└── README.md               # This file

Compilación

# Install in development mode
pip install -e .

# Run tests (if available)
python -m pytest

Integración con MCP

Este servidor es compatible con:

  • Claude Desktop
  • MCP CLI
  • Cualquier cliente compatible con MCP

Configuración del servidor

{
    "mcpServers": {
        "news-factcheck": {
            "command": "python",
            "args": ["-m", "factchck.news_factcheck"],
            "env": {
                "GEMINI_API_KEY": "your_api_key_here"
            }
        }
    }
}

Manejo de errores

El servidor incluye manejo integral de errores para:

  • Claves de API faltantes
  • Problemas de conectividad de red
  • Validación de entrada inválida
  • Indisponibilidad del servicio

Limitaciones

  • Requiere conexión a internet para la búsqueda web
  • Depende de la disponibilidad de la API de Google Gemini
  • El análisis de fuentes RSS es simplificado (considera usar un analizador XML adecuado para producción)
  • Pueden aplicarse límites de tasa a los servicios de API

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Agrega pruebas si corresponde
  5. Envía un pull request

Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles.

Historial de versiones

  • v3.0.0: Modernizado con las últimas convenciones de MCP, código simplificado
  • v2.1.0: Versión anterior con búsqueda multi-fuente compleja
  • v0.1.0: Lanzamiento inicial

Soporte

Para problemas y preguntas:

  1. Revisa los registros de errores
  2. Verifica la configuración de la clave de API
  3. Asegura la conectividad de red
  4. Abre un issue en GitHub