Docs/MCP

Anomalia MCP

Anomalia expose un serveur Model Context Protocol pour que les agents de coding (Cursor, Claude et autres) gèrent marques, posts, plans, studio, SEO/GEO et blog — avec le même 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/*)
Pas de tokens API statiques. L'authentification est toujours OAuth (login navigateur ou Bearer depuis votre session).

Démarrage rapide

Choisissez un transport : stdio local est le plus simple sur votre machine ; HTTP distant pour les hôtes cloud.

Option A — Stdio local

Idéal pour Cursor et les autres agents locaux.

  1. Installez Bun et clonez le repo anomalia-cli (ou installez le binaire CLI pour avoir anomalia-mcp dans le PATH).
  2. Authentifiez-vous une fois :
    anomalia login
    # or, after MCP is connected, call the login tool
  3. Ajoutez à la config MCP de Cursor (chemin absolu requis avec Bun) :
    {
      "mcpServers": {
        "anomalia": {
          "command": "bun",
          "args": ["run", "/ABS/PATH/to/anomalia-cli/mcp/stdio.ts"]
        }
      }
    }

    Si le binaire est dans le PATH après l'installation :

    {
      "mcpServers": {
        "anomalia": { "command": "anomalia-mcp" }
      }
    }
  4. Redémarrez Cursor / rechargez MCP. Appelez list_brands, puis travaillez avec le slug de marque.

Fichier de session (partagé avec la CLI) : ~/.config/anomalia/session.json.

Option B — HTTP distant

  1. Vérifiez que le serveur est disponible :
    curl -sS https://mcp.anomalia.so/health

    Attendez un payload JSON health avec ok: true et mcp: "/mcp".

  2. Config MCP de Cursor :
    {
      "mcpServers": {
        "anomalia": {
          "url": "https://mcp.anomalia.so/mcp"
        }
      }
    }
  3. Les clients compatibles OAuth MCP (opencode, Claude Code, Cursor, l’Inspector…) s’authentifient seuls : à la première connexion ils ouvrent anomalia.so, vous autorisez, et le token reste dans le client. Le 401 initial marque le début de ce handshake, ce n’est pas une erreur.

Option personnalisée — si votre client ne gère pas OAuth, fournissez le token à la main : Authorization: Bearer <access_token>, avec l’access token Supabase que anomalia login enregistre dans ~/.config/anomalia/session.json. Les clés API statiques (anomalia_…) ne sont pas acceptées par le serveur distant.

Option C — HTTP local

bun install
bun run mcp:http
# → http://localhost:8787/mcp
#    http://localhost:8787/health

Auth : Bearer ou le fichier de session local.

Règles d'auth

ContexteComment vous authentifier
Stdio local / HTTP localOutil login navigateur ou anomalia login → fichier de session
HTTP distantOAuth 2.1 + PKCE, or Authorization: Bearer <access_token>
Clé API statiqueNon prise en charge

Métadonnées de la ressource protégée : GET /.well-known/oauth-protected-resource.

Que appeler en premier

  1. list_brands — découvrir les slugs de marque
  2. get_dashboard — aperçu de la marque
  3. list_posts avec status pending_user — file d'approbation
  4. Préférez des outils précis (approve_posts, edit_post, …) à chat pour des actions ciblées

Les ids de posts et d'articles acceptent des préfixes courts non ambigus issus des listes (même règle que la CLI).

Zones d'outils

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

Dépannage

SymptômeCause probableCorrection
401 sur /mcpBearer manquant ou invalide en distantConnectez-vous en local et passez l'access token, ou utilisez stdio
Outils manquantsMCP non connecté dans l'hôteVérifiez le panneau MCP de Cursor et redémarrez l'hôte
Auth OK en CLI mais pas en MCPMachine différente / pas de fichier de sessionExécutez login dans l'environnement du processus MCP

Suite

  • Agent skill — installez le skill Anomalia pour que les agents sachent quand et comment utiliser MCP ou la CLI
  • CLI — commandes terminal quand MCP n'est pas disponible
  • Référence API — endpoints REST appelés par MCP et CLI
  • anomalia-cli — sources, carte des outils et notes de développement