capx café
Publique e agende no X a partir do seu agente de codificação — o token do X permanece em um cofre no servidor e cada publicação passa por uma salvaguarda determinística no servidor, então o agente nunca detém a credencial.
Documentação
capx café
A forma segura de deixar sua IA gerenciar seu X.
Um servidor MCP. Seu token do X nunca toca o agente — e cada postagem passa por uma proteção obrigatória antes de ser publicada.
A proteção, ao vivo — cada veredito acima é produzido pelo código real do ponto de controle (pnpm demo o reproduz).
capx café é um publicador de X nativo para agentes que se instala como um único servidor MCP em qualquer agente de codificação (Claude Code / Cursor / Codex / Windsurf). Um usuário na lista de permissões conecta sua conta do X uma vez; depois disso, ele cria / agenda / publica de dentro da sessão do agente. Todo o produto se apoia em uma tese de segurança: o token do X, a proteção (casserole) e o envio são uma unidade inseparável do lado do servidor — o agente no seu laptop só detém um identificador de sessão de curta duração, nunca o token. É por isso que ele estruturalmente não pode ser induzido por prompt a publicar golpes. "A IA escreve; o casserole decide o que vai ao ar."
Por que é diferente
Toda outra ferramenta de "deixe sua IA publicar" tem o mesmo defeito: para permitir que um agente publique, você cola seu token do X em uma configuração em texto puro ao lado de um agente autônomo que lê páginas da web, issues e código não confiáveis. Uma única injeção de prompt e sua conta publica um golpe. capx café é a única que estruturalmente não pode ser.
- 🔒 Seu token do X nunca toca sua máquina. O OAuth é concluído no callback hospedado do capx café; o token fica criptografado em um cofre no servidor. Seu agente só detém um identificador de sessão de curta duração e revogável.
- 🛡️ casserole — uma proteção determinística (sem IA) de seis camadas — roda no servidor, na única porta de entrada para o X e verifica toda postagem. Uma postagem bloqueada nunca chega a descriptografar seu token (comprovado por uma suíte de testes adversarial).
- 🔗 O token, a proteção e o envio são uma unidade. Pule o plugin e chame o servidor diretamente — você ainda passa pela proteção. As verificações do cliente são cosméticas; as do servidor são estruturais.
- ✍️ capx não gera nada. O modelo do seu agente escreve; capx publica o que passa pela proteção.
→ Modelo de ameaça completo, arquitetura e a tabela "o que podemos/não podemos ver": docs/SECURITY.md
Como funciona
flowchart LR
subgraph M["🖥️ your machine · untrusted"]
A["agent model<br/>writes the draft"]
S["capx skills"]
C["capx MCP client<br/>holds a session handle · NO token"]
end
subgraph K["🔒 capx chokepoint · hosted · AGPL-3.0"]
AD["admission<br/>allowlist · kill-switch"]
CAS["casserole<br/>6-layer guardrail"]
V["vault<br/>the token lives here"]
XA["x-adapter<br/>the only egress"]
end
X["🐦 X · /2/tweets"]
A --> C
S --> C
C -->|"short-TTL handle<br/>crosses — never the token"| AD
AD --> CAS
CAS -->|PASS| V --> XA --> X
CAS -.->|blocked / held| C
O token, a proteção e o envio ficam juntos atrás de um limite de confiança; seu agente só pode pedir.
A proteção: casserole
Seis camadas determinísticas em cada postagem. O pior resultado vence — passar / reescrever / segurar / bloquear — e uma postagem bloqueada nunca chega a descriptografar o token.
flowchart TD
D["draft"] --> AD{"admitted?<br/>allowlisted · not killed"}
AD -->|no| R["rejected"]
AD -->|yes| CAS["casserole<br/>L1 eligibility · L2 rate · L3 anti-slop<br/>L4 authenticity · L5 kill-switch · L6 audit"]
CAS --> VER{"verdict"}
VER -->|block| B["blocked — never sent<br/>🔒 token never decrypted"]
VER -->|hold| H["held for your review"]
VER -->|rewrite| RW["ask the agent to fix"]
VER -->|pass| SEND["vault → x-adapter → X ✅"]
Início rápido em 60 segundos
npx -y capx-cafe # runs the MCP server — add it to your agent's MCP config
Depois, dentro do seu agente:
"connect my X account" → opens a browser once; the token stays on the server
"post: shipping the thing today" → clears casserole, or tells you exactly why not
"turn my last week of commits into a build-in-public thread" → drafts + queues it
Defina CAPX_EMAIL (seu e-mail na lista de permissões) e, para o caminho BYO, X_CLIENT_ID (seu próprio app do X) em
~/.capx/config.json ou no ambiente MCP do seu agente. Uma página de configuração guiada fornece a URL de callback exata para colar.
Matriz de instalação
| Agente | Como |
|---|---|
| Claude Code | /plugin marketplace add vb-tyagi/capx-cafe → /plugin install capx-cafe (MCP + comandos de barra + skills) |
| Cursor | adicione em .cursor/mcp.json; regras de skill em plugins/capx-cafe/adapters/cursor/ |
| Codex | adicione à sua configuração MCP; pacote de prompt em plugins/capx-cafe/adapters/codex/ |
| Windsurf | adicione à configuração MCP; fluxos de trabalho em plugins/capx-cafe/adapters/windsurf/ |
| Qualquer agente MCP | aponte para npx -y capx-cafe |
| Docker Desktop | docker mcp catalog pull ghcr.io/vb-tyagi/capx-catalog:latest → MCP Toolkit → habilite capx café |
O que seu agente pode fazer
| Ferramenta | O que faz |
|---|---|
connect_x | OAuth em navegador único — o token vai para o cofre do servidor, nunca para sua máquina |
post_now | Publicar agora (passa pelo casserole primeiro). Suporta threads de resposta e mídia |
preview | Teste seco de um rascunho pela proteção sem enviar — passar / segurar / bloquear + motivo |
audit | O registro durável do que capx publicou ou tentou em seu nome, e seu estado |
create_loop · list_loops · … | Publicação agendada — uma fila que você escreveu, enviada em um cronograma, com laptop desligado |
upload_media | Transmitir uma imagem/vídeo local para o X e anexá-lo (mídia que você criou com suas próprias ferramentas) |
whoami | A conta conectada + seu status |
Skills — seu trabalho vira seu conteúdo
capx vive dentro de um agente de codificação, então tem o que nenhum agendador social tem: seu repositório, commits, PRs, releases. As skills transformam isso em postagens — automaticamente, e sempre passando pela proteção.
flowchart LR
G["git commits"] --> BIP["build-in-public<br/>drafts a week of posts"]
BIP --> Q["loop queue"]
Q -->|"1/day · laptop-off"| POST["posted to X"]
Q -.->|"runs low"| GAP["gap-alert"]
GAP -.->|"top up from new commits"| BIP
O motor de conteúdo que se reabastece: você codifica → commits se acumulam → o loop drena conforme publica → alerta de lacuna reabastece a partir dos commits novos. Seu trabalho normal é o pipeline.
- 🏆 build-in-public · ship-note · changelog-thread · repurpose (blog/README → thread) · launch-thread · til · fix-note
- voice-match (soe como você) · draft-review (verificação contra a proteção) · thread-builder · hook-rewrite
- best-time · cadence-planner · gap-alert · audit-trail · connection-health · quickstart · self-host-guide
- Diretores de mídia —
image-director,video-director,prompt-engine,model-guide: capx não roda modelos; ele orienta suas ferramentas de imagem/vídeo (higgsfield, fal, kling, …) e envia o resultado. O casserole protege sua legenda; você é dono da mídia.
Um SKILL.md canônico por skill, gerado para todos os quatro agentes. capx nunca escreve o conteúdo — ele torna
bom conteúdo fácil e impede conteúdo ruim, independentemente de qual skill o produziu.
Dois caminhos
- BYO — traga seu próprio app de desenvolvedor do X. Você é cliente do X e paga o X diretamente — desde fev/2026 isso significa pré-carregar créditos (sem nível gratuito do X para novos apps) a ~US$ 0,015/postagem, US$ 0,20 se a postagem contiver um link. Gratuito no lado do capx café; usuários pesados podem auto-hospedar a imagem idêntica.
- capx-app (caminho criador) — publique pelo app compartilhado do X do capx café, sem precisar de conta de desenvolvedor. Abrindo como
beta pago (lista de espera):
Short $5/Tall $15/Grande $35níveis mensais + pacotes de recarga, cotas aplicadas no servidor, no portão. Planilha completa + a matemática: docs/ECONOMICS.md · postura de política: docs/X-COMPLIANCE.md.
Auto-hospedagem
O ponto de controle é open source (AGPL-3.0). Rode a imagem idêntica com seu próprio app do X, chaves, banco de dados e
domínio — CAPX_DEPLOY_MODE=self-host, zero telemetria para capx. Veja a skill self-host-guide e
docs/HANDOFF.md.
Licenciamento
MIT para o cliente e tudo que ele inclui (apps/capx-mcp, core, config, platform-client) além de
skills e docs. AGPL-3.0 para a metade do servidor (o ponto de controle + casserole/captain/counter/canteen/
chef). Mapa completo: LICENSING.md.
Status
Alfa privado, somente lista de permissões. A primeira postagem real foi ao ar em 2026-07-19 — aprovada pela proteção, token nunca na máquina. Ainda não aberto para cadastros públicos.
Dev
Node ≥ 22.6 (TypeScript roda nativamente via --experimental-strip-types — sem etapa de build). pnpm run verify =
testes unitários em pacotes / serviços / apps + tsc. Contribuições aceitas sob o CLA do projeto.