# Cursor

Connectez Cursor IDE via Browser OAuth comme chemin préféré, avec MCP direct comme alternative headless prise en charge.

- Canonical: https://docs.xmemo.dev/fr/docs/mcp/cursor
- Locale: fr-FR
- Content-Locale: fr-FR
- Canonical-Content-Digest: 7fd7191e1dc893d17ccc57d383768ec709f689feebde935e92cbec85252ab1df
- Edition-Digest: 5837c7614b807bf367e798cf594ffe6af2f30000a45256a433f8c61344858353
- Source-Revision: sha256:5900c57d4a9131e42571635160707dd33bcf4854c638661503d89ccec7e4bdeb

## Prérequis

Utilisez Cursor IDE avec Paramètres -> Fonctionnalités -> MCP ou la prise en charge du marketplace. Interface et prérequis :

- Interface concrète : Cursor IDE (~/.cursor/mcp.json ou Paramètres -> Fonctionnalités -> MCP).
- Point de terminaison : https://xmemo.dev/mcp.
- Mode d'authentification préféré : Browser OAuth.
- Mode d'authentification de secours : Jeton porteur direct pour les environnements headless et de conteneurs.
- Compte : Compte XMemo valide sur https://xmemo.dev.

## Installation / configuration

Ouvrez Cursor Paramètres -> Fonctionnalités -> MCP ou configurez ~/.cursor/mcp.json. Pour un fonctionnement headless, utilisez le bloc de configuration directe avec référence au jeton d'environnement au lieu du flux de navigateur :

- Chemin OAuth : Configurez uniquement l'URL hébergée et laissez la première utilisation déclencher le consentement du navigateur.
- Secours direct : Conservez le jeton dans XMEMO_KEY, jamais directement dans le fichier de paramètres.
- Ne mélangez pas la configuration d'URL OAuth avec un en-tête Authorization dans la même entrée.

## Définir l'identifiant

Le chemin OAuth ne nécessite aucune clé — complétez Browser OAuth dès la première invite. Pour le secours direct headless, définissez XMEMO_KEY dans l'environnement shell et ne collez jamais de valeurs de jeton dans les paramètres de Cursor :

```bash
# OAuth path: no XMEMO_KEY needed (browser prompt)
# Direct fallback:
export XMEMO_KEY='<your-xmemo-token>'
```

## Générer / confirmer XMEMO_AGENT_INSTANCE_ID

Les extraits de code révisés pour OAuth et directs de Cursor ne nécessitent aucun en-tête d'instance côté client. Si un wrapper headless fournit XMEMO_AGENT_INSTANCE_ID, générez-le une fois par profil local et réutilisez-le.

## Conserver le bloc de configuration existant

Chemin OAuth préféré : Utilisez la configuration révisée de Cursor avec URL uniquement dans ~/.cursor/mcp.json pour l'authentification OAuth basée sur le navigateur :

```json
{
  "mcpServers": {
    "xmemo": {
      "url": "https://xmemo.dev/mcp"
    }
  }
}
```

## Bloc de configuration de secours direct

Secours direct headless : Lors de l'exécution de Cursor dans des environnements headless ou non interactifs, configurez l'en-tête Authorization faisant référence à ${env:XMEMO_KEY} depuis votre environnement local :

```json
{
  "mcpServers": {
    "xmemo": {
      "url": "https://xmemo.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${env:XMEMO_KEY}"
      }
    }
  }
}
```

## Redémarrer le client

Redémarrez Cursor ou désactivez puis réactivez le serveur MCP dans Paramètres -> Fonctionnalités -> MCP après avoir modifié la configuration pour que les modifications prennent effet.

## Tester avec un véritable appel de rappel

Rendez le premier appel MCP en lecture seule. Il s'agit d'une véritable invocation de rappel, pas d'un espace réservé de vérification de santé, et il n'écrit pas dans la mémoire.

```text
recall({ query: "connection check", limit: 1 })
```

## Réponse attendue (forme littérale)

Un appel réussi renvoie la forme de texte classé public ci-dessous ; la référence et le contenu sont de véritables valeurs issues de l'espace mémoire autorisé.

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## Première tâche utile : Cycle de vie de mémoire synthétique

Exécutez la tâche complète de mémoire synthétique dans Cursor Composer ou en mode Agent :

- 1. Enregistrer un fait synthétique : Demandez à Cursor de mémoriser la convention ("Demo project timestamps use UTC.") dans "projects/demo-onboarding/conventions".
- 2. Transition sans état : Démarrez une nouvelle discussion Cursor Composer ou rouvrez l'espace de travail du projet.
- 3. Rappel avec attribution de source : Interrogez "demo project timestamp format". Confirmez Reference et Location renvoyés.
- 4. Corriger la mémoire : Appelez update_memory avec l'ID actif pour formater les horodatages en ISO 8601.
- 5. Nettoyage optionnel : Appelez forget avec l'ID de mémoire lorsque les tests d'intégration se terminent.

## Capacités et outils de profil

Cursor a accès aux outils qualifiés par profil définis dans le contrat de documentation MCP pour le profil cursor-plugin :

- Outils de mémoire principaux : remember, recall, update_memory, forget, read_memory, explain_memory, search_memory, recall_context, search_knowledge.
- Outils d'instantanés et de conflits : create_restart_snapshot, restore_restart_snapshot, list_memory_versions, list_memory_conflicts, resolve_memory_conflict.
- Outils de projet et de planification : get_mcp_identity, get_project_context, get_timeline, list_memory_todos, complete_memory_todo, create_memory_todo, update_project_decision, update_project_todo, update_state.
- Skills cloud et gouvernance : recall_cloud_skill, save_cloud_skill, propose_write, propose_todo_mutation, propose_profile_mutation, query_audit, record_event, memory_stats.

## Limites et frontières

Frontières opérationnelles et contraintes pour Cursor :

- Pureté de configuration : Ne mélangez pas la configuration d'URL uniquement OAuth avec un en-tête Authorization dans le même bloc de serveur.
- Limite de l'espace de travail : L'accès à la mémoire est strictement limité à l'espace de travail de l'utilisateur authentifié.
- Exigence de jeton headless : Le secours direct MCP nécessite la fourniture explicite d'un jeton d'environnement.

## Erreurs courantes

Cursor peut échouer soit sur son chemin OAuth, soit sur son secours direct headless :

- invalid_grant — Le code d'autorisation OAuth est invalide, expiré ou a déjà été utilisé : reconnectez Cursor et autorisez à nouveau.
- 401 invalid_token — Le jeton de secours direct est manquant, expiré ou invalide : vérifiez XMEMO_KEY dans l'environnement headless.
- 403 insufficient_scope — L'identifiant n'accorde pas memory:read : approuvez la portée requise ou émettez un jeton avec celle-ci.

## Mise à jour et suppression

Procédures de maintenance pour Cursor :

- Mise à jour : Désactivez puis réactivez le serveur dans les paramètres MCP de Cursor pour recharger les schémas.
- Suppression : Supprimez l'entrée xmemo de ~/.cursor/mcp.json ou supprimez-la des paramètres MCP de Cursor.

## Cursor

Direct client: configure in ~/.cursor/mcp.json with XMEMO_KEY in the environment. Run npx @xmemo/client mcp add cursor to install automatically.

```
{
  "mcpServers": {
    "XMemo": {
      "url": "https://xmemo.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${env:XMEMO_KEY}",
        "X-Memory-OS-Agent-ID": "cursor",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}
```
