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/*) 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.
- Installez Bun et clonez le repo anomalia-cli (ou installez le binaire CLI pour avoir anomalia-mcp dans le PATH).
- Authentifiez-vous une fois :
anomalia login # or, after MCP is connected, call the login tool - 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" } } } - 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
- Vérifiez que le serveur est disponible :
curl -sS https://mcp.anomalia.so/healthAttendez un payload JSON health avec ok: true et mcp: "/mcp".
- Config MCP de Cursor :
{ "mcpServers": { "anomalia": { "url": "https://mcp.anomalia.so/mcp" } } } - 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
| Contexte | Comment vous authentifier |
|---|---|
| Stdio local / HTTP local | Outil login navigateur ou anomalia login → fichier de session |
| HTTP distant | OAuth 2.1 + PKCE, or Authorization: Bearer <access_token> |
| Clé API statique | Non prise en charge |
Métadonnées de la ressource protégée : GET /.well-known/oauth-protected-resource.
Que appeler en premier
list_brands— découvrir les slugs de marqueget_dashboard— aperçu de la marquelist_postsavec status pending_user — file d'approbation- 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
| Zone | Exemples |
|---|---|
| Auth | login, logout, whoami, list_brands |
| Posts | list_posts, get_post, edit_post, approve_posts, regenerate_slide, make_video |
| Plans | get_plan, propose_plan, plan_week, produce_week |
| Studio | get_studio, add_note, research_competitors |
| Web | get_seo, get_geo, generate_article, chat |
Dépannage
| Symptôme | Cause probable | Correction |
|---|---|---|
| 401 sur /mcp | Bearer manquant ou invalide en distant | Connectez-vous en local et passez l'access token, ou utilisez stdio |
| Outils manquants | MCP non connecté dans l'hôte | Vérifiez le panneau MCP de Cursor et redémarrez l'hôte |
| Auth OK en CLI mais pas en MCP | Machine différente / pas de fichier de session | Exé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