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
CLIanomalia comandos de terminalHumanos e scripts
MCPServidor Model Context Protocol (stdio + HTTP)Cursor, Claude, outros hosts MCP
SkillAgent 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étodoComandoObservações
npmnpm install -g anomalia-cliRequer Node.js ≥ 20
Homebrewveja abaixomacOS / Linux, binário autônomo
Instaladorveja abaixoscript curl → binário no PATH
A partir do código-fonteveja abaixoRequer 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.

ÁreaComandos
Postscontent, approve, post <id> [show|edit|regenerate|slide|reorder|video|publish]
Planejamentoplan, weekly-plan, calendar, gtm
Marcastudio, voice, people, products
Webseo, geo, keywords, web
Anúnciosads — campanhas, gastos, propostas de boost, remix, duplicar/excluir (--sync, --propose, --remix, --create, --approve, --pause, --resume, --duplicate, --delete, --reject, --ad por criativo individual)
Insightdashboard, status, analytics
IAai --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 login ou anomalia login existente → ~/.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ávelFinalidade
PUBLIC_APP_URLAponte 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_URLURL 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/ (reutiliza lib/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.