# Muse Code

Connectez Muse Code, l'agent de codage en terminal de Meta, à XMemo via OAuth avec une seule entrée mcpServers dans ~/.config/muse/settings.json.

- Canonical: https://docs.xmemo.dev/fr/docs/mcp/muse-code
- Locale: fr-FR
- Content-Locale: fr-FR
- Canonical-Content-Digest: c631844310ded8cc16c2cad894551ed2d09965b65311a9761a503f7d931352f8
- Edition-Digest: 2dad66a542d23f95d6e534ce48891fb241cee1da1594342f3c26fb6b84b16930
- Source-Revision: sha256:e4bb1025634b1d0521ab71134877bf1e2b23afe54bf4b03acb52c414a035e7f5

## Prérequis

Utilisez une installation de Muse Code qui lit les serveurs MCP depuis ~/.config/muse/settings.json. Muse Code se connecte à XMemo en tant que client OAuth : le fichier de configuration ne contient donc aucun jeton.

- Endpoint : https://xmemo.dev/mcp.
- Mode d'authentification : OAuth (PKCE via le navigateur) avec enregistrement dynamique des clients.
- Fichier de configuration : ~/.config/muse/settings.json. Il doit contenir "schema_version": 1.
- Portées accordées : memory:read, memory:write, knowledge:read et knowledge:write.
- Configuration automatisée : xmemo setup muse-code arrive prochainement avec la prochaine version de XMemo CLI. En attendant, utilisez la configuration manuelle ci-dessous.

## Ajouter XMemo à settings.json

Modifiez ~/.config/muse/settings.json depuis un terminal extérieur à Muse ; le bac à sable de Muse refuse les modifications de ce fichier effectuées dans une session Muse. Ajoutez une entrée xmemo sous la clé camelCase de premier niveau mcpServers. Aucun jeton ni en-tête Authorization ne doit figurer dans ce fichier.

```json
{"schema_version": 1, "mcpServers": {"xmemo": {"type": "streamable-http", "url": "https://xmemo.dev/mcp", "mode": "optional"}}}
```

## Ne conserver que mcpServers

La documentation web publique de Muse affiche encore une clé snake_case mcp_servers, qui est obsolète. Si settings.json contient à la fois mcpServers et mcp_servers, Muse ignore tous les serveurs MCP. Renommez un bloc mcp_servers existant en mcpServers et fusionnez-y ses entrées, afin que le fichier ne conserve que mcpServers.

## Se connecter avec OAuth

Exécutez la commande de connexion pour le serveur xmemo et approuvez l'accès dans le navigateur. Sur une machine sans interface de navigateur, ajoutez --headless.

```bash
muse mcp login xmemo
# Without a browser UI:
muse mcp login xmemo --headless
```

## Redémarrer le client

Redémarrez Muse après la connexion afin qu'il charge le serveur xmemo avec la nouvelle autorisation OAuth.

## Vérifier les outils XMemo

Demandez à Muse de lister les outils XMemo sans en appeler aucun.

```bash
muse exec "List the names of the tools you have from the xmemo MCP server. Do not call any tools."
```

## Tester avec un appel de rappel (recall) réel

Effectuez le premier appel MCP en lecture seule. Il s'agit d'une véritable invocation de recall, et non d'un indicateur de contrôle d'état, et elle n'écrit aucune mémoire.

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

## Réponse attendue (format littéral)

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

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

## XMemo Skill

Muse analyse ~/.agents/skills, ~/.claude/skills et ~/.codex/skills : une XMemo Skill déjà installée pour Claude Code ou Codex fonctionne donc dans Muse sans modification.

## Erreurs fréquentes

Muse Code se connecte via OAuth ; la plupart des erreurs proviennent de la clé de configuration, de l'étape de connexion ou du bac à sable.

- Aucun outil xmemo n'est listé : settings.json contient à la fois mcpServers et mcp_servers, Muse a donc ignoré tous les serveurs MCP. Ne conservez que mcpServers.
- invalid_grant : l'autorisation est invalide, expirée ou déjà utilisée, ou la connexion sélectionnée n'est plus valide. Exécutez de nouveau muse mcp login xmemo, puis redémarrez Muse.
- 403 insufficient_scope : les portées approuvées ne couvrent pas l'appel. Reconnectez-vous et approuvez les portées memory et knowledge.
- Les modifications de settings.json sont refusées : la modification a été effectuée dans une session Muse. Modifiez le fichier depuis un terminal externe.

## Muse Code

OAuth client: add xmemo under mcpServers in ~/.config/muse/settings.json, then run muse mcp login xmemo and restart Muse. No token goes in the config. Keep only mcpServers: if mcp_servers is also present, Muse drops every MCP server.

```
{"schema_version": 1, "mcpServers": {"xmemo": {"type": "streamable-http", "url": "https://xmemo.dev/mcp", "mode": "optional"}}}
```
