C’est quoi MCP ?

Model Context Protocol (MCP) permet à Cursor de se connecter à des outils et des sources de données externes.

Pourquoi utiliser MCP ?

MCP relie Cursor à des systèmes et données externes. Au lieu de réexpliquer la structure de ton projet en boucle, connecte-toi directement à tes outils. Écris des serveurs MCP dans n’importe quel langage capable d’écrire sur stdout ou d’exposer un endpoint HTTP — Python, JavaScript, Go, etc.

Comment ça marche

Les serveurs MCP exposent des fonctionnalités via le protocole, ce qui connecte Cursor à des outils externes ou à des sources de données. Cursor prend en charge trois méthodes de transport :
TransportEnvironnement d’exécutionDéploiementUtilisateursEntréeAuthentification
stdioLocalGéré par CursorUn seul utilisateurCommande shellManuelle
SSELocal/RemoteDéployé en tant que serveurPlusieurs utilisateursURL d’un endpoint SSEOAuth
Streamable HTTPLocal/RemoteDéployé en tant que serveurPlusieurs utilisateursURL d’un endpoint HTTPOAuth

Prise en charge du protocole

Cursor prend en charge les capacités suivantes du protocole MCP :
FonctionnalitéPrise en chargeDescription
ToolsPris en chargeFonctions que le modèle d’IA peut exécuter
PromptsPris en chargeMessages et workflows paramétrés pour les utilisateurs
ResourcesPris en chargeSources de données structurées pouvant être lues et référencées
RootsPris en chargeRequêtes initiées par le serveur pour déterminer les limites d’URI ou du système de fichiers dans lesquelles opérer
ElicitationPris en chargeDemandes initiées par le serveur pour obtenir des informations supplémentaires auprès des utilisateurs

Installation de serveurs MCP

Installation en un clic

Installe des serveurs MCP depuis notre collection et authentifie-toi via OAuth.

Utiliser mcp.json

Configure des serveurs MCP personnalisés avec un fichier JSON :
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server"],
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

Configuration du serveur STDIO

Pour les serveurs STDIO (serveurs locaux en ligne de commande), configure ces champs dans ton mcp.json :
ChampRequisDescriptionExemples
typeOuiType de connexion du serveur"stdio"
commandOuiCommande pour lancer l’exécutable du serveur. Doit être disponible dans ton PATH système ou inclure son chemin complet."npx", "node", "python", "docker"
argsNonTableau d’arguments passés à la commande["server.py", "--port", "3000"]
envNonVariables d’environnement pour le serveur{"API_KEY": "${input:api-key}"}
envFileNonChemin vers un fichier d’environnement pour charger d’autres variables".env", "${workspaceFolder}/.env"

Utiliser l’API d’extension

Pour enregistrer des serveurs MCP par programmation, Cursor fournit une API d’extension qui permet une configuration dynamique sans modifier les fichiers mcp.json. C’est particulièrement utile dans les environnements d’entreprise et pour les workflows d’installation automatisés.

Référence de l’API d’extension MCP

Découvre comment enregistrer des serveurs MCP par programmation avec vscode.cursor.mcp.registerServer()

Emplacements de configuration

Configuration du projet

Crée le fichier .cursor/mcp.json dans ton projet pour des outils spécifiques à ce projet.

Configuration globale

Crée le fichier ~/.cursor/mcp.json dans ton dossier personnel pour des outils disponibles partout.

Interpolation de configuration

Utilise des variables dans les valeurs de mcp.json. Cursor résout les variables dans ces champs : command, args, env, url et headers. Syntaxe prise en charge :
  • ${env:NAME} variables d’environnement
  • ${userHome} chemin vers ton dossier personnel
  • ${workspaceFolder} racine du projet (le dossier qui contient .cursor/mcp.json)
  • ${workspaceFolderBasename} nom de la racine du projet
  • ${pathSeparator} et ${/} séparateur de chemins du système d’exploitation
Exemples
{
  "mcpServers": {
    "local-server": {
      "command": "python",
      "args": ["${workspaceFolder}/tools/mcp_server.py"],
      "env": {
        "API_KEY": "${env:API_KEY}"
      }
    }
  }
}
{
  "mcpServers": {
    "remote-server": {
      "url": "https://api.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MY_SERVICE_TOKEN}"
      }
    }
  }
}

Authentification

Les serveurs MCP utilisent des variables d’environnement pour l’authentification. Passe les clés d’API et les jetons via la config. Cursor prend en charge OAuth pour les serveurs qui en ont besoin.

