[Docs](/fr/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

| 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

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

| 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](/fr/docs/agents) — installez le skill Anomalia pour que les agents sachent quand et comment utiliser MCP ou la CLI
-   [CLI](/fr/docs/cli) — commandes terminal quand MCP n'est pas disponible
-   [Référence API](/fr/docs/api) — endpoints REST appelés par MCP et CLI
-   [anomalia-cli](https://github.com/andreabuttarelli/anomalia-cli) — sources, carte des outils et notes de développement

[

← Précédent

CLI

](/fr/docs/cli)[

Suivant →

Agent skill

](/fr/docs/agents)

---
Source: https://www.anomalia.so/fr/docs/mcp
