# Connecter Shager à Claude Desktop : connexion via un connecteur personnalisé, ou clé API

_2026-08-12 · Ajoutez Shager à Claude Desktop comme connecteur personnalisé et connectez-vous, sans clé à copier. Ou utilisez une clé API : en-têtes ou mcp-remote._

Le plus simple pour connecter Claude Desktop à Shager : ajoutez https://app.shager.ai/api/mcp comme connecteur personnalisé, cliquez sur Connect, connectez-vous à Shager et validez. Aucune clé à copier. Si vous préférez une clé API, deux autres méthodes existent : un connecteur personnalisé avec No sign-in et un en-tête `authorization` dont la valeur est `Bearer shgr_live_...`, si votre compte affiche une section Request headers, ou le passage du serveur distant par `claude_desktop_config.json` grâce au paquet open source `mcp-remote`, qui transmet le même en-tête.

Toutes les méthodes mènent au même résultat : dans l'application de bureau, Claude peut lister les espaces de travail de vos clients, préparer des publications multicomptes et récupérer les clics compte par compte. La différence tient à qui détient la clé et à ce que chaque membre de l'équipe doit refaire de son côté.

## La méthode en un clic : se connecter

Le serveur MCP de Shager prend en charge la connexion OAuth, le mode pour lequel les connecteurs personnalisés de Claude sont conçus.

1. Ouvrez Customize, puis Connectors, et cliquez sur Add custom connector.
2. Nommez-le `Shager`, saisissez l'URL du serveur MCP `https://app.shager.ai/api/mcp`, puis cliquez sur Add.
3. Cliquez sur Connect. Shager s'ouvre dans le navigateur : connectez-vous, choisissez l'organisation et validez.

La connexion peut lire et créer des brouillons. Programmer et publier est une case à part sur l'écran de validation, décochée tant que vous ne la cochez pas. Chacun se connecte avec son propre compte : le journal d'audit sur https://app.shager.ai/dashboard/agents montre qui a fait quoi, et vous pouvez y déconnecter l'accès à tout moment.

## Quand utiliser plutôt une clé API ?

