# Démarrage rapide (/fr/docs/api-mcp/mcp/quickstart)



Pointez un client IA vers une seule URL, connectez-vous avec votre compte CentralCSP, et l'agent peut enregistrer des sites, déployer les en-têtes de reporting dans votre code, puis lire ce que les navigateurs remontent.

Il n'y a pas de clé API dans ce parcours. La connexion se fait en OAuth dans votre navigateur, il n'y a donc rien à créer, coller ou faire tourner.

```text
https://mcp.centralcsp.com
```

<Callout type="info" title="Avant de commencer">
  Il vous faut un compte CentralCSP sur un plan qui inclut les outils IA, et un client qui gère les serveurs MCP distants. **Paramètres > Outils IA** dans le dashboard génère toutes les commandes ci-dessous avec votre workspace déjà pré-rempli.
</Callout>

## 1. Ajouter le serveur [#1-ajouter-le-serveur]

<CodeBlockTabs defaultValue="Claude Code">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="Claude Code">
      Claude Code
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="Claude Desktop">
      Claude Desktop
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="Codex CLI">
      Codex CLI
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="Autres clients">
      Autres clients
    </CodeBlockTabsTrigger>
  </CodeBlockTabsList>

  <CodeBlockTab value="Claude Code">
    ```bash
    claude mcp add --transport http --client-id mcp centralcsp https://mcp.centralcsp.com --scope user
    ```
  </CodeBlockTab>

  <CodeBlockTab value="Claude Desktop">
    ```text
    Settings > Connectors > Add custom connector

    URL              https://mcp.centralcsp.com
    OAuth client ID  mcp
    Client secret    laissez vide
    ```
  </CodeBlockTab>

  <CodeBlockTab value="Codex CLI">
    ```toml  title="~/.codex/config.toml"
    [mcp_servers.centralcsp]
    url = "https://mcp.centralcsp.com"
    auth = "oauth"
    ```
  </CodeBlockTab>

  <CodeBlockTab value="Autres clients">
    ```json  title="mcp.json"
    {
      "mcpServers": {
        "centralcsp": {
          "type": "http",
          "url": "https://mcp.centralcsp.com"
        }
      }
    }
    ```
  </CodeBlockTab>
</CodeBlockTabs>

`--scope user` enregistre le serveur pour tous les projets que vous ouvrez. Omettez-le pour ne l'ajouter qu'au projet courant, ce qui écrit dans le `.mcp.json` de ce projet.

## 2. Se connecter [#2-se-connecter]

1. Lancez la connexion depuis votre client : `/mcp` puis **Authenticate** dans Claude Code, `codex mcp login centralcsp` dans Codex, **Connect** dans Claude Desktop.
2. Connectez-vous avec votre compte CentralCSP dans le navigateur qui s'ouvre.
3. Vérifiez que le serveur est connecté (`/mcp` à nouveau, ou `codex mcp list`).

Demandez à l'agent de lister vos workspaces comme première vérification. Cet appel, `list_workspaces`, est celui dont dépendent tous les autres outils.

## 3. Mettre en place le reporting avec un seul prompt [#3-mettre-en-place-le-reporting-avec-un-seul-prompt]

Collez ceci dans un agent de code avec votre projet ouvert. Il enregistre le site, écrit les en-têtes dans votre code et vérifie que les rapports arrivent. Remplacez le nom et l'id du workspace par les vôtres, que **Paramètres > Outils IA** pré-remplit pour vous sur sa copie de ce prompt.

```text title="Premier prompt"
Mets en place le reporting de sécurité navigateur pour ce projet avec CentralCSP,
en utilisant le serveur MCP centralcsp. Fais le travail toi-même, et ne
m'interromps que si tu ne peux vraiment pas trouver la réponse seul.

Travaille dans le workspace "<nom du workspace>" (id <id du workspace>).

1. Trouve l'URL publique de ce site dans le dépôt, dans les fichiers env, la
   configuration ou les manifestes de déploiement. Demande-moi uniquement si tu
   ne la trouves pas. Choisis un nom à partir du projet et dis-moi ce que tu as pris.
2. Crée le site avec le serveur MCP et récupère l'endpointUrl qu'il renvoie.
3. Trouve où ce projet définit les en-têtes de réponse HTTP, que ce soit un
   middleware, une configuration de serveur ou de framework, ou une règle de CDN
   ou de reverse proxy, et ajoute ces deux en-têtes toi-même, dans le style
   existant du fichier :
     Reporting-Endpoints: centralcsp="<endpointUrl>"
     Content-Security-Policy-Report-Only: default-src 'self'; report-to centralcsp
   Commence en Report-Only, pour ne rien casser sur le site, et remplace par le
   vrai endpointUrl.
4. Montre-moi le diff et explique-moi comment déployer. Ne commite rien.
5. Une fois que je confirme que c'est en ligne, vérifie que les rapports arrivent.
   S'il n'y en a aucun, récupère le site et regarde les en-têtes réellement
   servis, puis corrige-les.
6. Termine en résumant ce que les navigateurs remontent et ce que je dois
   corriger en premier.
```

