net.4bots/4bots

Un servicio para que los agentes de IA añadan contenido de calidad a su resumen diario para sus humanos.

Documentación

4bots

Un servidor MCP alojado para agentes de briefing con IA. Si tu agente ya envía un correo diario a un humano, 4bots añade diez canales de contenido breve — historias, acertijos, chistes, casos de negocio, historia — junto a las secciones personales que tu agente ya escribe.

Por qué existe

Crear un briefing diario para un humano consiste principalmente en conseguir las partes que no puedes escribir personalmente — el chiste, el fragmento de historia, el acertijo, el caso de negocio. 4bots es la parte que se encarga de esas partes. Tu agente sigue controlando el correo, el tono y todo lo que toca los datos reales del humano.

Inicio rápido

Claude Desktop / cualquier cliente MCP

{
  "mcpServers": {
    "4bots": {
      "url": "https://4bots.net/mcp"
    }
  }
}

HTTP directo

curl -X POST https://4bots.net/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": {"name": "your-agent", "version": "1.0"}
    }
  }'

Flujo programático

  1. Inicializa la sesión, captura el encabezado Mcp-Session-Id.
  2. Llama a start_subscription(human_email, channels, agent_email). Obtienes un session_token con valor de 100 llamadas a canales.
  3. Cada día, llama a get_bundle(session_token). La respuesta incluye un campo html. Colócalo donde {4bots} se encuentra en tu plantilla de correo.
  4. Cuando low_balance sea verdadero, solicita a tu humano mediante el manage_url devuelto.

Herramientas

HerramientaPropósito
list_channelsDescubre los diez canales activos y los ocho en votación
start_subscriptionAprovisiona un suscriptor al instante. Devuelve un token de prueba gratuita de 100 llamadas.
get_bundleBloque de contenido de hoy para todos los canales suscritos, listo para incrustar
get_sessionCréditos restantes, canales, historial de entregas, URL de gestión
create_setup_linkFlujo de navegador opcional para que el humano elija los canales él mismo
get_templatePlantilla de correo HTML gratuita con texto de muestra
voteDinos qué canal propuesto quiere tu humano a continuación
get_summaryPrecios, privacidad, política de contenido

Canales activos

SlugCanalQué es
human-badasseryHuman BadasseryPersonas extraordinarias que superaron probabilidades imposibles
historyHistoryUna historia, punto de inflexión o acertijo de un pasado fascinante
business-case-studiesBusiness Case StudiesUna decisión empresarial que los hizo o los quebró
china-watchChina WatchLo que está sucediendo dentro de China hoy
investing-insightInvesting InsightMercados, inversión, trading, libertad financiera
wrongologyWrongologyUna creencia común que no es cierta, y la historia real
brain-butterBrain ButterUn acertijo o paradoja, con la respuesta
little-known-factsLittle-Known FactsUn dato verdadero sorprendente por día
chess-problemChess ProblemProblemas de nivel intermedio
jokesJokesDos cortos al día

Las especificaciones de formato de los canales están en channels/.

Privacidad

4bots solo ve: la dirección de correo del humano, qué canales suscribió y qué días se han entregado (para no repetir). Tu agente sigue siendo lo único que toca el contenido del briefing o los datos privados del humano. Nunca recibimos, almacenamos ni procesamos el contenido de ningún briefing.

Precios

Las primeras 100 llamadas a canales son gratuitas con cada nueva suscripción. Después, las recargas se rastrean por sesión. Un suscriptor típico de 5 canales obtiene veinte días gratuitos antes de que intervenga dinero. Los suscriptores gestionan su propia cuenta mediante una URL de enlace mágico que emitimos al humano al registrarse — tu agente nunca tiene que manejar facturación.

Arquitectura

Cinco servicios en un solo droplet de Linux detrás de Caddy:

PuertoServicioRol
8085mcp_server.pyFastMCP + Uvicorn. API orientada al agente.
8083gate_server.pyAutenticación por cookie de sesión para páginas de canales legibles por humanos.
8084checkout_server.pyAprovisionamiento de suscripciones, checkout de Stripe, correos de invitación al agente.
8082feedback_server.pyRecopilación de comentarios de lectores.
weblog_report.pyInforme de tráfico diario desde el registro de acceso JSON de Caddy.

El estado vive en una pequeña base de datos SQLite (contacts, events, visits) más un puñado de archivos JSON (sessions.json, setup_tokens.json, votes.json). El contenido vive como Markdown de archivo plano renderizado a HTML en tiempo de compilación.

Este repositorio incluye las piezas orientadas al agente (mcp_server.py, gate_server.py, weblog_report.py, db.py). Las rutas de checkout, comentarios y envío de correos no se publican intencionalmente porque contienen claves de integración para Resend y Stripe.

Archivos fuente en este repositorio

  • mcp_server.py — el servidor MCP. Ocho herramientas, basado en FastMCP, se ejecuta como un proceso uvicorn de larga duración en el puerto 8085.
  • gate_server.py — puerta de autenticación de páginas humanas. Cookies de sesión + inicio de sesión con enlace mágico. El día 1 de cada canal está públicamente exento.
  • weblog_report.py — informe de tráfico diario que analiza el registro de acceso JSON de Caddy. Se ejecuta desde un temporizador systemd a las 06:30 UTC.
  • db.py — envoltorio de SQLite.
  • server.json — los metadatos del registro.
  • channels/ — especificaciones _FORMAT.md para cada canal activo, para que puedas ver exactamente cómo se ve el contenido antes de suscribirte.

Reportar problemas

Envía un correo a david@dsiegel.com o abre un issue en GitHub.

Créditos

Creado por David Siegel y su agente JSON. 4bots es el primer sitio web operado por un agente de IA. Si construyes agentes de briefing y el cuello de botella del contenido diario te resulta familiar, ponte en contacto.

Licencia

MIT.