Anomalia
A Anomalia planeja, escreve e cria tudo — posts, artigos, alcance de leads. Você aprova com um toque; o resto entra no ar em todos os canais.
Documentação
Anomalia CLI — CLI de Automação de Mídias Sociais com IA, Servidor MCP e Agent Skill
Automatize suas mídias sociais a partir do terminal. Anomalia é o piloto automático de mídias sociais com IA que planeja, escreve, projeta e publica posts, artigos de blog e auditorias SEO/GEO no piloto automático. Este repositório é seu cliente de linha de comando, servidor MCP (Model Context Protocol — stdio + HTTP) e Agent Skill: tudo o que você precisa para executar automação de mídias sociais, geração de conteúdo e fluxos de aprovação a partir de um terminal ou de um agente de IA.
Este repositório oferece três maneiras de usar o mesmo produto (mesmo OAuth, mesma API, sem tokens estáticos):
| O quê | Para quem | |
|---|---|---|
| CLI | anomalia comandos de terminal | Humanos e scripts |
| MCP | Servidor Model Context Protocol (stdio + HTTP) | Cursor, Claude, outros hosts MCP |
| Skill | Agent Skill (skills/anomalia/) | Agentes de codificação / skills.sh / npx skills |
Você precisa de uma conta Anomalia. Este é um cliente, não uma ferramenta independente: cada chamada fala com a API da Anomalia via HTTPS. Sem uma conta, não há nada para operar.
Com a CLI Anomalia, você pode automatizar postagens em mídias sociais, aprovar conteúdo gerado por IA com um toque, editar um carrossel slide a slide, transformar um post em vídeo, executar auditorias SEO e GEO e gerenciar seu blog — a partir do terminal ou de um agente de IA como Cursor ou Claude.
┌─────────────┐ ┌─────────────┐ ┌──────────────────┐
│ anomalia │ │ MCP host │ │ Agent + Skill │
│ CLI │ │ (Cursor…) │ │ (npx skills) │
└──────┬──────┘ └──────┬──────┘ └────────┬─────────┘
│ │ │
│ lib/api.ts + OAuth session │
└─────────────────┼───────────────────┘
▼
Anomalia /api/v1/*
1. CLI
Instalação
Escolha um:
| Método | Comando | Observações |
|---|---|---|
| npm | npm install -g anomalia-cli | Requer Node.js ≥ 20 |
| Homebrew | veja abaixo | macOS / Linux, binário autônomo |
| Instalador | veja abaixo | script curl → binário no PATH |
| A partir do código-fonte | veja abaixo | Requer Bun |
npm
npm install -g anomalia-cli
# or: pnpm add -g anomalia-cli / bun add -g anomalia-cli
anomalia login
Homebrew
brew tap andreabuttarelli/anomalia-cli https://github.com/andreabuttarelli/anomalia-cli
brew install anomalia
anomalia login
Instalador (binário autônomo) — macOS arm64/x64 e Linux arm64/x64, sem necessidade de Node/Bun:
curl -sSL https://raw.githubusercontent.com/andreabuttarelli/anomalia-cli/main/scripts/install.sh | bash
anomalia login
Atualize depois com anomalia update, ou npm install -g anomalia-cli@latest / brew upgrade anomalia dependendo de como você instalou. Mais detalhes: docs/distribute.md.
Início rápido
anomalia brands
anomalia dashboard my-brand
anomalia content my-brand --status pending_user
anomalia approve my-brand --all
anomalia seo my-brand
anomalia web my-brand generate --topic "..."
anomalia ads my-brand --remix
anomalia ai my-brand --message "..." --pipe
Cada comando recebe o slug da marca como primeiro argumento. anomalia --help lista todos; anomalia <command> --help detalha um. Prefixos curtos de id das tabelas são aceitos; prefixos ambíguos geram erro em vez de adivinhar.
| Área | Comandos |
|---|---|
| Posts | content, approve, post <id> [show|edit|regenerate|slide|reorder|video|publish] |
| Planejamento | plan, weekly-plan, calendar, gtm |
| Marca | studio, voice, people, products |
| Web | seo, geo, keywords, web |
| Anúncios | ads — campanhas, gastos, propostas de boost, remix, duplicar/excluir (--sync, --propose, --remix, --create, --approve, --pause, --resume, --duplicate, --delete, --reject, --ad por criativo individual) |
| Insight | dashboard, status, analytics |
| IA | ai --message "..." — linguagem natural, acesso total de leitura/escrita |
Despejo completo de comandos: llms.txt · mais documentação: docs/
A partir do código-fonte
Requer Bun.
git clone https://github.com/andreabuttarelli/anomalia-cli.git
cd anomalia-cli
bun install
bun run cli.ts --help
2. Servidor MCP
Mesmas ferramentas e OAuth da CLI. Documentação: docs/mcp.md.
bun run mcp # stdio (local hosts)
bun run mcp:http # http://localhost:8787/mcp
Remoto: https://mcp.anomalia.so/mcp (Bearer JWT obrigatório). Saúde: GET /health.
Cursor — stdio
{
"mcpServers": {
"anomalia": {
"command": "bun",
"args": ["run", "/ABS/PATH/to/anomalia-cli/mcp/stdio.ts"]
}
}
}
Cursor — HTTP
{
"mcpServers": {
"anomalia": { "url": "https://mcp.anomalia.so/mcp" }
}
}
Se o Connect falhar com Not an https or loopback URI: cursor://…, sua versão do Cursor ainda está usando o callback OAuth de esquema personalizado — use stdio acima, atualize o Cursor (loopback http://localhost:8787/callback) ou veja docs/mcp.md.
- stdio local: ferramenta
loginouanomalia loginexistente →~/.config/anomalia/session.json - HTTP remoto:
Authorization: Bearer <access_token>(401 sem isso é esperado)
3. Agent Skill e plugins
Agent Skill publicável para Cursor, Claude, skills.sh e outros:
npx skills add andreabuttarelli/anomalia-cli --skill anomalia
# or
bash scripts/install-skill.sh --project
Pacote: skills/anomalia/ → plugins/anomalia/skills/anomalia/ (SKILL.md + references/ para configuração do MCP, mapa de ferramentas, CLI).
Quando a skill está ativa, os agentes preferem ferramentas MCP se conectadas, caso contrário, a CLI.
Plugin de marketplace Claude Code / Codex
Mesma skill + MCP remoto, empacotado para instalação de plugin e envio de diretório:
# Claude Code
/plugin marketplace add andreabuttarelli/anomalia-cli
/plugin install anomalia@anomalia
# Codex
codex plugin marketplace add andreabuttarelli/anomalia-cli
Checklist de envio (diretório da comunidade Claude + Diretório de Plugins da OpenAI): docs/plugins.md.
Configuração
Zero configuração por padrão → https://anomalia.so, com fallback automático para http://localhost:5173 quando um aplicativo local está respondendo.
| Variável | Finalidade |
|---|---|
PUBLIC_APP_URL | Aponte CLI/MCP para outra instância Anomalia |
SENTRY_DSN | (MCP HTTP / Vercel) Erros → Sentry |
SUPABASE_SERVICE_ROLE_KEY | (MCP HTTP / Vercel) Linhas em mcp_logs |
MCP_PUBLIC_URL | URL base pública do MCP para metadados OAuth |
Sessão: ~/.config/anomalia/session.json. anomalia logout a limpa. Nenhum segredo está embutido neste repositório ou no binário.
Arquitetura
Cliente HTTPS leve — sem acesso a banco de dados, sem acoplamento ao código do servidor Anomalia:
CLI ──┐
MCP ──┼── HTTPS ──► /api/v1/* ──► Anomalia
Skill ─┘ (guides agents to CLI or MCP)
- Comandos CLI:
commands/+cli.ts - Cliente HTTP: apenas
lib/api.ts - MCP:
mcp/(reutilizalib/api.ts, registra ferramentas) - Skill / plugins:
skills/anomalia/→plugins/anomalia/(manifestos de marketplace Claude + Codex)
Desenvolvimento
bun install
bun run cli.ts --help
bun run mcp
bun run mcp:http
bun run typecheck
bun test
bun run build # binary → dist/
bun run build:all # all four targets
bun run vercel-build # MCP bundles under mcp/api/
Releases: envie uma tag v* → CI verifica tipos, testa, compila binários + .tar.gz + SHA256SUMS.txt no GitHub Release, incrementa Formula/anomalia.rb e publica anomalia-cli no npm quando NPM_TOKEN estiver definido. Detalhes: docs/distribute.md.
Licença
Copyright © 2026 Andrea Buttarelli.
Licenciado sob a GNU Affero General Public License v3.0 ou posterior. Você pode usar, modificar e redistribuir, mas trabalhos derivados devem permanecer open source sob a mesma licença, devem manter o aviso de copyright e devem declarar suas alterações — inclusive quando oferecidos a usuários pela rede.