Docs/MCP

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/*)
Sin tokens de API estáticos. La autenticación es siempre OAuth (login en el navegador o Bearer de tu sesión).

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.

  1. Instala Bun y clona el repo anomalia-cli (o instala el binario CLI para tener anomalia-mcp en el PATH).
  2. Autentícate una vez:
    anomalia login
    # or, after MCP is connected, call the login tool
  3. 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" }
      }
    }
  4. 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

  1. Confirma que el servidor está activo:
    curl -sS https://mcp.anomalia.so/health

    Espera un payload JSON de health con ok: true y mcp: "/mcp".

  2. Config MCP de Cursor:
    {
      "mcpServers": {
        "anomalia": {
          "url": "https://mcp.anomalia.so/mcp"
        }
      }
    }
  3. 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

ContextoCómo te autenticas
Stdio local / HTTP localTool login en el navegador o anomalia login → archivo de sesión
HTTP remotoOAuth 2.1 + PKCE, or Authorization: Bearer <access_token>
API key estáticaNo compatible

Metadata del recurso protegido: GET /.well-known/oauth-protected-resource.

Qué llamar primero

  1. list_brands — descubrir slugs de marca
  2. get_dashboard — resumen de la marca
  3. list_posts con status pending_user — cola de aprobación
  4. 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

ÁreaEjemplos
Authlogin, logout, whoami, list_brands
Postslist_posts, get_post, edit_post, approve_posts, regenerate_slide, make_video
Planesget_plan, propose_plan, plan_week, produce_week
Studioget_studio, add_note, research_competitors
Webget_seo, get_geo, generate_article, chat

Solución de problemas

SíntomaCausa probableSolución
401 en /mcpBearer ausente o inválido en remotoHaz login en local y pasa el access token, o usa stdio
Tools ausentesMCP no conectado en el hostRevisa el panel MCP de Cursor y reinicia el host
Auth funciona en CLI pero no en MCPMáquina distinta / sin archivo de sesiónEjecuta 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