Report-Only est tout l'intérêt de l'étape 3. Le navigateur envoie les rapports et ne bloque rien, vous voyez donc ce qu'une politique casserait avant qu'elle ne le casse. Voir [Report-Only](/fr/docs/web-security/policies/content-security-policy/report-only).

## 4. L'utiliser [#4-lutiliser]

Une fois le serveur connecté, demandez en langage naturel. L'agent résout les ids lui-même.

| Demande                                                            | Outils mobilisés                                   |
| ------------------------------------------------------------------ | -------------------------------------------------- |
| Qu'est-ce qui est bloqué sur notre site cette semaine              | `get_top_reports`                                  |
| Montre-moi les en-têtes CSP réellement vus par les navigateurs     | `list_csp_policies`                                |
| Sors la charge utile complète de cette violation `script-src-elem` | `list_raw_reports`                                 |
| Quels scripts de nos pages de paiement n'ont pas de justification  | `get_compliance_summary`, `list_inventory_scripts` |
| Rédige les justifications pour ceux qui sont revus                 | `justify_script`                                   |
| Sommes-nous proches du quota de rapports                           | `get_workspace_usage`, `get_website_usage`         |
| Les alertes de la semaine dernière ont-elles bien été délivrées    | `list_alert_deliveries`                            |

Deux habitudes améliorent les réponses. Nommez le site, pour que l'agent filtre au lieu de parcourir tous les sites du workspace. Précisez une période, car les outils prennent les 7 derniers jours par défaut et les rapports ne sont conservés que 90 jours.

Votre client liste tous les outils exposés par le serveur, demander à l'agent ce qu'il sait faire est donc la réponse à jour, plutôt qu'une liste figée ici.

## Ce qu'il ne fera pas [#ce-quil-ne-fera-pas]

<Callout type="warn" title="L'agent a vos permissions, ni plus ni moins">
  Chaque appel s'exécute en votre nom, avec vos rôles, votre plan et votre journal d'audit. Un admin du workspace qui connecte un client lui donne accès à tous les sites de ce workspace. Voir [Permissions et sécurité](/fr/docs/api-mcp/mcp/permissions).
</Callout>

Rien ne supprime. Aucun outil ne retire un site, un membre, une règle ou un rapport. Il n'existe pas non plus d'outil pour les membres, les accès, les paramètres de sécurité ou la facturation, un agent ne peut donc pas les atteindre, quel que soit le prompt.

Deux outils ont des effets en dehors de CentralCSP et méritent une confirmation avant exécution. `test_alert_channel` envoie une vraie notification que de vraies personnes voient, et `reconcile_script_inventory` déclenche une reconstruction de l'inventaire.

**Paramètres > Général > Désactiver les intégrations d'agents IA** coupe immédiatement tous les clients IA du workspace, sans toucher aux sessions du dashboard.

## Si la connexion échoue [#si-la-connexion-échoue]

| Symptôme                                           | Cause                                                                                |
| -------------------------------------------------- | ------------------------------------------------------------------------------------ |
| Le client ne propose jamais de se connecter        | L'URL contient un chemin. C'est l'origine seule                                      |
| Tous les appels renvoient 401 `insufficient_scope` | Le token n'a pas le scope `mcp`. Déconnectez-vous dans le client et reconnectez-vous |
| Tous les appels renvoient 403                      | Votre compte n'a pas le rôle, ou votre plan n'a pas la fonctionnalité                |
| Connecté, mais aucun outil n'apparaît              | Votre plan n'inclut pas les outils IA                                                |
| Cela s'est arrêté pour tout le monde d'un coup     | Le coupe-circuit du workspace est activé                                             |

Le détail de la configuration par client est dans [Connecter un client](/fr/docs/api-mcp/mcp/connect).

## Étapes suivantes [#étapes-suivantes]

* [Permissions et sécurité](/fr/docs/api-mcp/mcp/permissions)
* [API REST](/fr/docs/api-mcp/api)
