# Le serveur MCP de Nodary

Nodary fait tourner un serveur MCP distant : un agent IA lit et écrit dans votre espace de travail comme le ferait un coéquipier, avec les mêmes documents, les mêmes droits, connecté en votre nom.

## En bref

- **Adresse**: https://nodary.ai/api/mcp
- **Transport**: Streamable HTTP (JSON-RPC via POST)
- **Connexion**: OAuth 2.1 avec enregistrement dynamique des clients et PKCE, ou une clé d’API
- **Accès**: Inclus dans toutes les offres ; en Free, dans les limites de l’offre
- **Découverte**: https://nodary.ai/.well-known/oauth-protected-resource/api/mcp · https://nodary.ai/.well-known/mcp.json

Claude Code: Lancez cette commande dans un terminal (ajoutez --scope user pour utiliser Nodary dans tous vos projets) :

```sh
claude mcp add --transport http nodary https://nodary.ai/api/mcp
```

## De quoi s’agit-il

Le Model Context Protocol (MCP) est le standard ouvert qu’utilisent les clients IA pour travailler avec des outils extérieurs. Le serveur de Nodary donne à un agent le même espace de travail que votre équipe : projets, documents et leurs liens, tableurs, images, tables de traduction, dialogues et boards.

Un agent ne reçoit pas de copie. Il lit ce qui existe à l’instant, écrit là où vous le lui demandez, et chaque résultat porte le lien qu’une personne peut ouvrir pour vérifier son travail.

## Connexion

La plupart des clients se connectent avec OAuth : donnez-leur l’adresse du serveur et ils ouvrent dans votre navigateur une page Nodary de connexion et de consentement. Nodary prend en charge OAuth 2.1 avec enregistrement dynamique des clients et PKCE : aucun identifiant client à créer, rien à copier. Les jetons d’accès durent une heure et le client les renouvelle.

Une seule connexion peut atteindre plusieurs espaces. Si vous êtes membre de plusieurs, la page de consentement les liste tous, cochés : l’application atteint alors les espaces que vous laissez cochés, et seulement ceux-là. « Ainsi que les espaces que je rejoindrai plus tard » reste désactivé tant que vous ne le cochez pas. Dans une telle connexion, chaque outil prend workspace (son identifiant, son slug ou son nom) : un appel qui modifie quelque chose doit le nommer, une lecture sans lui ne s’exécute que là où se trouvent ses identifiants, et chaque résultat commence par l’espace où il s’est exécuté. Une clé d’API reste liée à un seul espace.

Un client qui ne sait pas se connecter peut utiliser une clé d’API à la place : créez-en une dans votre profil, sous API keys & MCP (elle commence par gdc_), et envoyez-la dans l’en-tête Authorization: Bearer gdc_… Une clé peut être limitée à un seul projet.

## Qui peut l’utiliser

Le serveur MCP est inclus dans toutes les offres, Free, Pro, Studio et Enterprise, pour chaque membre et sans supplément.

En Free, un agent lit et écrit comme dans une offre payante tant que l’espace reste dans les limites de l’offre : 1 projet, 10 documents et dossiers, et 2 membres. Une écriture qui dépasserait une limite est refusée avec la limite atteinte et la façon de la lever : tant que l’espace peut encore avoir son essai, le lien vers le tableau de bord, où le propriétaire ou un administrateur démarre l’essai de Studio de 14 jours (MCP compris, sans carte) ; sinon, le lien vers la page des tarifs.

Un espace au-delà de l’offre Free après son essai, sans abonnement, est bloqué jusqu’à l’abonnement : les agents y sont coupés, lecture comprise. Une connexion à ce seul espace reçoit quota_locked à chaque requête, avec ce qui dépasse et où le propriétaire s’abonne ; une connexion à plusieurs espaces ne reçoit quota_locked (ou billing_locked après un paiement échoué) que sur les appels vers l’espace bloqué, sous forme d’erreur d’outil, et continue de fonctionner dans les autres.