Quand vous voulez une clé aux droits précis que vous gérez vous-même, ou un accès qui ne dépend pas d'une connexion dans le navigateur. La documentation d'Anthropic sur [l'ajout d'un connecteur absent du répertoire](https://claude.com/docs/connectors/custom/add-unlisted) est explicite sur ce cas : « Si le serveur utilise une clé API, choisissez No sign-in et ajoutez la clé sous Request headers. » La même page précise aussi que l'authentification par en-têtes de requête « est en bêta et réservée à un nombre limité d'organisations ». La première méthode est donc la bonne, mais vous n'y avez peut-être pas encore accès. D'où la seconde.

## Méthode 1 : un connecteur personnalisé avec un en-tête de requête

À utiliser si vous voyez Request headers dans la boîte de dialogue. D'après la même page, les connecteurs personnalisés par URL fonctionnent sur les formules Free, Pro, Max, Team et Enterprise, la formule Free étant limitée à un seul connecteur personnalisé.

Sur Free, Pro ou Max :

1. Ouvrez Customize, puis Connectors, et cliquez sur Add custom connector.
2. Nommez-le `Shager` et saisissez l'URL du serveur MCP `https://app.shager.ai/api/mcp`.
3. Pour Authentication, choisissez No sign-in.
4. Ouvrez Request headers, sélectionnez `authorization` dans la liste et saisissez la valeur `Bearer shgr_live_your_key_here`.
5. Cochez Required pour cet en-tête, puis cliquez sur Add.

C'est à l'étape 4 que la plupart des gens se trompent. La documentation indique que Claude « envoie la valeur exactement telle que vous la saisissez, sans ajouter de schéma d'authentification ni aucun autre préfixe ». Si vous collez seulement la clé, Shager reçoit `Authorization: shgr_live_...` et renvoie un 401. Incluez bien le mot `Bearer` et l'espace.

Sur Team et Enterprise, un Owner ajoute le connecteur dans Organization settings, puis Connectors, et les membres se connectent depuis leur propre page Customize. Prudence avec ce schéma pour Shager : un en-tête de requête est un identifiant unique partagé par toute l'organisation, ce qui convient selon la page d'Anthropic à « un compte de service » plutôt qu'à une connexion individuelle. Avec une seule clé Shager partagée, le journal d'audit sur https://app.shager.ai/dashboard/agents attribue tous les appels à cette clé unique. Si vous avez besoin d'une attribution par personne, demandez à chacun de se connecter avec son compte, ou utilisez la méthode 2 avec des clés individuelles.

Notez aussi que les en-têtes ne sont pas modifiables après coup. Pour changer de clé, supprimez le connecteur et ajoutez-le de nouveau.

## Méthode 2 : mcp-remote dans claude_desktop_config.json

Le fichier de configuration de l'application de bureau sert aux serveurs locaux que Claude Desktop lance comme processus. L'article d'aide d'Anthropic sur les [connecteurs personnalisés](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) présente ces serveurs locaux comme « un mécanisme distinct » des connecteurs distants, et une simple entrée `url` dans ce fichier ne permet pas à Desktop d'atteindre un serveur distant.

La solution de contournement s'appelle [mcp-remote](https://github.com/geelen/mcp-remote) : un paquet open source qui tourne en local via stdio et relaie les requêtes vers un serveur MCP distant, en-têtes personnalisés compris. Il nécessite Node.js.

Ouvrez la configuration via Settings, puis Developer, puis Edit Config. Le [guide de démarrage MCP pour les serveurs locaux](https://modelcontextprotocol.io/docs/develop/connect-local-servers) indique les chemins : `~/Library/Application Support/Claude/claude_desktop_config.json` sur macOS et `%APPDATA%\Claude\claude_desktop_config.json` sur Windows.

```json
{
  "mcpServers": {
    "shager": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://app.shager.ai/api/mcp",
        "--header",
        "Authorization:${SHAGER_AUTH_HEADER}"
      ],
      "env": {
        "SHAGER_AUTH_HEADER": "Bearer shgr_live_your_key_here"
      }
    }
  }
}
```

L'étrange `Authorization:${SHAGER_AUTH_HEADER}`, sans espace après les deux-points, est volontaire. Le README de mcp-remote prévient que Claude Desktop sous Windows (et quelques autres clients) n'échappe pas les espaces à l'intérieur de `args` : l'espace est donc placée dans la variable d'environnement. Cette forme fonctionne aussi sur macOS ; utilisez-la partout et n'y pensez plus.

Si vous préférez ne pas laisser la clé dans le JSON de configuration, mcp-remote accepte aussi `--header-file`, qui pointe vers un fichier contenant un `Name: value` par ligne :

```text
Authorization: Bearer shgr_live_your_key_here
```

Quittez complètement Claude Desktop, puis relancez-le : selon le guide de démarrage, l'application doit redémarrer pour charger une nouvelle configuration. Ouvrez ensuite le menu des connecteurs depuis la zone de saisie du chat et vérifiez que `shager` apparaît avec ses outils.

### Si la connexion échoue

Les journaux se trouvent dans `~/Library/Logs/Claude` sur macOS (`%APPDATA%\Claude\logs` sur Windows). `mcp.log` couvre les échecs de connexion, et `mcp-server-shager.log` contient la sortie propre à mcp-remote. Un 401 à cet endroit signifie que la valeur de l'en-tête est incorrecte. Un `command not found` pour npx signifie que Node n'est pas dans le PATH vu par Claude Desktop, ce qui arrive souvent quand Node a été installé via un gestionnaire de versions. Dans ce cas, indiquez dans `command` le chemin absolu de `npx`.

## Quelle méthode choisir ?

| | Connecteur personnalisé avec en-tête | mcp-remote dans la config |
|---|---|---|
| Disponibilité | Bêta, organisations limitées | Toute installation de Claude Desktop avec Node |
| Qui détient la clé | Stockée par Claude, plus jamais affichée | Votre config locale ou un fichier d'en-têtes |
| Fonctionne sur claude.ai dans le navigateur | Oui, c'est un connecteur du compte | Non, application de bureau uniquement |
| Clés individuelles sur les formules Team | Non, un seul en-tête partagé | Oui, chacun configure la sienne |
| Changer de clé | Supprimer puis réajouter le connecteur | Modifier le fichier, redémarrer |

Pour la plupart des gens, se connecter avec son compte reste le plus propre. Parmi les méthodes par clé, la méthode 1 est plus propre pour un consultant indépendant si vous y avez accès. Pour une agence où cinq personnes interviennent sur les comptes clients, la méthode 2 avec des clés individuelles garde une piste d'audit fiable.

## Un premier prompt pour vérifier que tout marche

```text
Using Shager: who am I, which workspaces do I have, and for the workspace
"Harbor Fitness" list the connected channels by network and status.
```

Essayez ensuite un brouillon :

```text
Create a draft post in "Harbor Fitness" to every active Instagram and Facebook
channel. Caption: announce the new 6am class. Write a different caption per
channel using the location in the channel name. cta_url
https://harborfitness.example/6am, campaign "6am-launch". Don't schedule it.
```

Ce second prompt utilise `create_post` avec des légendes `per_channel` et un `cta_url` suivi, qui attribue à chaque compte son propre lien court avec `utm_content` renseigné au nom du compte. Le brouillon apparaît dans Shager, où une personne ou le lien de validation client peut prendre le relais. Notre article sur les [circuits de validation client](/fr/blog/client-approval-workflow-for-agencies) explique comment les agences organisent généralement cette étape.

## Limitez les droits de la clé

Le chat de l'application de bureau est l'endroit où l'on expérimente : donnez à cette clé uniquement `read` et `write`. Sans `publish`, Shager refuse `schedule_post` et tout `create_post` contenant `schedule_at`, quoi qu'on tape dans le chat. Créez une clé distincte avec `publish`, sur https://app.shager.ai/dashboard/agents, pour la routine scriptée qui publie réellement.

## FAQ

### Puis-je simplement coller une entrée url dans claude_desktop_config.json ?

Ce fichier lance des serveurs locaux sous forme de processus, et Anthropic documente les serveurs distants comme un mécanisme distinct, passant par les connecteurs. Ajoutez Shager comme connecteur personnalisé et connectez-vous, ou utilisez mcp-remote comme processus local qui relaie vers l'URL distante avec votre clé.

### Ai-je vraiment besoin d'une clé API ?

Non. Ajouter https://app.shager.ai/api/mcp comme connecteur personnalisé et vous connecter est la voie la plus simple, chacun se connecte avec son propre compte, et les méthodes par en-tête sont facultatives. Utilisez une clé quand vous voulez en gérer vous-même les droits.

### La même configuration fonctionne-t-elle pour Claude Code ?

Claude Code gère nativement l'authentification par en-tête avec `claude mcp add --transport http` et `--header` : il n'a besoin d'aucun des deux contournements. Les étapes sont décrites dans [connecter Shager à Claude Code](/fr/blog/connect-shager-to-claude-code).

## Et ensuite ?

Une fois que Desktop peut appeler Shager, la bonne habitude consiste à ne plus taper de longs prompts et à les regrouper dans un skill. Si vous passez par l'API plutôt que par une application de chat, commencez par le [guide de démarrage de l'API REST](/fr/blog/shager-rest-api-quickstart) et le [document OpenAPI](https://app.shager.ai/api/v1/openapi.json), qui décrivent exactement les mêmes opérations que celles exposées par le connecteur.

---
Source: https://shager.ai/fr/blog/connect-shager-to-claude-desktop
