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
- Clona el repositorio:
git clone <repository-url>
cd FactChecker
- Instala las dependencias:
pip install -r requirements.txt
- Configura tu clave de API:
export GEMINI_API_KEY="your_gemini_api_key_here"
- 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 requeridaNEWS_API_KEY: Clave de NewsAPI opcional para búsqueda mejoradaSEARCH_API_KEY: Clave de API de búsqueda adicional opcional
Claves de API
- Google Gemini: Obtén tu clave de API en Google AI Studio
- NewsAPI (opcional): Obténla en NewsAPI
- 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
- Haz un fork del repositorio
- Crea una rama de características
- Realiza tus cambios
- Agrega pruebas si corresponde
- 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:
- Revisa los registros de errores
- Verifica la configuración de la clave de API
- Asegura la conectividad de red
- Abre un issue en GitHub