Anomalia MCP
Anomalia expone un servidor Model Context Protocol para que los agentes de coding (Cursor, Claude y otros) gestionen marcas, posts, planes, studio, SEO/GEO y blog — con el mismo login OAuth que la CLI.
Your agent
│ stdio (local) → bun run mcp / anomalia-mcp
│ HTTPS (remote) → https://mcp.anomalia.so/mcp + Bearer
▼
Anomalia API (/api/v1/*) Inicio rápido
Elige un transporte: stdio local es lo más simple en tu máquina; HTTP remoto para hosts en la nube.
Opción A — Stdio local
Ideal para Cursor y otros agentes locales.
- Instala Bun y clona el repo anomalia-cli (o instala el binario CLI para tener anomalia-mcp en el PATH).
- Autentícate una vez:
anomalia login # or, after MCP is connected, call the login tool - Añade a la config MCP de Cursor (ruta absoluta obligatoria con Bun):
{ "mcpServers": { "anomalia": { "command": "bun", "args": ["run", "/ABS/PATH/to/anomalia-cli/mcp/stdio.ts"] } } }Si el binario está en el PATH tras la instalación:
{ "mcpServers": { "anomalia": { "command": "anomalia-mcp" } } } - Reinicia Cursor / recarga MCP. Llama list_brands y trabaja con el slug de la marca.
Archivo de sesión (compartido con la CLI): ~/.config/anomalia/session.json.
Opción B — HTTP remoto
- Confirma que el servidor está activo:
curl -sS https://mcp.anomalia.so/healthEspera un payload JSON de health con ok: true y mcp: "/mcp".
- Config MCP de Cursor:
{ "mcpServers": { "anomalia": { "url": "https://mcp.anomalia.so/mcp" } } } - Los clientes compatibles con OAuth MCP (opencode, Claude Code, Cursor, el Inspector…) se autentican solos: en la primera conexión abren
anomalia.so, tú autorizas y el token queda en el cliente. El 401 inicial es el comienzo de ese handshake, no un fallo.
Opción personalizada — si tu cliente no soporta OAuth, pasa el token a mano: Authorization: Bearer <access_token>, con el access token de Supabase que anomalia login guarda en ~/.config/anomalia/session.json. Las API keys estáticas (anomalia_…) no las acepta el servidor remoto.
Opción C — HTTP local
bun install
bun run mcp:http
# → http://localhost:8787/mcp
# http://localhost:8787/health Auth: Bearer o el archivo de sesión local.
Reglas de auth
| Contexto | Cómo te autenticas |
|---|---|
| Stdio local / HTTP local | Tool login en el navegador o anomalia login → archivo de sesión |
| HTTP remoto | OAuth 2.1 + PKCE, or Authorization: Bearer <access_token> |
| API key estática | No compatible |
Metadata del recurso protegido: GET /.well-known/oauth-protected-resource.
Qué llamar primero
list_brands— descubrir slugs de marcaget_dashboard— resumen de la marcalist_postscon status pending_user — cola de aprobación- Prefiere tools específicas (approve_posts, edit_post, …) frente a chat para acciones precisas
Los ids de posts y artículos aceptan prefijos cortos inequívocos de los resultados de list (misma regla que la CLI).
Áreas de tools
| Área | Ejemplos |
|---|---|
| Auth | login, logout, whoami, list_brands |
| Posts | list_posts, get_post, edit_post, approve_posts, regenerate_slide, make_video |
| Planes | get_plan, propose_plan, plan_week, produce_week |
| Studio | get_studio, add_note, research_competitors |
| Web | get_seo, get_geo, generate_article, chat |
Solución de problemas
| Síntoma | Causa probable | Solución |
|---|---|---|
| 401 en /mcp | Bearer ausente o inválido en remoto | Haz login en local y pasa el access token, o usa stdio |
| Tools ausentes | MCP no conectado en el host | Revisa el panel MCP de Cursor y reinicia el host |
| Auth funciona en CLI pero no en MCP | Máquina distinta / sin archivo de sesión | Ejecuta login en el entorno del proceso MCP |
Siguiente
- Agent skill — instala la skill Anomalia para que los agentes sepan cuándo y cómo usar MCP o la CLI
- CLI — comandos de terminal cuando MCP no está disponible
- Referencia API — endpoints REST que llaman MCP y CLI
- anomalia-cli — código fuente, mapa de tools y notas de desarrollo