---
title: "Configuration du client"
description: "Configurez Minds MCP avec ChatGPT, Claude Desktop, Cursor et d'autres clients."
canonical_url: "https://getminds.ai/mcp/fr/setup"
last_updated: "2026-08-13T13:01:22.862Z"
---

# Configuration du client

Ce guide connecte le [serveur Minds MCP pour la recherche marché](/mcp/overview) aux clients IA qui prennent en charge les outils distants. Utilisez `https://getminds.ai/mcp` comme URL serveur.

## ChatGPT

1. Allez dans **ChatGPT** → **Settings** → **Connected Apps**
2. Recherchez « Minds » ou ajoutez l'URL MCP : `https://getminds.ai/mcp`
3. Cliquez sur **Connect** et autorisez via OAuth (connectez-vous à votre compte Minds)
4. Commencez à discuter — demandez à ChatGPT de créer des Minds, de lancer des panels et d'analyser les résultats

ChatGPT affiche des widgets interactifs en ligne — les résultats de panel avec réponses groupées, graphiques à barres et avatars de Minds cliquables apparaissent directement dans le chat.

## Claude Desktop

### Option A : Connecteur distant (recommandé — active les widgets interactifs)

1. Ouvrez Claude Desktop → **Customize** → **Connectors** (ou **Settings** → **Connections**)
2. Ajoutez `https://getminds.ai/mcp` comme nouveau connecteur distant
3. Autorisez via OAuth lorsque demandé — connectez-vous à votre compte Minds
4. Les tools apparaissent automatiquement après autorisation

### Option B : Connecteur local (API key, texte uniquement)

Ajoutez à votre fichier de configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` sur macOS) :

```json
{
  "mcpServers": {
    "mindsai": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://getminds.ai/mcp",
        "--header",
        "Authorization: Bearer minds_YOUR_API_KEY"
      ]
    }
  }
}
```

Redémarrez Claude Desktop. Les tools fonctionnent immédiatement mais les widgets interactifs ne sont pas disponibles avec les connecteurs locaux.

### Prise en charge des widgets dans Claude

Les 15 outils annoncés renvoient du texte structuré et des liens cliquables. Le serveur enregistre aussi 18 outils canoniques de cycle de vie pour les intégrations explicites. Le rendu des widgets dépend du client et de sa version ; l'intégration doit donc rester entièrement utilisable avec les seuls résultats structurés et textuels.

## Claude Code (CLI)

```bash
claude mcp add --transport http mindsai https://getminds.ai/mcp \
  --header "Authorization: Bearer minds_YOUR_API_KEY"
```

## Cursor

1. Ouvrez Cursor Settings → **MCP**
2. Ajoutez un nouveau serveur avec l'URL : `https://getminds.ai/mcp`
3. Autorisez l'accès lorsque demandé

## VS Code (GitHub Copilot)

1. Ouvrez VS Code Settings → **Extensions** → **GitHub Copilot** → **MCP Servers**
2. Ajoutez `https://getminds.ai/mcp` comme nouveau serveur
3. Autorisez lorsque demandé

## OpenRouter, Open WebUI et passerelles compatibles OpenAI

Lorsque c'est le **fournisseur de modèle** (et non l'hôte) qui exécute l'appel MCP côté serveur — par exemple un modèle `openai/*` via OpenRouter, l'API Responses d'OpenAI directement, ou Open WebUI en mode *Native function-calling* — vous **devez utiliser une authentification par API key**. OAuth ne fonctionne pas sur ce chemin.

### Pourquoi OAuth ne marche pas ici

Quand Open WebUI exécute un agent `openai/gpt-5.2` en mode Native, il transmet le descripteur de l'outil MCP dans la requête à OpenAI/OpenRouter. Le runner MCP côté serveur d'OpenAI (sur Azure, identifiable via `User-Agent: python-httpx/*`) appelle alors directement notre endpoint `/mcp`. Ce runner n'attache que des en-têtes **statiques** configurés au moment de l'enregistrement de l'outil — il n'effectue **pas** le handshake MCP OAuth (RFC 9728 / 8414 / 7591). Le mode *OAuth — transmet le token de session de l'utilisateur* d'Open WebUI est donc inopérant ici : le token de l'utilisateur ne sort jamais d'Open WebUI.

Résultat : Minds reçoit la requête sans en-tête `Authorization` et répond :

```text
401 Unauthorized
www-authenticate: Bearer resource_metadata="https://getminds.ai/.well-known/oauth-protected-resource"
{"error":{"code":-32001,"message":"Authentication required. Connect your Minds account via OAuth or provide an API key."}}
```

### Configuration Open WebUI

