Authentification et sécurité des serveurs MCP dans Cursor

Les serveurs Model Context Protocol (MCP) étendent Cursor avec des capacités externes puissantes, allant de l'interrogation de plateformes publicitaires à la gestion des flux de paiement. Cependant, chaque connexion externe introduit des considérations d'authentification et de sécurité. Ce guide vous accompagne à travers tout le spectre de l'authentification des serveurs MCP dans Cursor, couvrant les flux OAuth, la gestion des clés API, les couches d'approbation humaine pour les paiements pilotés par l'IA, et les défis spécifiques auxquels les utilisateurs sont confrontés avec des services comme le Live Meta Ads MCP.
Pourquoi l'authentification MCP est importante
Lorsque Cursor se connecte à un serveur MCP, ce serveur peut avoir besoin d'agir en votre nom : lire des données privées, publier du contenu, voire dépenser de l'argent. L'authentification est le gardien qui détermine ce que l'agent peut et ne peut pas faire.
Le modèle de sécurité en un coup d'œil
| Couche | Responsabilité | Exemple |
|---|---|---|
| Cursor | Héberge le client MCP, gère les connexions | Lit mcp.json, lance les processus serveur |
| Serveur MCP | Gère les appels d'API externes | Appelle l'API Graph de Meta, l'API Stripe |
| Fournisseur d'authentification | Valide l'identité | Jeton OAuth de Meta, clé API du fournisseur |
| Approbation humaine | Contrôle les actions sensibles | Approuver avant qu'un paiement ne soit soumis |
Ne stockez jamais les clés API de production ou les jetons OAuth en clair dans votre dépôt. Utilisez toujours des variables d'environnement ou un gestionnaire de secrets. Commettre des identifiants dans git est l'un des incidents de sécurité les plus courants auxquels les développeurs sont confrontés.
Prérequis
Avant de configurer l'authentification MCP dans Cursor, assurez-vous d'avoir :
- Cursor installé et mis à jour vers la dernière version
- Node.js 18+ pour exécuter les serveurs MCP basés sur npx
- Un compte auprès du service externe que vous souhaitez connecter (par exemple, Meta for Developers, Stripe)
- Identifiants d'application auprès du fournisseur (ID client, secret client ou clé API)
Comprendre les méthodes d'authentification MCP
Cursor prend en charge deux modèles d'authentification principaux pour les serveurs MCP, et le choix dépend entièrement de ce que le serveur auquel vous vous connectez prend en charge.
Méthode 1 : Authentification par clé API
Le modèle le plus simple. Le serveur MCP attend une clé API statique transmise via une variable d'environnement ou un en-tête.
{
"mcpServers": {
"my-api-server": {
"command": "npx",
"args": ["-y", "@my-org/api-mcp-server"],
"env": {
"API_KEY": "${MY_API_KEY}"
}
}
}
}
La syntaxe ${MY_API_KEY} indique à Cursor de lire la valeur depuis votre environnement. Définissez-la dans votre profil shell :
# ~/.zshrc ou ~/.bashrc
export MY_API_KEY="sk-your-actual-key-here"
Sur Windows, définissez les variables d'environnement via PowerShell ou les propriétés système. Dans PowerShell :
[System.Environment]::SetEnvironmentVariable("MY_API_KEY", "sk-your-key", "User")
Puis redémarrez Cursor pour qu'il récupère la nouvelle variable.
Méthode 2 : Authentification OAuth 2.0
OAuth est plus sûr car il évite les clés statiques et prend en charge un accès à portée limitée et révocable. Cependant, il est plus complexe à configurer. Le serveur MCP initie un flux OAuth qui ouvre un navigateur, vous demande de vous connecter au fournisseur, et renvoie un jeton à Cursor.
{
"mcpServers": {
"oauth-server": {
"command": "npx",
"args": ["-y", "@my-org/oauth-mcp-server"],
"env": {
"OAUTH_CLIENT_ID": "${CLIENT_ID}",
"OAUTH_CLIENT_SECRET": "${CLIENT_SECRET}",
"OAUTH_REDIRECT_URI": "http://localhost:3000/callback"
}
}
}
}
Le flux OAuth se déroule comme suit :
- Cursor démarre le processus du serveur MCP
- Le serveur détecte l'absence de jeton valide et initie OAuth
- Votre navigateur s'ouvre sur la page de connexion du fournisseur
- Vous autorisez l'application
- Le fournisseur redirige vers
localhost:3000/callbackavec un code d'autorisation - Le serveur échange le code contre des jetons d'accès et de rafraîchissement
- Les jetons sont stockés localement pour une utilisation future
Configuration du Live Meta Ads MCP
Le Live Meta Ads MCP est l'une des intégrations MCP les plus demandées pour Cursor. Il se connecte à l'API Graph de Meta pour permettre à votre agent d'interroger les performances publicitaires, les données de campagne et les insights d'audience. Les utilisateurs du forum signalent fréquemment que ce MCP ne parvient pas à s'authentifier. Voici comment le configurer correctement.
Étape 1 : Créer une application Meta
- Allez sur le portail Meta for Developers
- Cliquez sur Créer une application
- Sélectionnez Entreprise comme type d'application
- Ajoutez le produit Marketing API
- Notez votre App ID et App Secret
Étape 2 : Générer un jeton d'accès longue durée
Les jetons d'accès par défaut de Meta expirent rapidement. Pour une utilisation avec MCP, vous avez besoin d'un jeton longue durée :
# Échanger un jeton courte durée contre un jeton longue durée
curl -X GET "https://graph.facebook.com/v19.0/oauth/access_token" \
-d "grant_type=fb_exchange_token" \
-d "client_id=$META_APP_ID" \
-d "client_secret=$META_APP_SECRET" \
-d "fb_exchange_token=$SHORT_LIVED_TOKEN"
La réponse inclut un jeton valide pendant environ 60 jours.
Étape 3 : Configurer le serveur MCP dans Cursor
{
"mcpServers": {
"meta-ads": {
"command": "npx",
"args": ["-y", "@mcp/meta-ads-server"],
"env": {
"META_ACCESS_TOKEN": "${META_ACCESS_TOKEN}",
"META_APP_ID": "${META_APP_ID}",
"META_APP_SECRET": "${META_APP_SECRET}",
"META_API_VERSION": "v19.0"
}
}
}
}