Connectez l'IA à vos ressources AWS
Transformez la façon dont vous gérez et accédez à votre infrastructure AWS en connectant Claude, Cursor AI et d'autres assistants d'IA directement à vos comptes AWS via l'authentification unique. Accédez instantanément à vos ressources cloud, exécutez des commandes et gérez des instances EC2 en utilisant le langage naturel.
Ce que vous pouvez faire
✅ Interrogez l'IA sur vos comptes AWS: "Montrez-moi tous mes comptes AWS et les rôles disponibles"
✅ Exécuter des commandes AWS: "Lister tous les buckets S3 de mon compte de production"
✅ Gérer les instances EC2: "Vérifier l'utilisation du disque sur le serveur i-123456789"
✅ Accéder à des configurations multi-comptes: "Basculer vers le compte staging et décrire les VPC"
✅ S urveiller les ressources: "Obtenir l'état de toutes les instances EC2 en cours d'exécution"
✅ Exécuter des commandes shell: "Exécuter 'df -h' sur mon serveur web via SSM"
Parfait pour
- Les ingénieurs DevOps qui gèrent des environnements AWS multicomptes et l'automatisation de l'infrastructure
- Les architectes cloud qui ont besoin d'un accès rapide aux informations sur les ressources à travers les comptes AWS
- Les développeurs qui souhaitent vérifier les déploiements et exécuter des commandes AWS CLI par le biais de l'IA
- Les équipes SRE qui surveillent et dépannent les ressources AWS en utilisant le langage naturel
- Administrateurs informatiques gérant des instances EC2 et exécutant des commandes à distance en toute sécurité
- Toute personne souhaitant interagir avec AWS à l'aide de l'IA conversationnelle
Démarrage rapide
Soyez opérationnel en 2 minutes :
1. Configurez votre SSO AWS
Configurez le centre d'identité AWS IAM :
- Activez le centre d'identité AWS IAM dans votre compte AWS
- Configurez votre source d'identité (annuaire AWS, Active Directory ou IdP externe)
- Configurer les jeux de permissions et assigner les utilisateurs aux comptes AWS
- Notez votre URL de démarrage AWS SSO (par exemple,
https://your-company.awsapps.com/start)
2. Essayez-le immédiatement
# Définissez votre configuration AWS SSO export AWS_SSO_START_URL="https://your-company.awsapps.com/start" export AWS_REGION="us-east-1" # Démarrer le flux d'authentification npx -y @aashari/mcp-server-aws-sso login # Lister vos comptes et rôles accessibles npx -y @aashari/mcp-server-aws-sso ls-accounts # Exécuter une commande AWS npx -y @aashari/mcp-server-aws-sso exec-command \ --account-id 123456789012 \ --role-name ReadOnly \ --command "aws s3 ls"
Se connecter aux assistants d'IA
Pour les utilisateurs de Claude Desktop
Ajoutez ceci à votre fichier de configuration Claude(~/.claude/claude_desktop_config.json
) :
{ "mcpServers" : { "aws-sso" : { "command" : "npx", "args" : ["-y", "@aashari/mcp-server-aws-sso"], "env" : { "AWS_SSO_START_URL" : "https://your-company.awsapps.com/start", "AWS_REGION" : "us-east-1" } } }
Redémarrez Claude Desktop, et vous verrez "🔗 aws-sso" dans la barre d'état.
Pour les autres assistants d'intelligence artificielle
La plupart des assistants d'intelligence artificielle prennent en charge MCP. Installez le serveur globalement :
npm install -g @aashari/mcp-server-aws-sso
Configurez ensuite votre assistant d'IA pour qu'il utilise le serveur MCP avec le transport STDIO.
Alternative : Fichier de configuration
Créez ~/.mcp/configs.json
pour la configuration du système :
{ "aws-sso" : {"environments" : {"AWS_SSO_START_URL" : "https://your-company.awsapps.com/start", "AWS_REGION" : "us-east-1", "DEBUG" : "false" } }
Clés de configuration alternatives : Le système accepte également "@aashari/mcp-server-aws-sso"
ou "mcp-server-aws-sso"
au lieu de "aws-sso"
.
Exemples réels
🔐 S'authentifier et explorer
Demandez à votre assistant IA :
- "Connectez-vous à AWS SSO et montrez-moi mon statut d'authentification"
- "Listez tous mes comptes AWS et les rôles que je peux assumer"
- "Vérifier si je suis toujours authentifié auprès d'AWS"
- "Me montrer les comptes AWS auxquels j'ai accès"
🛠️ Exécuter des commandes AWS
Demandez à votre assistant IA :
- "Lister tous les buckets S3 dans mon compte de production en utilisant le rôle ReadOnly"
- "Montrez-moi toutes les instances EC2 en cours d'exécution dans la région us-west-2"
- "Décrire les VPC dans mon compte AWS staging"
- "Obtenir l'état de mes bases de données RDS dans le compte 123456789012"
🖥️ Gérer les instances EC2
Demandez à votre assistant IA :
- "Vérifier l'utilisation du disque sur l'instance EC2 i-1234567890abcdef0"
- "Exécutez 'uptime' sur mon serveur web via Systems Manager
- "Exécuter 'systemctl status nginx' sur l'instance i-abc123 en production
- "Obtenir l'utilisation de la mémoire de tous mes serveurs d'application"
🔍 Surveillance de l'infrastructure
Demandez à votre assistant IA :
- "Lister toutes les fonctions Lambda dans mon compte de développement"
- "Montrez-moi les piles CloudFormation dans us-east-1"
- "Vérifier la santé de mes équilibreurs de charge"
- "Obtenir les dernières alarmes CloudWatch qui sont dans l'état ALARM"
🔄 Opérations multi-comptes
Demandez à votre assistant IA :
- "Passer au compte 987654321098 avec AdminRole et lister tous les groupes de sécurité"
- "Comparer les instances en cours d'exécution entre les comptes de staging et de production"
- "Vérifier les politiques de sauvegarde sur tous mes comptes AWS"
- "Auditer les utilisateurs IAM dans le compte de sécurité"
aws_sso_login
Connexion de base :
{}
Options de connexion personnalisées :
{ "launchBrowser" : false, "autoPoll" : true }
aws_sso_status
Vérifier l'état de l'authentification :
{}
aws_sso_ls_accounts
Liste de tous les comptes et rôles :
{}
aws_sso_exec_command
Répertorie les buckets S3 :
{"accountId" : "123456789012", "roleName" : "ReadOnly", "command" : "aws s3 ls" }
Décrire les instances EC2 dans une région spécifique :
{ "accountId" : "123456789012", "roleName" : "AdminRole", "command" : "aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,State.Name,InstanceType]' --output table", "region" : "us-west-2" }
aws_sso_ec2_exec_command
Vérifier les ressources du système :
{"instanceId" : "i-0a69e80761897dcce", "accountId" : "123456789012", "roleName" : "InfraOps", "command" : "uptime && df -h && free -m" }
Modes de transport
Ce serveur prend en charge deux modes de transport pour différents scénarios d'intégration :
Transport STDIO (par défaut pour les clients MCP)
- Communication traditionnelle entre sous-processus via stdin/stdout
- Idéal pour les intégrations d'assistants IA locaux (Claude Desktop, Cursor AI)
- Utilise une communication basée sur des tuyaux pour l'échange direct de protocoles MCP
# Exécuter avec le transport STDIO (par défaut pour les assistants IA) TRANSPORT_MODE=stdio npx @aashari/mcp-server-aws-sso # Utiliser les scripts npm (après l'installation) npm run mcp:stdio
Transport HTTP (par défaut pour le mode serveur)
- Transport moderne basé sur HTTP avec des événements envoyés par le serveur (SSE)
- Prend en charge plusieurs connexions simultanées
- Meilleur pour les intégrations et le développement basés sur le web
- Fonctionne sur le port 3000 par défaut (configurable via PORT env var)
- Point final : http://localhost:3000/mcp
- Contrôle de santé : http://localhost:3000/
# Exécuter avec le transport HTTP (par défaut en l'absence d'arguments CLI) TRANSPORT_MODE=http npx @aashari/mcp-server-aws-sso # Utiliser les scripts npm (après l'installation) npm run mcp:http # Tester avec l'inspecteur MCP npm run mcp:inspect
Variables d'environnement
Configuration du transport :
TRANSPORT_MODE
:stdio
ouhttp
(par défaut :http
pour le mode serveur,stdio
pour les clients MCP)PORT
: Port du serveur HTTP (par défaut : 3000)DEBUG
: Active la journalisation de débogage (par défaut : false)
Authentification :
AWS_SSO_START_URL
: Votre URL de démarrage AWS SSOAWS_SSO_REGION
: Votre région AWS SSOAWS_PROFILE
: Nom de votre profil AWS (facultatif)AWS_REGION
: Votre région AWS (facultatif)
Commandes CLI
Les commandes de l'interface de programmation utilisent la minuscule et la majuscule
. Exécutez --help
pour plus de détails (par exemple, mcp-aws-sso login --help
).
- login: S'authentifie via AWS SSO
(--no-launch-browser
,--no-auto-poll
). Ex :mcp-aws-sso login
. - status: Vérifie l'état de l'authentification (pas d'options). Ex :
mcp-aws-sso status
. - ls-accounts: Liste les comptes/rôles (pas d'options). Ex :
mcp-aws-sso ls-accounts
. - exec-command: Exécute une commande CLI AWS
(--account-id
,--role-name
,--command
,--region
). Ex :mcp-aws-sso exec-command --account-id 123456789012 --role-name ReadOnly --command "aws s3 ls"
. - ec2-exec-command: Exécute une commande shell sur EC2
(--instance-id
,--account-id
,--role-name
,--command
,--region
). Ex :mcp-aws-sso ec2-exec-command --instance-id i-0a69e80761897dcce --account-id 123456789012 --role-name InfraOps --command "uptime"
.
Connexion
Connexion standard (lance le navigateur et les sondages automatiquement) :
mcp-aws-sso login
Connexion sans lancement du navigateur :
mcp-aws-sso login --no-launch-browser
Exécuter des commandes AWS
Répertorier les dépôts S3 :
mcp-aws-sso exec-command \N --account-id 123456789012 \N --role-name ReadOnly \N --command "aws s3 ls"
Lister les instances EC2 avec une région spécifique :
mcp-aws-sso exec-command \N --account-id 123456789012 \N --role-name AdminRole \N --region us-west-2 \N --command "aws ec2 describe-instances --output table"
Exécuter les commandes EC2
Vérifier les ressources du système :
mcp-aws-sso ec2-exec-command \ --instance-id i-0a69e80761897dcce \ --account-id 123456789012 \ --role-name InfraOps \ --command "uptime && df -h && free -m"
Dépannage
"Échec de l'authentification" ou "Token expiré"
Ré-authentifiez-vous avec AWS SSO:
# Testez votre configuration SSO npx -y @aashari/mcp-server-aws-sso login
Vérifiez votre configuration AWS SSO:
- Vérifiez que votre
AWS_SSO_START_URL
est correct (il doit s'agir du portail SSO de votre organisation) - Assurez-vous que votre
AWS_REGION
correspond à la configuration de votre région SSO
- Vérifiez que votre
Vérifiez votre configuration SSO:
- Assurez-vous que vous pouvez accéder au portail SSO dans votre navigateur
- Vérifiez que les attributions de votre compte AWS sont actives
"Compte introuvable" ou "Rôle introuvable"
Vérifiez les comptes et les rôles disponibles:
# Lister tous les comptes accessibles npx -y @aashari/mcp-server-aws-sso ls-accounts
Vérifier le format de l'identifiant du compte:
- L'identifiant du compte doit comporter exactement 12 chiffres
- Utiliser l'identifiant exact du compte à partir de la sortie de
ls-accounts
Vérifier les autorisations de rôle:
- Assurez-vous que vous avez la permission d'assumer le rôle spécifié
- Utilisez le nom exact du rôle dans vos jeux de permissions
"AWS CLI not found" ou erreurs d'exécution de commande
Installez AWS CLI v2:
- Télécharger le Guide d'installation de l'AWS CLI
- Assurez-vous que la commande
aws
se trouve dans le PATH de votre système
Testez AWS CLI indépendamment:
aws --version aws sts get-caller-identity
"Échec de la commande EC2" ou "Problèmes de connexion SSM"
Vérifiez la configuration de l'instance EC2:
- L'instance doit avoir l'agent SSM installé et en cours d'exécution
- L'instance doit avoir un rôle IAM avec la politique
AmazonSSMManagedInstanceCore
Vérifiez les autorisations de votre rôle:
- Votre rôle supposé a besoin des permissions
ssm:SendCommand
etssm:GetCommandInvocation
- Vérifiez que l'instance est en cours d'exécution
- Votre rôle supposé a besoin des permissions
Testez la connectivité SSM:
# Tester si l'instance est accessible via SSM npx -y @aashari/mcp-server-aws-sso exec-command \ --account-id YOUR_ACCOUNT \ --role-name YOUR_ROLE \N --command "aws ssm describe-instance-information"
Problèmes d'intégration de Claude Desktop
- Redémarrer Claude Desktop après la mise à jour du fichier de configuration
- Vérifier la présence de l'indicateur "🔗 aws-sso"dans la barre d'état
- Vérifier l'emplacement du fichier de configuration
- macOS :
~/.claude/claude_desktop_config.json
- Windows :
%APPDATA%\Claudeclaude_desktop_config.json
- macOS :
Obtenir de l'aide
Si vous rencontrez toujours des problèmes :
- Exécutez une simple commande de test pour vérifier que tout fonctionne
- Vérifiez les problèmes GitHub pour des problèmes similaires
- Créez un nouveau problème avec votre message d'erreur et les détails de votre installation
Questions fréquemment posées
De quelles autorisations ai-je besoin ?
Pour la configuration d'AWS SSO :
- Vous avez besoin d'un compte AWS SSO avec accès au centre d'identité IAM
- Des jeux de permissions configurés par votre administrateur AWS
- Accès aux comptes AWS spécifiques que vous souhaitez gérer
Pour les commandes EC2 via SSM :
- Votre rôle supposé a besoin des permissions
ssm:SendCommand
etssm:GetCommandInvocation
- Les instances EC2 ont besoin d'un rôle IAM avec la politique
AmazonSSMManagedInstanceCore
- L'agent SSM doit être installé et fonctionner sur les instances cibles
Puis-je utiliser cette solution avec plusieurs organisations AWS ?
Actuellement, chaque installation prend en charge une URL de démarrage AWS SSO. Pour plusieurs organisations, il faut des configurations séparées ou changer manuellement la variable d'environnement AWS_SSO_START_URL
.
Quelle est la durée de vie des identifiants SSO ?
Les jetons AWS SSO durent généralement de 8 à 12 heures. Les identifiants temporaires pour des comptes/rôles spécifiques durent environ 1 heure. L'outil gère automatiquement le rafraîchissement des jetons et la mise en cache des informations d'identification pour vous.
Avec quels assistants d'intelligence artificielle cela fonctionne-t-il ?
Tout assistant d'intelligence artificielle prenant en charge le protocole de contexte de modèle (MCP) :
- Claude Desktop (le plus populaire)
- Cursor AI
- Continue.dev
- Beaucoup d'autres
Mes données sont-elles sécurisées ?
Oui ! Cet outil :
- S'exécute entièrement sur votre machine locale
- Utilise vos propres identifiants AWS SSO
- Ne transmet jamais vos données à des tiers
- N'accède qu'aux données auxquelles vous l'autorisez à accéder
- Utilise des identifiants temporaires qui expirent automatiquement
Ai-je besoin d'installer AWS CLI ?
Oui, AWS CLI v2 est nécessaire pour l'outil aws_sso_exec_command
. Cependant, les fonctions d'authentification et de liste de comptes fonctionnent sans elle.
Puis-je utiliser cet outil avec des profils AWS CLI ?
Cet outil utilise directement AWS SSO et ne s'appuie pas sur les profils AWS CLI. Il gère son propre cache d'informations d'identification indépendamment de la configuration de l'interface de programmation AWS.
Exemple de réponse de l'outil MCP(aws_sso_exec_command
)
# AWS SSO : Résultat de la commande **Account/Role:** 123456789012/ReadOnly **Region:** us-east-1 (Default : ap-southeast-1) ## Command aws s3 ls ## Output 2023-01-15 08:42:53 my-bucket-1 2023-05-22 14:18:19 my-bucket-2 2024-02-10 11:05:37 my-logs-bucket *Executed : 2025-05-19 06:21:49 UTC* (Exécuté le 2025-05-19 06:21:49 UTC*)
Exemple de réponse d'erreur
# ❌ AWS SSO : Erreur de commande **Compte/Rôle:** 123456789012/ReadOnly **Région:** us-east-1 (Défaut : ap-southeast-1) ## Commande aws s3api get-object --bucket restricted-bucket --key secret.txt output.txt ## Erreur : Permission Denied Le rôle `ReadOnly` n'a pas la permission d'exécuter cette commande ## Détails de l'erreur Une erreur s'est produite (AccessDenied) lors de l'appel de l'opération GetObject : Access Denied ### Troubleshooting #### Rôles disponibles - AdminAccess - PowerUserAccess - S3FullAccess Essayez d'exécuter à nouveau la commande en utilisant l'un des rôles répertoriés ci-dessus qui dispose des autorisations appropriées. *Executed : 2025-05-19 06:17:49 UTC*
Développement
# Cloner le dépôt git clone https://github.com/aashari/mcp-server-aws-sso.git cd mcp-server-aws-sso # Installer les dépendances npm install # Exécuter en mode développement npm run dev:server # Exécuter les tests npm test
Support
Besoin d'aide ? Voici comment obtenir de l'aide :
- Consultez la section de dépannage ci-dessus - les problèmes les plus courants y sont traités
- Visitez notre dépôt GitHub pour la documentation et les exemples : github.com/aashari/mcp-server-aws-sso
- Signaler des problèmes sur GitHub Issues
- Démarrer une discussion pour des demandes de fonctionnalités ou des questions générales
Réalisé avec ❤️ pour les équipes DevOps qui souhaitent intégrer l'IA dans leur flux de travail AWS.