1. Générez une API key dans [Settings → API Keys](/settings/api-keys) (format `minds_…`).
2. Dans Open WebUI : **Admin → Paramètres → Outils → + Connexion**.
3. Réglages :

  - **Type** : `Streamable HTTP (MCP)`
  - **URL** : `https://getminds.ai/mcp`
  - **Authentification** : `Bearer` *(pas OAuth)*
  - **Token** : votre clé `minds_…`
4. Enregistrez la connexion.
5. Dans l'onglet *Outils* de votre agent, activez l'outil **Get Minds**.
6. Testez en demandant à l'agent de lister vos Minds.

Si vous laissez `Authentification : OAuth`, les appels ne réussiront que si Open WebUI exécute lui-même l'outil (donc *Function calling = Default*, pas *Native*). La plupart des utilisateurs veulent le mode Native — utilisez donc une clé Bearer.

### OpenRouter direct (programmatique)

Lors de l'appel à l'API chat completions d'OpenRouter avec le serveur MCP Minds attaché, passez l'API key dans le champ statique `headers` du descripteur d'outil :

```json
{
  "type": "mcp",
  "server_label": "minds",
  "server_url": "https://getminds.ai/mcp",
  "headers": {
    "Authorization": "Bearer minds_VOTRE_API_KEY"
  }
}
```

Idem pour l'API Responses d'OpenAI directement :

```python
from openai import OpenAI
client = OpenAI()
client.responses.create(
    model="gpt-5.2",
    input="Liste mes Minds",
    tools=[{
        "type": "mcp",
        "server_label": "minds",
        "server_url": "https://getminds.ai/mcp",
        "headers": {"Authorization": f"Bearer {os.environ['MINDS_API_KEY']}"},
    }],
)
```

## Authentification par API key

Pour un accès programmatique ou les clients qui ne prennent pas en charge OAuth :

1. Allez dans [Settings → API Keys](/settings/api-keys) dans Minds
2. Créez une nouvelle API key (commence par `minds_`)
3. Passez-la comme Bearer token : `Authorization: Bearer minds_your_key_here`

## OAuth Discovery

Pour les développeurs qui construisent des intégrations MCP, les métadonnées OAuth sont disponibles à :

<table>
<thead>
  <tr>
    <th>
      Endpoint
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        /.well-known/oauth-protected-resource
      </code>
    </td>
    
    <td>
      Métadonnées de la ressource protégée (RFC 9728)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        /.well-known/oauth-authorization-server
      </code>
    </td>
    
    <td>
      Métadonnées du serveur d'autorisation (RFC 8414)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        /oauth/register
      </code>
    </td>
    
    <td>
      Dynamic Client Registration (RFC 7591)
    </td>
  </tr>
</tbody>
</table>

OAuth 2.1 avec PKCE (S256) est requis. Les clients publics (`token_endpoint_auth_method: "none"`) sont pris en charge.

## Dépannage

### Erreur « Authentication required »

Assurez-vous d'avoir complété le flow d'autorisation OAuth. Déconnectez puis reconnectez votre client MCP pour réautoriser.

Si vous appelez Minds via **OpenRouter, Open WebUI en mode Native, ou l'API Responses d'OpenAI directement**, OAuth n'est pas supporté sur ce chemin — le runner MCP côté serveur du fournisseur de modèle ne peut pas effectuer le handshake OAuth. Basculez votre connexion MCP vers une **authentification Bearer / API key** avec une clé `minds_…`. Voir [OpenRouter, Open WebUI et passerelles compatibles OpenAI](#openrouter-open-webui-et-passerelles-compatibles-openai) ci-dessus.

### L'OAuth de Claude Desktop ne se termine pas

Si la popup OAuth s'ouvre mais ne se termine jamais, essayez l'approche par API key (Option B ci-dessus). L'OAuth du connecteur distant de Claude Desktop peut être intermittent.

### Mind introuvable

Lorsque vous utilisez `sparkName`, assurez-vous que le nom correspond étroitement à votre Mind. Le système utilise un fuzzy matching mais requiert un score de similarité raisonnable.

### Mind encore en cours d'entraînement

Les nouveaux Minds peuvent prendre un moment pour terminer leur entraînement. Utilisez `get_mind_status` pour vérifier si l'entraînement est terminé avant de discuter.

### Timeout de question de panel

Les questions de panel avec de nombreux groupes peuvent prendre plus de 2 minutes. Essayez de réduire le nombre de groupes ou de simplifier la question.

### Export PDF non prêt

Les rapports PDF sont générés de manière asynchrone. Utilisez `get_panel_status` pour vérifier le statut de l'export. La génération prend généralement entre 30 et 60 secondes.
