Skip to main content
Glama
Rexpeto

venezuela-fakenews

by Rexpeto

Venezuela FakeNews — Portal de Verificación + Chatbot Sismo

Monorepo para combatir desinformación sobre Venezuela, enfocado en el sismo de junio 2026. Incluye un portal web de verificación de claims (Verdadero/Falso/Dudoso), un chatbot temático, y un servidor MCP para asistentes de IA.

Key Features

  • Portal de verificación — Ingresá un claim, obtené veredicto con nivel de confianza, explicación, patrones detectados y fuentes oficiales

  • Chatbot del sismo — Respondé preguntas sobre daños, víctimas, ayuda humanitaria y desinformación detectada

  • 6+ patrones de desinformación implementados y detectables (videos descontextualizados, contenido IA, usurpación de canales, falsos anuncios, operaciones YouTube, desinformación salarial)

  • Servidor MCP para que asistentes de IA consuman la misma base de conocimiento

  • Búsqueda Tavily opcional — consultas en tiempo real a fuentes confiables

  • Historial de verificaciones persistido en SQLite

Related MCP server: Comprehensive Earthquake Monitoring MCP Server

Tech Stack

Capa

Tecnología

Frontend

Astro o Next.js (decisión pendiente)

Backend

Hono + Bun

ORM

Drizzle

Base datos

SQLite

API

oRPC (type-safe)

Búsqueda

Tavily Search API

Validación

Zod

Monorepo

Bun workspaces

MCP Server

@modelcontextprotocol/sdk + TypeScript

Architecture

venezuela-fakenew/
├── apps/
│   ├── frontend/         ← Portal web (Astro o Next.js)
│   └── backend/          ← API Hono + oRPC + Drizzle
├── packages/
│   ├── core/             ← Lógica compartida (PATTERNS, verify, key facts)
│   └── mcp-server/       ← Servidor MCP para asistentes IA
└── docs/                 ← Notas e investigación

El backend expone procedures oRPC (verifyClaim, getPatterns, chat, searchSources, getKeyFacts) que consume el frontend y potencialmente el MCP.

Equipo

Nombre

Rol

Contacto

Michel Novellino

Frontend (Diseño)

michelnovellino.programador@gmail.com

Carlos Gallardo

Frontend

carlosdanielgallardoparra16@gmail.com

Stephan Calderín

Backend + Deployment

stephancalderin@gmail.com

Blure

Backend + BD

rpindv@gmail.com

José Alejandro Castro

Coordinación + MCP/Core

a.j.castro.b@gmail.com

Project Status

Fase 1 — Definición y Diseño (27 de junio 2026). Decisiones pendientes:

  • Stack frontend (Astro vs Next.js)

  • Integración LLM (Tavily + reglas vs LLM real)

  • Plataforma de deploy

  • Nombre del producto


Servidor MCP (packages/mcp-server)

El servidor MCP se ejecuta como subproceso del host (opencode, Claude Desktop, etc.) vía STDIO.

Prerequisites

  • Node.js 18+ (20+ recomendado)

  • (Opcional) API key de Tavily

Getting Started

bun install
bun run build
bun run inspect   # Probar con inspector MCP

Herramientas expuestas

Tool

Input

Output

get_fakenews_patterns

Ninguno

Lista de 6 patrones con ejemplos y detección

verify_claim

claim, context?

Análisis + patrones coincidentes + búsqueda web

search_official_sources

topic, max_results?

Fuentes confiables (USGS, IOM, Reuters, etc.)

generate_factcheck_report

topic

Reporte estructurado con datos del cuaderno

Configuración en OpenCode

{
  "mcpServers": {
    "venezuela-fakenews": {
      "command": "node",
      "args": ["<path>/packages/mcp-server/dist/index.js"]
    }
  }
}

Variables de entorno

Cada paquete trae su archivo de ejemplo — cópialo y rellená los valores.

Paquete

Archivo ejemplo

Copiar a

apps/backend

.dev.vars.example

.dev.vars (local) · wrangler secret put (prod)

apps/frontend

.env.example

.env

packages/mcp-server

.env.example

.env

Backend (apps/backend)

En local viven en .dev.vars; en producción se setean como secrets del Worker (bunx wrangler secret put <NOMBRE>). Nunca los pongas en [vars] de wrangler.toml — se escriben en texto plano y pisan el secret.

Variable

Requerida

Descripción

TURSO_DATABASE_URL

URL de la base libSQL/Turso (libsql://...).

TURSO_AUTH_TOKEN

Token de auth de Turso.

LLM_API_KEY

Key del LLM. Una sk-ant-… enruta al proveedor nativo de Anthropic; cualquier otra usa el endpoint OpenAI-compatible.

LLM_MODEL

No

Modelo a usar. Default: claude-haiku-4-5-20251001 (Anthropic) o gpt-4o-mini (OpenAI-compat).

LLM_BASE_URL

No

Base URL OpenAI-compatible (Groq, HuggingFace…). Omitir para Anthropic/OpenAI.

TAVILY_API_KEY

Key de Tavily para búsqueda en tiempo real.

CORS_ORIGIN

Sí (prod)

Orígenes exactos permitidos, separados por coma. Si esto y CORS_ORIGIN_PATTERN quedan vacíos, CORS abre a * (fail-open) — fijalo antes de producción.

CORS_ORIGIN_PATTERN

No

Regex anclado para orígenes dinámicos (p. ej. cualquier puerto de localhost en dev).

Frontend (apps/frontend)

Astro: solo las variables con prefijo PUBLIC_ llegan al cliente.

Variable

Requerida

Descripción

PUBLIC_API_URL

URL base del backend; el cliente le añade /rpc. Default: http://localhost:8787.

PUBLIC_MOCK_API

No

false usa el backend real; cualquier otro valor (o ausente) sirve datos mock.

MCP server (packages/mcp-server)

Variable

Requerida

Descripción

TAVILY_API_KEY

No

Sin ella, verify_claim y search_official_sources usan solo el conocimiento base (sin búsqueda web).

License

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/Rexpeto/Venezuela-fakenew'

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