Utiliser MCP dans le chat

Le Composer Agent utilise automatiquement les outils MCP répertoriés sous Available Tools quand c’est pertinent. Demande un outil précis par son nom ou décris ce dont tu as besoin. Active ou désactive des outils dans les paramètres.

Activer/désactiver des outils

Active ou désactive des outils MCP directement depuis l’interface de chat. Clique sur le nom d’un outil dans la liste pour l’activer ou le désactiver. Les outils désactivés ne seront pas chargés dans le contexte et ne seront pas disponibles pour Agent.

Approbation des outils

Par défaut, l’agent demande une approbation avant d’utiliser les outils MCP. Clique sur la flèche à côté du nom de l’outil pour afficher les arguments.

Exécution automatique

Active l’exécution automatique pour que Agent utilise les outils MCP sans te demander. Fonctionne comme des commandes de terminal. En savoir plus sur les paramètres d’exécution automatique ici.

Réponse de l’outil

Cursor affiche la réponse dans le chat avec des volets déroulants pour les arguments et les réponses :

Images comme contexte

Les serveurs MCP peuvent retourner des images — captures d’écran, schémas, etc. Retourne-les sous forme de chaînes encodées en base64 :
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w...";
// ^ base64 complet supprimé pour plus de lisibilité

server.tool("generate_image", async (params) => {
  return {
    content: [
      {
        type: "image",
        data: RED_CIRCLE_BASE64,
        mimeType: "image/jpeg",
      },
    ],
  };
});
Consulte cet exemple de serveur pour les détails de l’implémentation. Cursor joint les images renvoyées à la conversation. Si le modèle prend en charge les images, il les analyse.

Considérations de sécurité

Quand t’installes des serveurs MCP, garde en tête ces bonnes pratiques :
  • Vérifie la source : installe uniquement des serveurs MCP provenant de développeurs et de dépôts fiables
  • Passe en revue les autorisations : regarde à quelles données et quelles API le serveur aura accès
  • Limite les clés API : utilise des clés API restreintes avec le minimum d’autorisations nécessaire
  • Audit du code : pour les intégrations critiques, examine le code source du serveur
Souviens-toi que les serveurs MCP peuvent accéder à des services externes et exécuter du code en ton nom. Assure-toi toujours de comprendre ce que fait un serveur avant de l’installer.

Exemples concrets

Pour des exemples pratiques de MCP en action, consulte notre guide de développement web, qui montre comment intégrer Linear, Figma et des outils de navigateur dans ton workflow de développement.

FAQ

Les serveurs MCP connectent Cursor à des outils externes comme Google Drive, Notion, et d’autres services pour intégrer des docs et des specs dans ton workflow de code.
Consulte les logs MCP de cette façon : 1. Ouvre le panneau Output dans Cursor (Ctrl+Shift+U) 2. Sélectionne “MCP Logs” dans le menu déroulant 3. Vérifie les erreurs de connexion, les problèmes d’authentification ou les crashs serveur. Les logs affichent l’initialisation du serveur, les appels d’outils et les messages d’erreur.
Oui ! Active/désactive des serveurs sans les supprimer : 1. Ouvre Settings (Ctrl+Shift+J) 2. Va dans Features → Model Context Protocol 3. Clique sur le toggle à côté de n’importe quel serveur pour l’activer/désactiver. Les serveurs désactivés ne se chargent pas et n’apparaissent pas dans le chat. C’est utile pour dépanner ou réduire l’encombrement des outils.
Si un serveur MCP échoue : Cursor affiche un message d’erreur dans le chat. L’appel d’outil est marqué comme échoué. Tu peux réessayer l’opération ou consulter les logs pour plus de détails. Les autres serveurs MCP continuent de fonctionner normalement. Cursor isole les échecs des serveurs pour éviter qu’un serveur n’affecte les autres.
Pour les serveurs basés sur npm : 1. Supprime le serveur dans les paramètres 2. Vide le cache npm : npm cache clean --force 3. Ajoute à nouveau le serveur pour obtenir la dernière version. Pour les serveurs custom, mets à jour tes fichiers locaux et redémarre Cursor.
Oui, mais suis les bonnes pratiques de sécu : utilise des variables d’environnement pour les secrets, ne les hard-code jamais ; exécute les serveurs sensibles en local avec le transport stdio ; limite les permissions des clés API au strict nécessaire ; passe en revue le code du serveur avant de le connecter à des systèmes sensibles ; et envisage d’exécuter les serveurs dans des environnements isolés.