- [Tarifs](https://nodary.ai/fr/pricing)

## Ce qu’un agent peut faire

92 outils, regroupés ici par tâche. Chacun indique au client s’il se contente de lire et si une écriture peut écraser quelque chose, pour que le client puisse vous demander votre accord avant d’agir.

### Trouver et lire

Projets, documents avec leurs liens et leur historique, commentaires, notes de connaissance, vues enregistrées et briefs de contexte. Les résultats portent des liens que chacun peut ouvrir.

`list_games`, `list_stars`, `search_documents`, `get_document`, `get_star`, `get_tree`, `list_templates`, `list_members`, `list_project_knowledge`, `get_project_knowledge`, `list_comments`, `get_canon`, `list_versions`, `get_version`, `diff_versions`, `list_deleted_stars`, `list_context_briefs`, `get_context_brief`, `list_saved_views`, `get_saved_view`, `list_favorites`, `get_workspace_usage`, `list_properties`, `get_file_url`, `describe_blocks`, `run_view`, `list_workspaces`

### Écrire et organiser

Créer et modifier des documents bloc par bloc, les ranger dans des dossiers, les relier, les étiqueter, les commenter, renseigner des propriétés et trancher les contradictions. Un document supprimé peut être restauré.

`create_game`, `update_game`, `rename_workspace`, `create_starter_constellation`, `create_from_template`, `create_star`, `create_stars`, `write_document`, `append_document`, `edit_document`, `update_star`, `update_stars`, `delete_star`, `restore_star`, `create_cluster`, `move_to_cluster`, `link_stars`, `unlink_stars`, `set_tags`, `save_project_knowledge`, `add_comment`, `add_comments`, `resolve_comment`, `list_contradictions`, `report_contradiction`, `resolve_contradiction`, `save_context_brief`, `save_saved_view`, `set_favorite`, `define_properties`, `set_properties`, `restore_version`, `edit_comment`, `delete_comment`, `delete_project_knowledge`, `remove_context_brief`, `remove_saved_view`, `open_daily_note`

### Revue artistique et images

Importer des images, les examiner avec les annotations dessinées dessus, décider, annoter et étiqueter les livrables (chaque décision signée de son auteur et de son heure), transformer un moodboard en palette et y confronter une image, et préparer la feuille de retours d’un prestataire.

`add_image`, `start_upload`, `add_media`, `get_image`, `get_moodboard`, `render_board`, `edit_board`, `find_pictures`, `update_pictures`, `get_art_review`, `extract_palette`, `check_palette`, `feedback_sheet`, `restore_image_version`, `set_image_origin`

### Tableurs et équilibrage

Lire un tableur en valeurs calculées avec la formule derrière chaque cellule, écrire des cellules par adresse ou par ligne, et lire une table de butin pour ce qu’elle signifie pour les joueurs.

`get_sheet`, `set_cells`, `analyze_drops`

### Localisation et dialogues

Voir l’avancement de chaque langue dans une table de traduction, écrire des traductions par clé, et vérifier un dialogue à embranchements, qui s’exporte en script Yarn Spinner.

`get_localization`, `set_translations`, `check_dialogue`

### Production

Fixer des échéances, demander et rendre des relectures, voir ce qui a changé récemment et si le jalon sera tenu.

`get_progress`, `recent_changes`, `set_due_date`, `set_due_dates`, `request_review`, `submit_review`

## Prompts et ressources

Des requêtes toutes prêtes qu’un client peut proposer sous forme de commandes :

- weekly-summary: Ce qui a changé cette semaine dans l’espace de travail ou dans un projet : ce qui a été écrit, décidé, relu, et ce qui reste ouvert.
- art-review: Où en est la revue artistique : les images en attente de décision, celles qui s’écartent de la palette, et ce qu’il faut décider ensuite.
- playtest-to-tasks: Transforme des notes de playtest en tâches, chacune liée au document de conception qu’elle concerne.
- balance-review: Lit une table de butin ou une courbe de progression et dit ce qu’elle signifie pour les joueurs et ce qui semble clocher.

Des ressources qu’un client peut joindre sans appel d’outil :

- nodary://star/{id}: un document, en Markdown
- nodary://project/{id}: le plan d’un projet

## Sécurité

- Un agent agit en tant que la personne qui l’a connecté : il ne voit et ne modifie que ce que cette personne peut voir et modifier, et une clé limitée à un projet reste dans ce projet.
- Dans une connexion à plusieurs espaces, rien ne se résout d’un espace à l’autre : identifiants et titres ne sont cherchés que dans l’espace nommé par l’appel, un identifiant d’un autre espace est refusé avant toute exécution, et chaque résultat nomme son espace.
- Les documents conservent leur historique des versions, et un document supprimé peut être restauré.
- Les outils d’écriture acceptent une clé d’idempotence : un appel relancé après une coupure de connexion renvoie le premier résultat au lieu d’écrire deux fois.
- Une connexion fait au plus 120 requêtes par minute ; l’écriture n’a pas de limite quotidienne.
- Les décisions de revue artistique sont signées du nom de la personne qui les a prises, avec l’heure.
- Nodary indique à chaque agent que le texte des documents et des commentaires est du contenu à travailler, pas des instructions à suivre. Ce que l’agent en fait dépend de l’agent.

## Connecter votre client

Utilisez l’adresse https://nodary.ai/api/mcp. Chaque client ci-dessous a été vérifié d’après sa propre documentation le 1er octobre 2026.

### Claude (claude.ai et Claude Desktop)

1. Ouvrez « Customize », puis « Connectors », et choisissez « Add custom connector ».
2. Saisissez https://nodary.ai/api/mcp. Quand Claude demande comment s’enregistrer, choisissez « Register automatically ».
3. Cliquez sur « Connect », connectez-vous à Nodary et approuvez l’accès.

Les connecteurs personnalisés sont disponibles avec les offres Free, Pro, Max, Team et Enterprise de Claude ; un compte Free peut en ajouter un. Sur Team et Enterprise, un propriétaire ajoute d’abord le connecteur pour l’organisation.

### ChatGPT

1. Dans « Settings », rubrique « Security and login », activez « Developer mode ».
2. Créez une app pour un serveur MCP distant, avec l’adresse https://nodary.ai/api/mcp et la connexion OAuth.
3. Connectez-vous à Nodary et approuvez l’accès. Les outils apparaissent ensuite dans le « Developer mode » de la zone de saisie.

Le « Developer mode » est disponible sur le web pour les comptes Plus, Pro, Business, Enterprise et Education ; sur Business et Enterprise, un administrateur peut devoir l’autoriser. ChatGPT se connecte uniquement avec OAuth, pas avec une clé d’API.

### Claude Code

1. Lancez cette commande dans un terminal (ajoutez --scope user pour utiliser Nodary dans tous vos projets) :

   ```
   claude mcp add --transport http nodary https://nodary.ai/api/mcp
   ```
2. Dans Claude Code, tapez /mcp, choisissez nodary et connectez-vous depuis le navigateur.

Avec une clé d’API à la place

```sh
claude mcp add --transport http nodary https://nodary.ai/api/mcp \
  --header "Authorization: Bearer gdc_..."
```

### Cursor

1. Ajoutez Nodary à ~/.cursor/mcp.json (tous les projets) ou à .cursor/mcp.json (un seul projet) :

   ```
   {
     "mcpServers": {
       "nodary": {
         "url": "https://nodary.ai/api/mcp"
       }
     }
   }
   ```
2. Cursor propose de vous connecter dès que le serveur le demande pour la première fois.

Avec une clé d’API à la place

```json
{
  "mcpServers": {
    "nodary": {
      "url": "https://nodary.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:NODARY_API_KEY}"
      }
    }
  }
}
```

### VS Code (GitHub Copilot)

1. Ajoutez Nodary à .vscode/mcp.json dans votre espace de travail, ou lancez la commande MCP: Add Server :

   ```
   {
     "servers": {
       "nodary": {
         "type": "http",
         "url": "https://nodary.ai/api/mcp"
       }
     }
   }
   ```
2. Démarrez le serveur ; VS Code ouvre la page de connexion de Nodary.

Avec Copilot Business et Enterprise, un administrateur doit d’abord autoriser les serveurs MCP.

Avec une clé d’API à la place

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "nodary-key",
      "description": "Nodary API key",
      "password": true
    }
  ],
  "servers": {
    "nodary": {
      "type": "http",
      "url": "https://nodary.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:nodary-key}"
      }
    }
  }
}
```

### Devin Desktop (anciennement Windsurf)

1. Ajoutez le serveur et connectez-vous depuis un terminal :

   ```
   devin mcp add -s user nodary https://nodary.ai/api/mcp
   devin mcp login nodary
   ```
2. Ou ajoutez-le à ~/.config/devin/mcp_config.json (sous Windows, %APPDATA%\devin\mcp_config.json) :

   ```
   {
     "mcpServers": {
       "nodary": {
         "url": "https://nodary.ai/api/mcp",
         "transport": "http"
       }
     }
   }
   ```

## Si quelque chose ne fonctionne pas

- Une première requête qui reçoit une réponse 401 avec une adresse resource_metadata est normale : elle indique au client où se connecter.
- Une requête refusée avec quota_locked signifie que l’espace dépasse l’offre Free après son essai et qu’il est bloqué jusqu’à l’abonnement : dès que le propriétaire s’abonne, l’agent fonctionne de nouveau. Dans une connexion à plusieurs espaces, seuls les appels vers cet espace sont refusés.
- Un appel refusé avec workspace_required (ou workspace_not_found) liste les espaces que la connexion atteint : passez l’un d’eux dans workspace. Pour atteindre un espace absent de la liste, connectez de nouveau l’application et cochez-le.
- Si un client n’arrive pas à terminer la connexion, connectez-le plutôt avec une clé d’API.

https://nodary.ai/fr/docs/mcp
