Ce que vous pouvez faire avec MCP
Avec les serveurs MCP connectés, vous pouvez demander à Claude Code de :- Implémenter des fonctionnalités à partir de suivi de problèmes : « Ajouter la fonctionnalité décrite dans le problème JIRA ENG-4521 et créer une PR sur GitHub. »
- Analyser les données de surveillance : « Vérifier Sentry et Statsig pour vérifier l’utilisation de la fonctionnalité décrite dans ENG-4521. »
- Interroger les bases de données : « Trouver les e-mails de 10 utilisateurs aléatoires qui ont utilisé la fonctionnalité ENG-4521, en fonction de notre base de données PostgreSQL. »
- Intégrer les conceptions : « Mettre à jour notre modèle d’e-mail standard en fonction des nouvelles conceptions Figma qui ont été publiées sur Slack »
- Automatiser les flux de travail : « Créer des brouillons Gmail invitant ces 10 utilisateurs à une session de rétroaction sur la nouvelle fonctionnalité. »
- Réagir aux événements externes : Un serveur MCP peut également agir comme un canal qui pousse des messages dans votre session, afin que Claude réagisse aux messages Telegram, aux discussions Discord ou aux événements webhook pendant que vous êtes absent.
Trouver et créer des serveurs MCP
Parcourez les connecteurs vérifiés dans le Répertoire Anthropic. Les connecteurs du répertoire utilisent la même infrastructure MCP que Claude Code, vous pouvez donc ajouter n’importe quel serveur distant répertorié avecclaude mcp add.
Pour créer votre propre serveur, consultez le guide du serveur MCP pour les principes fondamentaux du protocole et la documentation de création de connecteurs Claude pour l’authentification, les tests et la soumission au répertoire.
Vous pouvez également faire en sorte que Claude crée un serveur pour vous avec le plugin officiel mcp-server-dev.
Installer le plugin
Dans une session Claude Code, exécutez :Si Claude Code signale que le marketplace n’est pas trouvé, exécutez d’abord
/plugin marketplace add anthropics/claude-plugins-official, puis réessayez l’installation. Une fois installé, exécutez /reload-plugins pour l’activer dans la session actuelle.Installation des serveurs MCP
Les serveurs MCP peuvent être configurés de plusieurs façons selon vos besoins :Option 1 : Ajouter un serveur HTTP distant
Les serveurs HTTP sont l’option recommandée pour se connecter aux serveurs MCP distants. C’est le transport le plus largement supporté pour les services basés sur le cloud..mcp.json, ~/.claude.json, ou claude mcp add-json, le champ type accepte streamable-http comme alias pour http. La spécification MCP utilise le nom streamable-http pour ce transport, donc les configurations copiées à partir de la documentation du serveur fonctionnent sans modification.
Option 2 : Ajouter un serveur SSE distant
Option 3 : Ajouter un serveur stdio local
Les serveurs Stdio s’exécutent en tant que processus locaux sur votre machine. Ils sont idéaux pour les outils qui ont besoin d’un accès direct au système ou de scripts personnalisés. Claude Code définitCLAUDE_PROJECT_DIR dans l’environnement du serveur généré à la racine du projet, afin que votre serveur puisse résoudre les chemins relatifs au projet sans dépendre du répertoire de travail. C’est le même répertoire que les hooks reçoivent dans leur variable CLAUDE_PROJECT_DIR. Lisez-le depuis l’intérieur de votre processus serveur, par exemple process.env.CLAUDE_PROJECT_DIR en Node ou os.environ["CLAUDE_PROJECT_DIR"] en Python. Votre serveur peut également appeler la demande MCP roots/list, qui retourne le répertoire à partir duquel Claude Code a été lancé.
Cette variable est définie dans l’environnement du serveur, pas dans l’environnement propre de Claude Code, donc la référencer via l’expansion ${VAR} dans un fichier .mcp.json de portée projet ou utilisateur command ou args nécessite une valeur par défaut telle que ${CLAUDE_PROJECT_DIR:-.}. Les configurations MCP fournies par les plugins remplacent ${CLAUDE_PROJECT_DIR} directement et n’ont pas besoin de la valeur par défaut.
Important : Séparer les arguments du serveur avec
--Pour les serveurs stdio, le -- (double tiret) sépare les propres options de Claude, telles que --transport, --env, et --scope, de la commande et des arguments qui exécutent le serveur. Tout ce qui suit -- est transmis au serveur sans modification.Par exemple :claude mcp add --transport stdio myserver -- npx server→ exécutenpx serverclaude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080→ exécutepython server.py --port 8080avecKEY=valuedans l’environnement
--, Claude Code essaierait d’analyser les drapeaux du serveur, comme --port ci-dessus, comme ses propres options.--env accepte plusieurs paires KEY=value. Si le nom du serveur vient directement après --env, la CLI lit le nom comme une autre paire et le rejette, donc placez au moins une autre option entre --env et le nom du serveur, comme dans les exemples ci-dessus.Option 4 : Ajouter un serveur WebSocket distant
Les serveurs WebSocket maintiennent une connexion bidirectionnelle persistante, ce qui convient aux serveurs MCP distants qui poussent des événements vers Claude sans être sollicités. Utilisez plutôt HTTP lorsque votre serveur répond uniquement aux demandes, car HTTP supporte OAuth et le drapeauclaude mcp add --transport, tandis que WebSocket ne supporte ni l’un ni l’autre.
Configurez les serveurs WebSocket dans .mcp.json ou avec claude mcp add-json :
type: "ws" accepte les mêmes champs url, headers, headersHelper, timeout, et alwaysLoad que http. L’authentification est basée sur les en-têtes uniquement, donc passez un jeton statique dans headers ou générez-en un au moment de la connexion avec headersHelper. Le drapeau claude mcp add --transport n’accepte pas ws.
Gestion de vos serveurs
Une fois configurés, vous pouvez gérer vos serveurs MCP avec ces commandes :.mcp.json qui attendent votre approbation apparaissent dans claude mcp list comme ⏸ Approbation en attente. Exécutez claude de manière interactive pour les examiner et les approuver. claude mcp get <name> affiche les serveurs en attente comme ⏸ Approbation en attente et les serveurs rejetés comme ✗ Rejeté.
Le panneau /mcp affiche le nombre d’outils à côté de chaque serveur connecté et signale les serveurs qui annoncent la capacité des outils mais n’exposent aucun outil.
Si votre demande a besoin d’outils d’un serveur qui se connecte toujours en arrière-plan, Claude attend que ce serveur se connecte avant de continuer. Avec la recherche d’outils activée, qui est l’option par défaut, l’attente se produit à l’intérieur de l’appel ToolSearch. Dans les configurations sans recherche d’outils, telles que Vertex AI, une ANTHROPIC_BASE_URL personnalisée, ou ENABLE_TOOL_SEARCH=false, Claude utilise plutôt l’outil WaitForMcpServers.
Le nom du serveur workspace est réservé à un usage interne. Si votre configuration définit un serveur avec ce nom, Claude Code le saute au chargement et affiche un avertissement vous demandant de le renommer.
Mises à jour dynamiques des outils
Claude Code supporte les notifications MCPlist_changed, permettant aux serveurs MCP de mettre à jour dynamiquement leurs outils, prompts et ressources disponibles sans vous obliger à vous déconnecter et reconnecter. Lorsqu’un serveur MCP envoie une notification list_changed, Claude Code actualise automatiquement les capacités disponibles de ce serveur.
Reconnexion automatique
Si un serveur HTTP ou SSE se déconnecte en cours de session, Claude Code se reconnecte automatiquement avec un backoff exponentiel : jusqu’à cinq tentatives, en commençant par un délai d’une seconde et en doublant à chaque fois. Le serveur apparaît comme en attente dans/mcp pendant que la reconnexion est en cours. Après cinq tentatives échouées, le serveur est marqué comme échoué et vous pouvez réessayer manuellement à partir de /mcp. Les serveurs Stdio sont des processus locaux et ne sont pas reconnectés automatiquement.
Le même backoff s’applique lorsqu’un serveur HTTP ou SSE échoue sa connexion initiale au démarrage. À partir de la v2.1.121, Claude Code réessaie la connexion initiale jusqu’à trois fois sur les erreurs transitoires telles qu’une réponse 5xx, une connexion refusée ou un délai d’expiration, puis marque le serveur comme échoué s’il ne peut toujours pas se connecter. Les erreurs d’authentification et les erreurs de non-trouvé ne sont pas réessayées car elles nécessitent une modification de la configuration pour être résolues.
Pousser des messages avec des canaux
Un serveur MCP peut également pousser des messages directement dans votre session afin que Claude puisse réagir aux événements externes comme les résultats CI, les alertes de surveillance ou les messages de chat. Pour activer cela, votre serveur déclare la capacitéclaude/channel et vous l’activez avec le drapeau --channels au démarrage. Consultez Canaux pour utiliser un canal officiellement supporté, ou Référence des canaux pour créer le vôtre.
Le timeout par serveur est une limite stricte en temps réel par appel d’outil, et les notifications de progression du serveur ne l’étendent pas. Les valeurs inférieures à 1000 sont ignorées et passent à MCP_TOOL_TIMEOUT, ou à sa valeur par défaut d’environ 28 heures lorsque cette variable n’est pas définie. Avant la v2.1.162, les valeurs inférieures à 1000 étaient arrondies à une seconde. Pour les serveurs HTTP et SSE, le budget du premier octet par requête de récupération a un minimum de 60 secondes.
Serveurs MCP fournis par les plugins
Les plugins peuvent regrouper des serveurs MCP, fournissant automatiquement des outils et des intégrations lorsque le plugin est activé. Les serveurs MCP des plugins fonctionnent de manière identique aux serveurs configurés par l’utilisateur. Comment fonctionnent les serveurs MCP des plugins :- Les plugins définissent les serveurs MCP dans
.mcp.jsonà la racine du plugin ou en ligne dansplugin.json - Lorsqu’un plugin est activé, ses serveurs MCP démarrent automatiquement
- Les outils MCP des plugins apparaissent aux côtés des outils MCP configurés manuellement
- Les serveurs des plugins sont gérés via l’installation du plugin (pas via les commandes
/mcp)
.mcp.json à la racine du plugin :
plugin.json :
- Cycle de vie automatique : Au démarrage de la session, les serveurs des plugins activés se connectent automatiquement. Si vous activez ou désactivez un plugin pendant une session, exécutez
/reload-pluginspour connecter ou déconnecter ses serveurs MCP - Variables d’environnement : utilisez
${CLAUDE_PLUGIN_ROOT}pour les fichiers du plugin groupés,${CLAUDE_PLUGIN_DATA}pour l’état persistant qui survit aux mises à jour du plugin, et${CLAUDE_PROJECT_DIR}pour la racine du projet stable - Accès aux variables d’environnement utilisateur : Accès aux mêmes variables d’environnement que les serveurs configurés manuellement
- Types de transport multiples : Support des transports stdio, SSE, HTTP et WebSocket (le support des transports peut varier selon le serveur)
mcp__plugin_<plugin-name>_<server-name>__<tool-name>, où tout caractère en dehors de A-Z, a-z, 0-9, _, et - est remplacé par _. Pour le serveur database-tools groupé dans un plugin nommé my-plugin, un outil query est appelable comme :
allowed-tools d’une compétence, ou le champ tools d’un sous-agent.
Avantages des serveurs MCP du plugin :
- Distribution groupée : Outils et serveurs emballés ensemble
- Configuration automatique : Aucune configuration MCP manuelle nécessaire
- Cohérence d’équipe : Tout le monde obtient les mêmes outils lorsque le plugin est installé
Portées d’installation MCP
Les serveurs MCP peuvent être configurés à trois portées différentes. La portée que vous choisissez contrôle les projets dans lesquels le serveur se charge et si la configuration est partagée avec votre équipe. Les administrateurs peuvent également déployer des serveurs au niveau de l’entreprise via la configuration gérée.| Portée | Se charge dans | Partagé avec l’équipe | Stocké dans |
|---|---|---|---|
| Local | Projet actuel uniquement | Non | ~/.claude.json |
| Projet | Projet actuel uniquement | Oui, via le contrôle de version | .mcp.json à la racine du projet |
| Utilisateur | Tous vos projets | Non | ~/.claude.json |
Portée locale
La portée locale est la portée par défaut. Un serveur à portée locale se charge uniquement dans le projet où vous l’avez ajouté et reste privé pour vous. Claude Code le stocke dans~/.claude.json sous le chemin de ce projet, donc le même serveur n’apparaîtra pas dans vos autres projets. Utilisez la portée locale pour les serveurs de développement personnels, les configurations expérimentales ou les serveurs avec des identifiants que vous ne voulez pas dans le contrôle de version.
Le terme « portée locale » pour les serveurs MCP diffère des paramètres locaux généraux. Les serveurs MCP à portée locale sont stockés dans
~/.claude.json (votre répertoire personnel), tandis que les paramètres locaux généraux utilisent .claude/settings.local.json (dans le répertoire du projet). Consultez Paramètres pour plus de détails sur les emplacements des fichiers de paramètres.~/.claude.json. L’exemple ci-dessous montre le résultat lorsque vous l’exécutez à partir de /path/to/your/project :
Portée du projet
Les serveurs à portée de projet permettent la collaboration d’équipe en stockant les configurations dans un fichier.mcp.json à la racine de votre projet. Ce fichier est conçu pour être archivé dans le contrôle de version, garantissant que tous les membres de l’équipe ont accès aux mêmes outils et services MCP. Lorsque vous ajoutez un serveur à portée de projet, Claude Code crée ou met à jour automatiquement ce fichier avec la structure de configuration appropriée.
.mcp.json résultant suit un format standardisé :
.mcp.json. Si vous devez réinitialiser ces choix d’approbation, utilisez la commande claude mcp reset-project-choices.
Portée utilisateur
Les serveurs à portée utilisateur sont stockés dans~/.claude.json et offrent une accessibilité inter-projets, les rendant disponibles dans tous les projets de votre machine tout en restant privés pour votre compte utilisateur. Cette portée fonctionne bien pour les serveurs utilitaires personnels, les outils de développement ou les services que vous utilisez fréquemment dans différents projets.
Hiérarchie de portée et précédence
Lorsque le même serveur est défini à plus d’un endroit, Claude Code s’y connecte une fois, en utilisant la définition de la source avec la plus haute priorité. L’entrée de serveur entière de cette source est utilisée ; les champs ne sont pas fusionnés entre les portées.- Portée locale
- Portée du projet
- Portée utilisateur
- Serveurs fournis par les plugins
- Connecteurs claude.ai
Expansion des variables d’environnement dans .mcp.json
Claude Code supporte l’expansion des variables d’environnement dans les fichiers .mcp.json, permettant aux équipes de partager des configurations tout en maintenant la flexibilité pour les chemins spécifiques à la machine et les valeurs sensibles comme les clés API.
Syntaxe supportée :
${VAR}- Se développe à la valeur de la variable d’environnementVAR${VAR:-default}- Se développe àVARsi défini, sinon utilisedefault
command- Le chemin de l’exécutable du serveurargs- Arguments de la ligne de commandeenv- Variables d’environnement passées au serveururl- Pour les types de serveur HTTPheaders- Pour l’authentification du serveur HTTP
Exemples pratiques
Exemple : Surveiller les erreurs avec Sentry
Exemple : Se connecter à GitHub pour les révisions de code
Le serveur MCP distant de GitHub s’authentifie avec un jeton d’accès personnel GitHub transmis en tant qu’en-tête. Pour en obtenir un, ouvrez vos paramètres de jeton GitHub, générez un nouveau jeton à granularité fine avec accès aux référentiels avec lesquels vous souhaitez que Claude travaille, puis ajoutez le serveur :Exemple : Interroger votre base de données PostgreSQL
S’authentifier auprès des serveurs MCP distants
De nombreux serveurs MCP basés sur le cloud nécessitent une authentification. Claude Code supporte OAuth 2.0 pour les connexions sécurisées. Claude Code marque un serveur distant comme nécessitant une authentification lorsque le serveur répond avec401 Unauthorized ou 403 Forbidden. L’un ou l’autre code de statut signale le serveur dans /mcp afin que vous puissiez compléter le flux OAuth. Un serveur personnalisé qui retourne un en-tête WWW-Authenticate pointant vers son serveur d’autorisation obtient la même découverte automatique que tout autre serveur distant.
Si vous avez configuré headers.Authorization pour le serveur et que le serveur rejette cet en-tête, Claude Code signale la connexion comme échouée au lieu de revenir à OAuth. Vérifiez que le jeton est valide pour le point de terminaison MCP, ou supprimez l’en-tête pour utiliser le flux OAuth.
Utiliser un port de rappel OAuth fixe
Certains serveurs MCP nécessitent un URI de redirection spécifique enregistré à l’avance. Par défaut, Claude Code choisit un port disponible aléatoire pour le rappel OAuth. Utilisez--callback-port pour fixer le port afin qu’il corresponde à un URI de redirection pré-enregistré de la forme http://localhost:PORT/callback.
Vous pouvez utiliser --callback-port seul (avec l’enregistrement dynamique du client) ou ensemble avec --client-id (avec les identifiants pré-configurés).
Utiliser les identifiants OAuth pré-configurés
Certains serveurs MCP ne supportent pas la configuration OAuth automatique via l’enregistrement dynamique du client. Si vous voyez une erreur comme « Incompatible auth server: does not support dynamic client registration », le serveur nécessite des identifiants pré-configurés. Claude Code supporte également les serveurs qui utilisent un document de métadonnées d’ID client (CIMD) au lieu de l’enregistrement dynamique du client, et les découvre automatiquement. Si la découverte automatique échoue, enregistrez d’abord une application OAuth via le portail des développeurs du serveur, puis fournissez les identifiants lors de l’ajout du serveur.Enregistrer une application OAuth auprès du serveur
Créez une application via le portail des développeurs du serveur et notez votre ID client et votre secret client.De nombreux serveurs nécessitent également un URI de redirection. Si c’est le cas, choisissez un port et enregistrez un URI de redirection au format
http://localhost:PORT/callback. Utilisez ce même port avec --callback-port à l’étape suivante.Ajouter le serveur avec vos identifiants
Choisissez l’une des méthodes suivantes. Le port utilisé pour
--callback-port peut être n’importe quel port disponible. Il doit simplement correspondre à l’URI de redirection que vous avez enregistré à l’étape précédente.- claude mcp add
- claude mcp add-json
- claude mcp add-json (port de rappel uniquement)
- CI / variable d'environnement
Utilisez
--client-id pour passer l’ID client de votre application. Le drapeau --client-secret demande le secret avec une entrée masquée :Remplacer la découverte des métadonnées OAuth
Pointez Claude Code vers une URL de métadonnées spécifique du serveur d’autorisation OAuth pour contourner la chaîne de découverte par défaut. DéfinissezauthServerMetadataUrl lorsque les points de terminaison standard du serveur MCP génèrent des erreurs, ou lorsque vous souhaitez acheminer la découverte via un proxy interne. Par défaut, Claude Code vérifie d’abord les métadonnées de ressource protégée RFC 9728 à /.well-known/oauth-protected-resource, puis revient aux métadonnées du serveur d’autorisation RFC 8414 à /.well-known/oauth-authorization-server.
Définissez authServerMetadataUrl dans l’objet oauth de la configuration de votre serveur dans .mcp.json :
https://. authServerMetadataUrl nécessite Claude Code v2.1.64 ou ultérieur. Les scopes_supported de l’URL des métadonnées remplacent les portées que le serveur en amont annonce.
Restreindre les portées OAuth
Définissezoauth.scopes pour épingler les portées que Claude Code demande pendant le flux d’autorisation. C’est la façon supportée de restreindre un serveur MCP à un sous-ensemble approuvé par l’équipe de sécurité lorsque le serveur d’autorisation en amont annonce plus de portées que vous ne souhaitez accorder. La valeur est une seule chaîne séparée par des espaces, correspondant au format du paramètre scope dans RFC 6749 §3.3.
oauth.scopes a la priorité sur authServerMetadataUrl et les portées que le serveur découvre à /.well-known. Laissez-le non défini pour laisser le serveur MCP déterminer l’ensemble de portées demandées.
Si le serveur d’autorisation annonce offline_access dans scopes_supported, Claude Code l’ajoute aux portées épinglées afin que le jeton d’accès puisse être actualisé sans une nouvelle connexion au navigateur.
Si le serveur retourne ultérieurement un 403 insufficient_scope pour un appel d’outil, Claude Code se réauthentifie avec les mêmes portées épinglées. Élargissez oauth.scopes lorsqu’un outil dont vous avez besoin nécessite une portée en dehors de l’épingle.
Utiliser des en-têtes dynamiques pour l’authentification personnalisée
Si votre serveur MCP utilise un schéma d’authentification autre que OAuth (tel que Kerberos, jetons de courte durée ou un SSO interne), utilisezheadersHelper pour générer des en-têtes de requête au moment de la connexion. Claude Code exécute la commande et fusionne sa sortie dans les en-têtes de connexion.
- La commande doit écrire un objet JSON de paires clé-valeur de chaîne sur stdout
- La commande s’exécute dans un shell avec un délai d’expiration de 10 secondes
- Les en-têtes dynamiques remplacent tous les
headersstatiques portant le même nom
| Variable | Valeur |
|---|---|
CLAUDE_CODE_MCP_SERVER_NAME | le nom du serveur MCP |
CLAUDE_CODE_MCP_SERVER_URL | l’URL du serveur MCP |
headersHelper exécute des commandes shell arbitraires. Lorsqu’il est défini à portée de projet ou locale, il ne s’exécute qu’après que vous ayez accepté la boîte de dialogue de confiance de l’espace de travail.Ajouter des serveurs MCP à partir de la configuration JSON
Si vous avez une configuration JSON pour un serveur MCP, vous pouvez l’ajouter directement :Importer les serveurs MCP à partir de Claude Desktop
Si vous avez déjà configuré des serveurs MCP dans Claude Desktop, vous pouvez les importer :Sélectionner les serveurs à importer
Après avoir exécuté la commande, vous verrez une boîte de dialogue interactive qui vous permet de sélectionner les serveurs que vous souhaitez importer.
Utiliser les serveurs MCP à partir de Claude.ai
Si vous vous êtes connecté à Claude Code avec un compte Claude.ai, les serveurs MCP que vous avez ajoutés dans Claude.ai sont automatiquement disponibles dans Claude Code :Configurer les serveurs MCP dans Claude.ai
Ajoutez les serveurs à claude.ai/customize/connectors. Sur les plans Team et Enterprise, seuls les administrateurs peuvent ajouter des serveurs.
Show unused connectors à la fin de la section claude.ai, de sorte qu’une liste fournie par l’organisation ne remplit pas le panneau. Sélectionnez la ligne pour les développer. Un connecteur auquel vous vous êtes connecté précédemment reste visible même s’il nécessite actuellement une réauthentification.
Les connecteurs Claude.ai sont récupérés uniquement lorsque votre méthode d’authentification active est votre abonnement Claude.ai. Ils ne sont pas chargés lorsque ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, apiKeyHelper, ou un fournisseur tiers tel que Bedrock ou Vertex est actif, même si vous avez précédemment exécuté /login. Si /mcp ne répertorie pas un connecteur que vous avez ajouté, exécutez /status pour confirmer quelle méthode d’authentification est active, désactivez cette variable d’environnement ou supprimez le paramètre apiKeyHelper, puis exécutez /login pour sélectionner votre compte Claude.ai.
Un serveur que vous avez ajouté dans Claude Code prend précédence sur un connecteur claude.ai qui pointe vers la même URL. Quand cela se produit, /mcp répertorie le connecteur comme masqué et montre comment supprimer le doublon si vous préférez utiliser le connecteur.
Certains connecteurs hébergés par Anthropic, tels que Microsoft 365, Gmail et Google Calendar, ne supportent pas OAuth local à partir de Claude Code car le fournisseur d’identité en amont n’accepte que l’URL de redirection que claude.ai a enregistrée. À partir de la v2.1.162, l’authentification de l’un de ces hôtes dans /mcp affiche un message vous dirigeant pour le connecter à Paramètres → Connecteurs sur claude.ai à la place. Une fois connecté là-bas, le connecteur apparaît dans Claude Code automatiquement.
Pour désactiver les serveurs MCP de Claude.ai dans Claude Code, définissez la variable d’environnement ENABLE_CLAUDEAI_MCP_SERVERS sur false :
Utiliser Claude Code comme serveur MCP
Vous pouvez utiliser Claude Code lui-même comme serveur MCP auquel d’autres applications peuvent se connecter :Limites de sortie MCP et avertissements
Lorsque les outils MCP produisent de grandes sorties, Claude Code aide à gérer l’utilisation des jetons pour éviter de surcharger votre contexte de conversation :- Seuil d’avertissement de sortie : Claude Code affiche un avertissement lorsque la sortie de tout outil MCP dépasse 10 000 jetons
- Limite configurable : vous pouvez ajuster le nombre maximum de jetons de sortie MCP autorisés en utilisant la variable d’environnement
MAX_MCP_OUTPUT_TOKENS - Limite par défaut : la limite maximale par défaut est de 25 000 jetons
- Portée : la variable d’environnement s’applique aux outils qui ne déclarent pas leur propre limite. Les outils qui définissent
anthropic/maxResultSizeCharsutilisent cette valeur à la place pour le contenu texte, indépendamment de ce queMAX_MCP_OUTPUT_TOKENSest défini. Les outils qui retournent des données d’image sont toujours soumis àMAX_MCP_OUTPUT_TOKENS
- Interrogent de grands ensembles de données ou des bases de données
- Génèrent des rapports ou des documentations détaillés
- Traitent des fichiers journaux ou des informations de débogage étendus
Augmenter la limite pour un outil spécifique
Si vous créez un serveur MCP, vous pouvez permettre aux outils individuels de retourner des résultats plus grands que le seuil par défaut de persistance sur disque en définissant_meta["anthropic/maxResultSizeChars"] dans l’entrée de l’outil dans la réponse tools/list. Claude Code augmente le seuil de cet outil à la valeur annotée, jusqu’à un plafond dur de 500 000 caractères.
Ceci est utile pour les outils qui retournent des sorties intrinsèquement grandes mais nécessaires, telles que les schémas de base de données ou les arbres de fichiers complets. Sans l’annotation, les résultats qui dépassent le seuil par défaut sont persistés sur disque et remplacés par une référence de fichier dans la conversation.
MAX_MCP_OUTPUT_TOKENS pour le contenu texte, donc les utilisateurs n’ont pas besoin d’augmenter la variable d’environnement pour les outils qui la déclarent. Les outils qui retournent des données d’image sont toujours soumis à la limite de jetons.
Répondre aux demandes d’élicitation MCP
Les serveurs MCP peuvent demander une entrée structurée de votre part au cours d’une tâche en utilisant l’élicitation. Lorsqu’un serveur a besoin d’informations qu’il ne peut pas obtenir par lui-même, Claude Code affiche une boîte de dialogue interactive et transmet votre réponse au serveur. Aucune configuration n’est requise de votre côté : les boîtes de dialogue d’élicitation apparaissent automatiquement lorsqu’un serveur les demande. Les serveurs peuvent demander une entrée de deux façons :- Mode formulaire : Claude Code affiche une boîte de dialogue avec des champs de formulaire définis par le serveur (par exemple, une invite de nom d’utilisateur et de mot de passe). Remplissez les champs et soumettez.
- Mode URL : Claude Code ouvre une URL de navigateur pour l’authentification ou l’approbation. Complétez le flux dans le navigateur, puis confirmez dans l’interface de ligne de commande.
Elicitation.
Si vous créez un serveur MCP qui utilise l’élicitation, consultez la spécification d’élicitation MCP pour les détails du protocole et les exemples de schéma.
Utiliser les ressources MCP
Les serveurs MCP peuvent exposer des ressources que vous pouvez référencer en utilisant des mentions @, similaire à la façon dont vous référencez les fichiers.Référencer les ressources MCP
Lister les ressources disponibles
Tapez
@ dans votre prompt pour voir les ressources disponibles de tous les serveurs MCP connectés. Les ressources apparaissent aux côtés des fichiers dans le menu d’autocomplétion.Référencer une ressource spécifique
Utilisez le format
@server:protocol://resource/path pour référencer une ressource :Mettre à l’échelle avec la recherche d’outils MCP
La recherche d’outils maintient l’utilisation du contexte MCP faible en différant les définitions d’outils jusqu’à ce que Claude en ait besoin. Seuls les noms d’outils et les instructions du serveur se chargent au démarrage de la session, donc l’ajout de plus de serveurs MCP a un impact minimal sur votre fenêtre de contexte. Claude Code n’impose pas de limite fixe d’outils par serveur ; la limite pratique est votre budget de fenêtre de contexte.Comment cela fonctionne
La recherche d’outils est activée par défaut. Les outils MCP sont différés plutôt que chargés dans le contexte à l’avance, et Claude utilise un outil de recherche pour découvrir les outils pertinents lorsqu’une tâche en a besoin. Seuls les outils que Claude utilise réellement entrent dans le contexte. De votre point de vue, les outils MCP fonctionnent exactement comme avant. Si vous préférez le chargement basé sur un seuil, définissezENABLE_TOOL_SEARCH=auto pour charger les schémas à l’avance lorsqu’ils s’ajustent dans 10 % de la fenêtre de contexte et différer uniquement le débordement. Consultez Configurer la recherche d’outils pour toutes les options.
Pour les auteurs de serveurs MCP
Si vous créez un serveur MCP, le champ des instructions du serveur devient plus utile avec la recherche d’outils activée. Les instructions du serveur aident Claude à comprendre quand rechercher vos outils, similaire à la façon dont les skills fonctionnent. Ajoutez des instructions de serveur claires et descriptives qui expliquent :- Quelle catégorie de tâches vos outils gèrent
- Quand Claude doit rechercher vos outils
- Les capacités clés de votre serveur
Configurer la recherche d’outils
La recherche d’outils est activée par défaut : les outils MCP sont différés et découverts à la demande. Claude Code la désactive par défaut sur Vertex AI. Elle est également désactivée lorsqueANTHROPIC_BASE_URL pointe vers un hôte non-propriétaire, car la plupart des proxies ne transfèrent pas les blocs tool_reference. Définissez ENABLE_TOOL_SEARCH explicitement pour remplacer l’un ou l’autre des mécanismes de secours.
La recherche d’outils nécessite un modèle qui supporte les blocs tool_reference. Les modèles Haiku ne le supportent pas. Sur Vertex AI, la recherche d’outils est supportée pour Claude Sonnet 4.5 et ultérieur et Claude Opus 4.5 et ultérieur.
Contrôlez le comportement de la recherche d’outils avec la variable d’environnement ENABLE_TOOL_SEARCH :
| Valeur | Comportement |
|---|---|
| (non défini) | Tous les outils MCP différés et chargés à la demande. Revient au chargement à l’avance sur Vertex AI ou lorsque ANTHROPIC_BASE_URL est un hôte non-propriétaire |
true | Tous les outils MCP différés. Claude Code envoie l’en-tête bêta même sur Vertex AI et via les proxies. Les demandes échouent sur les modèles Vertex AI antérieurs à Sonnet 4.5 ou Opus 4.5, ou sur les proxies qui ne supportent pas les blocs tool_reference |
auto | Mode seuil : les outils se chargent à l’avance s’ils s’ajustent dans 10 % de la fenêtre de contexte, différés sinon |
auto:N | Mode seuil avec un pourcentage personnalisé, où N est 0-100. Par exemple, auto:5 pour 5 % |
false | Tous les outils MCP chargés à l’avance, pas de différé |
env de votre settings.json.
Vous pouvez également désactiver l’outil ToolSearch spécifiquement :
Exempter un serveur du différé
Si les outils d’un serveur doivent toujours être visibles pour Claude sans une étape de recherche, définissezalwaysLoad à true dans la configuration de ce serveur. Chaque outil de ce serveur se charge alors dans le contexte au démarrage de la session indépendamment du paramètre ENABLE_TOOL_SEARCH. Utilisez ceci pour un petit nombre d’outils que Claude doit utiliser à chaque tour, car chaque outil à l’avance consomme du contexte qui serait autrement disponible pour votre conversation.
L’entrée .mcp.json suivante exempte un serveur HTTP tout en laissant les autres serveurs différés :
alwaysLoad est disponible sur tous les types de serveurs et nécessite Claude Code v2.1.121 ou ultérieur. Un serveur MCP peut également marquer les outils individuels comme toujours chargés en incluant "anthropic/alwaysLoad": true dans l’objet _meta de l’outil, ce qui a le même effet pour cet outil uniquement.
La définition de alwaysLoad: true bloque également le démarrage jusqu’à ce que le serveur se connecte, limité au délai d’expiration de connexion standard de 5 secondes. Cela s’applique même lorsque MCP startup est autrement non-bloquant par défaut, car les outils doivent être présents lors de la construction de la première invite. Les autres serveurs continuent à se connecter en arrière-plan.
Utiliser les prompts MCP comme commandes
Les serveurs MCP peuvent exposer des prompts qui deviennent disponibles en tant que commandes dans Claude Code.Exécuter les prompts MCP
Découvrir les prompts disponibles
Tapez
/ pour voir toutes les commandes disponibles, y compris celles des serveurs MCP. Les prompts MCP apparaissent au format /mcp__servername__promptname.Configuration MCP gérée
Pour les organisations qui ont besoin d’un contrôle centralisé sur les serveurs MCP auxquels les utilisateurs peuvent se connecter, consultez Configuration MCP gérée. Elle couvre le déploiement d’un ensemble fixe de serveurs avecmanaged-mcp.json, la restriction des serveurs avec allowedMcpServers et deniedMcpServers, et ce que les utilisateurs voient lorsqu’un serveur est bloqué.