net.4bots/4bots

Um servi

Documentação

4bots

Um servidor MCP hospedado para agentes de briefing de IA. Se o seu agente já envia um e-mail diário para um humano, o 4bots adiciona dez canais de conteúdo curto — histórias, quebra-cabeças, piadas, casos de negócios, história — ao lado das seções pessoais que seu agente já escreve.

Por que existe

Criar um briefing diário para um humano envolve principalmente obter as partes que você não pode escrever pessoalmente — a piada, o trecho de história, o quebra-cabeça, o caso de negócios. O 4bots é a parte que cuida dessas partes. Seu agente continua no comando do e-mail, do tom e de tudo que envolve os dados reais do humano.

Início rápido

Claude Desktop / qualquer cliente MCP

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

HTTP direto

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"}
    }
  }'

Fluxo programático

  1. Inicialize a sessão, capture o cabeçalho Mcp-Session-Id.
  2. Chame start_subscription(human_email, channels, agent_email). Você recebe um session_token no valor de 100 chamadas de canal.
  3. Todos os dias, chame get_bundle(session_token). A resposta inclui um campo html. Coloque-o onde {4bots} está no seu modelo de e-mail.
  4. Quando low_balance for verdadeiro, solicite ao seu humano por meio do manage_url retornado.

Ferramentas

FerramentaFinalidade
list_channelsDescubra os dez canais ativos e os oito em votação
start_subscriptionProvisione um assinante instantaneamente. Retorna um token de teste gratuito de 100 chamadas.
get_bundleBloco de conteúdo de hoje para todos os canais assinados, pronto para incorporar
get_sessionCréditos restantes, canais, histórico de entrega, URL de gerenciamento
create_setup_linkFluxo opcional no navegador para o humano escolher os canais
get_templateModelo de e-mail HTML gratuito com texto de exemplo
voteDiga-nos qual canal proposto seu humano deseja em seguida
get_summaryPreços, privacidade, política de conteúdo

Canais ativos

SlugCanalO que é
human-badasseryHuman BadasseryPessoas extraordinárias que superaram probabilidades impossíveis
historyHistóriaUma história, ponto de virada ou quebra-cabeça de um passado fascinante
business-case-studiesEstudos de Caso de NegóciosUma decisão de empresa que os fez ou quebrou
china-watchChina WatchO que está acontecendo dentro da China hoje
investing-insightInsights de InvestimentoMercados, investimentos, negociação, liberdade financeira
wrongologyWrongologiaUma crença comum que não é verdadeira, e a história real
brain-butterBrain ButterUm quebra-cabeça ou paradoxo, com a resposta
little-known-factsFatos Pouco ConhecidosUm fato verdadeiro surpreendente por dia
chess-problemProblema de XadrezProblemas intermediários
jokesPiadasDuas curtas por dia

As especificações de formato dos canais estão em channels/.

Privacidade

O 4bots só vê: o endereço de e-mail do humano, quais canais ele assinou e quais dias foram entregues (para não repetirmos). Seu agente continua sendo a única coisa que toca o conteúdo do briefing ou os dados privados do humano. Nunca recebemos, armazenamos ou processamos o conteúdo de nenhum briefing.

Preços

As primeiras 100 chamadas de canal são gratuitas em cada nova assinatura. Depois disso, as recargas são rastreadas por sessão. Um assinante típico de 5 canais recebe vinte dias gratuitos antes que qualquer dinheiro mude de mãos. Os assinantes gerenciam sua própria conta por meio de uma URL de link mágico que emitimos ao humano no cadastro — seu agente nunca precisa lidar com cobrança.

Arquitetura

Cinco serviços em um único droplet Linux atrás do Caddy:

PortaServiçoFunção
8085mcp_server.pyFastMCP + Uvicorn. API voltada para agentes.
8083gate_server.pyAutenticação por cookie de sessão para páginas de canal legíveis por humanos.
8084checkout_server.pyProvisionamento de assinaturas, checkout Stripe, e-mails de convite para agentes.
8082feedback_server.pyColeta de feedback dos leitores.
weblog_report.pyRelatório de tráfego diário do log de acesso JSON do Caddy.

O estado vive em um pequeno banco de dados SQLite (contacts, events, visits) além de alguns arquivos JSON (sessions.json, setup_tokens.json, votes.json). O conteúdo vive como Markdown em arquivos simples renderizados para HTML no momento da compilação.

Este repositório inclui as partes voltadas para agentes (mcp_server.py, gate_server.py, weblog_report.py, db.py). Os caminhos de checkout, feedback e envio de e-mail não são publicados intencionalmente porque contêm chaves de integração para Resend e Stripe.

Arquivos de origem neste repositório

  • mcp_server.py — o servidor MCP. Oito ferramentas, baseado em FastMCP, executado como um processo uvicorn de longa duração na porta 8085.
  • gate_server.py — porta de autenticação de páginas humanas. Cookies de sessão + login por link mágico. O dia 1 de cada canal é publicamente ignorado.
  • weblog_report.py — relatório de tráfego diário que analisa o log de acesso JSON do Caddy. Executado por um timer systemd às 06:30 UTC.
  • db.py — wrapper SQLite.
  • server.json — os metadados do registro.
  • channels/ — especificações _FORMAT.md para cada canal ativo, para que você possa ver exatamente como é o conteúdo antes de assinar.

Relatando problemas

Envie um e-mail para david@dsiegel.com ou abra uma issue no GitHub.

Créditos

Construído por David Siegel e seu agente JSON. O 4bots é o primeiro site operado por um agente de IA. Se você cria agentes de briefing e o gargalo de conteúdo diário parece familiar, entre em contato.

Licença

MIT.