Conecte la IA a sus recursos de AWS
Transforme la forma de administrar y acceder a su infraestructura de AWS conectando Claude, Cursor AI y otros asistentes de IA directamente a sus cuentas de AWS a través de Single Sign-On. Obtenga acceso instantáneo a sus recursos en la nube, ejecute comandos y administre instancias EC2 utilizando lenguaje natural.
Qué puede hacer
✅ Preguntar a AI sobre sus cuentas de AWS: "Muéstrame todas mis cuentas de AWS y roles disponibles"
✅ Ejecutar comandos de AWS: "Enumera todos los buckets S3 de mi cuenta de producción"
✅ Gestionar instancias EC2: "Comprobar el uso de disco en el servidor i-123456789"
✅ Acceder a configuraciones multicuenta: "Cambiar a la cuenta de staging y describir las VPC"
✅ S upervisar recursos: "Obtener el estado de todas las instancias EC2 en ejecución"
✅ Ejecutar comandos de shell: "Ejecutar 'df -h' en mi servidor web a través de SSM"
Perfecto para
- Ingenieros DevOps que gestionan entornos AWS multicuenta y automatización de infraestructuras
- Arquitectos de la nube que necesitan acceso rápido a la información de recursos en todas las cuentas de AWS
- Desarrolladores que desean comprobar implementaciones y ejecutar comandos CLI de AWS a través de AI
- Equipos de SRE que monitorizan y solucionan problemas de recursos de AWS mediante lenguaje natural
- Administradores de TI que gestionan instancias EC2 y ejecutan comandos remotos de forma segura
- Cualquiera que desee interactuar con AWS utilizando IA conversacional
Inicio rápido
Póngase en marcha en 2 minutos:
1. Obtenga su configuración de AWS SSO
Configure el Centro de identidades de AWS IAM:
- Habilite elCentro de identidades de AWSIAM en su cuenta de AWS
- Configure su fuente de identidad (directorio de AWS, Active Directory o IdP externo)
- Configure los conjuntos de permisos y asigne usuarios a las cuentas de AWS
- Anote su URL de inicio de AWS SSO (por ejemplo,
https://your-company.awsapps.com/start)
2. Pruébelo al instante
# Establece tu configuración de AWS SSO export AWS_SSO_START_URL="https://your-company.awsapps.com/start" export AWS_REGION="us-east-1" # Inicia el flujo de autenticación npx -y @aashari/mcp-server-aws-sso login # Lista tus cuentas y roles accesibles npx -y @aashari/mcp-server-aws-sso ls-accounts # Ejecutar un comando AWS npx -y @aashari/mcp-server-aws-sso exec-command \ --account-id 123456789012 \ --role-name ReadOnly \ --command "aws s3 ls"
Conectarse a los asistentes de IA
Para usuarios de Claude Desktop
Añada lo siguiente a su archivo de configuración de 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" } } }
Reinicie Claude Desktop y verá "🔗 aws-sso" en la barra de estado.
Para otros asistentes de IA
La mayoría de los asistentes de IA soportan MCP. Instala el servidor de forma global:
npm install -g @aashari/mcp-server-aws-sso
A continuación, configura tu asistente de IA para que utilice el servidor MCP con transporte STDIO.
Alternativa: Archivo de configuración
Cree ~/.mcp/configs.json
para la configuración de todo el sistema:
{ "aws-sso": { "environments": { "AWS_SSO_START_URL": "https://your-company.awsapps.com/start", "AWS_REGION": "us-east-1", "DEBUG": "false" } }
Claves de configuración alternativas: El sistema también acepta "@aashari/mcp-server-aws-sso"
o "mcp-server-aws-sso"
en lugar de "aws-sso"
.
Ejemplos del mundo real
🔐 Autenticar y explorar
Pídele a tu asistente de IA:
- "Inicia sesión en AWS SSO y muéstrame mi estado de autenticación"
- "Enumera todas mis cuentas de AWS y los roles que puedo asumir"
- "Comprueba si todavía estoy autenticado en AWS"
- "Muéstrame a qué cuentas de AWS tengo acceso"
🛠️ Ejecutar comandos de AWS
Pregúntale a tu asistente de IA:
- "Listar todos los buckets S3 en mi cuenta de producción usando el rol ReadOnly"
- "Muéstrame todas las instancias EC2 en ejecución en la región us-west-2"
- "Describir las VPC en mi cuenta de AWS de ensayo"
- "Obtener el estado de mis bases de datos RDS en la cuenta 123456789012"
🖥️ Gestionar instancias EC2
Pregúntale a tu asistente de IA:
- "Comprobar el uso de disco en la instancia EC2 i-1234567890abcdef0"
- "Ejecutar 'uptime' en mi servidor web a través de Systems Manager"
- "Ejecutar 'systemctl status nginx' en la instancia i-abc123 en producción"
- "Obtener el uso de memoria de todos mis servidores de aplicaciones"
🔍 Monitorización de infraestructuras
Pregúntale a tu asistente de IA:
- "Listar todas las funciones Lambda en mi cuenta de desarrollo"
- "Muéstrame las pilas de CloudFormation en us-east-1"
- "Comprueba la salud de mis balanceadores de carga"
- "Obtener las últimas alarmas de CloudWatch que están en estado ALARM"
🔄 Operaciones con varias cuentas
Pregúntale a tu asistente de IA:
- "Cambiar a la cuenta 987654321098 con AdminRole y listar todos los grupos de seguridad"
- "Comparar las instancias en ejecución entre las cuentas de staging y producción"
- "Comprobar las políticas de backup en todas mis cuentas de AWS"
- "Auditar usuarios IAM en la cuenta de seguridad"
aws_sso_login
Inicio de sesión básico:
{}
Opciones de inicio de sesión personalizadas:
{"launchBrowser": false, "autoPoll": true }
aws_sso_status
Comprobar estado de autenticación:
{}
aws_sso_ls_accounts
Listar todas las cuentas y roles:
{}
aws_sso_exec_command
Listar Buckets S3:
{ "accountId": "123456789012", "roleName": "ReadOnly", "command": "aws s3 ls" }
Describir instancias EC2 en una región específica:
{ "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
Comprobar recursos del sistema:
{ "instanceId": "i-0a69e80761897dcce", "accountId": "123456789012", "roleName": "InfraOps", "command": "uptime && df -h && free -m" }
Modos de transporte
Este servidor soporta dos modos de transporte para diferentes escenarios de integración:
Transporte STDIO (predeterminado para clientes MCP)
- Comunicación tradicional de subprocesos a través de stdin/stdout
- Ideal para integraciones locales de asistentes de IA (Claude Desktop, Cursor AI)
- Utiliza comunicación basada en tuberías para el intercambio directo de protocolos MCP
# Run with STDIO transport (default for AI assistants) TRANSPORT_MODE=stdio npx @aashari/mcp-server-aws-sso # Using npm scripts (after installation) npm run mcp:stdio
Transporte HTTP (predeterminado para el modo servidor)
- Transporte moderno basado en HTTP con eventos enviados por el servidor (SSE)
- Soporta múltiples conexiones concurrentes
- Mejor para integraciones y desarrollo basados en web
- Se ejecuta por defecto en el puerto 3000 (configurable mediante la var env PORT)
- Punto final: http://localhost:3000/mcp
- Comprobación de estado: http://localhost:3000/
# Ejecutar con transporte HTTP (por defecto cuando no hay argumentos CLI) TRANSPORT_MODE=http npx @aashari/mcp-server-aws-sso # Usar scripts npm (después de la instalación) npm run mcp:http # Probar con MCP Inspector npm run mcp:inspect
Variables de entorno
Configuración de transporte:
TRANSPORT_MODE
: Establecer enstdio
ohttp
(por defecto:http
para modo servidor,stdio
para clientes MCP)PORT
: Puerto del servidor HTTP (por defecto: 3000)DEBUG
: Habilitar el registro de depuración (por defecto: false)
Autenticación:
AWS_SSO_START_URL
: Su URL de inicio de AWS SSOAWS_SSO_REGION
: Su región AWS SSOAWS_PROFILE
: Su nombre de perfil AWS (opcional)AWS_REGION
: Su región AWS (opcional)
Comandos CLI
Los comandos de la CLI utilizan kebab-case
. Ejecute --help
para obtener más detalles (por ejemplo, mcp-aws-sso login --help
).
- login: Autentica a través de AWS SSO
(--no-launch-browser
,--no-auto-poll
). Ej:mcp-aws-sso login
. - status: Comprueba el estado de autenticación (sin opciones). Ej:
mcp-aws-sso
status. - ls-accounts: Lista cuentas/roles (sin opciones). Ej:
mcp-aws-sso ls-accounts
. - exec-command: Ejecuta el comando CLI de AWS
(--account-id
,--role-name
,--command
,--region
). Ejemplo:mcp-aws-sso exec-command --account-id 123456789012 --role-name ReadOnly --command "aws s3 ls"
. - ec2-exec-command: Ejecuta comando shell en EC2
(--instance-id
,--account-id
,--role-name
,--command
,--region
). Ejemplo:mcp-aws-sso ec2-exec-command --instance-id i-0a69e80761897dcce --account-id 123456789012 --role-name InfraOps --command "uptime"
.
Inicio de sesión
Inicio de sesión estándar (inicia el navegador y sondea automáticamente):
mcp-aws-sso login
Inicio de sesión sin lanzamiento del navegador:
mcp-aws-sso login --no-launch-browser
Ejecutar comandos de AWS
Listar Buckets S3:
mcp-aws-sso exec-command \ --account-id 123456789012 \ --role-name ReadOnly \ --command "aws s3 ls"
Listar instancias EC2 con región específica:
mcp-aws-sso exec-command \ --account-id 123456789012 \ --role-name AdminRole \ --region us-west-2 \ --command "aws ec2 describe-instances --output table"
Ejecutar comandos EC2
Comprobar recursos del sistema:
mcp-aws-sso ec2-exec-command \ --instance-id i-0a69e80761897dcce \ --account-id 123456789012 \ --role-name InfraOps \ --command "uptime && df -h && free -m"
Solución de problemas
"Error de autenticación" o "Token caducado"
Vuelva a autenticarse con AWS SSO:
# Pruebe su configuración SSO npx -y @aashari/mcp-server-aws-sso login
Compruebe su configuración de AWS SSO:
- Compruebe que su
AWS_SSO_START_URL
es correcta (debería ser el portal SSO de su organización) - Asegúrese de que su
AWS_REGION
coincide con la configuración de su región SSO
- Compruebe que su
Verifique su configuración SSO:
- Asegúrese de que puede acceder al portal SSO en su navegador
- Compruebe que sus asignaciones de cuenta de AWS están activas
"Cuenta no encontrada" o "Rol no encontrado"
Compruebe lascuentas y roles disponibles:
# Listar todas las cuentas accesibles npx -y @aashari/mcp-server-aws-sso ls-accounts
Compruebe el formato del ID de cuenta:
- El ID de cuenta debe tener exactamente 12 dígitos
- Utilice el ID de cuenta exacto de la salida de
ls-accounts
Compruebe los permisos de rol:
- Asegúrese de que tiene permiso para asumir el rol especificado
- Utilice el nombre exacto del rol de su conjunto de permisos
"AWS CLI no encontrado" o errores de ejecución de comandos
Instale AWS CLI v2:
- Descargar de la Guía de instalación de AWS CLI
- Asegúrese de que el comando
aws
está en su PATH del sistema
Pruebe AWS CLI de forma independiente:
aws --version aws sts get-caller-identity
"Fallo del comando EC2" o "Problemas de conexión SSM"
Verifique la configuración de la instancia EC2:
- La instancia debe tener el agente SSM instalado y en ejecución
- La instancia necesita un rol IAM con la política
AmazonSSMManagedInstanceCore
Compruebe los permisos de su rol:
- Su rol asumido necesita permisos
ssm:SendCommand
yssm:GetCommandInvocation
- Compruebe que la instancia está en estado de ejecución
- Su rol asumido necesita permisos
Compruebe la conectividad SSM:
# Compruebe si se puede acceder a la instancia a través de SSM npx -y @aashari/mcp-server-aws-sso exec-command \ --account-id YOUR_ACCOUNT \ --role-name YOUR_ROLE \ --command "aws ssm describe-instance-information"
Problemas de integración con Claude Desktop
- Reinicie Claude Desktop después de actualizar el archivo de configuración
- Compruebe si aparece el indicador "🔗 aws-sso" enla barra de estado
- Compruebe la ubicación del archivo de configuración
- macOS:
~/.claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
Obtener ayuda
Si sigue teniendo problemas:
- Ejecute un simple comando de prueba para verificar que todo funciona
- Comprueba si hay problemas similares en las incidencias de GitHub
- Crea una nueva incidencia con tu mensaje de error y los detalles de la configuración
Preguntas más frecuentes
¿Qué permisos necesito?
Para la configuración de AWS SSO:
- Necesita una cuenta de AWS SSO con acceso al Centro de identidades de IAM
- Conjuntos de permisos configurados por su administrador de AWS
- Acceso a las cuentas específicas de AWS que desea administrar
Para comandos EC2 a través de SSM:
- Tu rol asumido necesita permisos
ssm:SendCommand
yssm:GetCommandInvocation
- Las instancias EC2 necesitan un rol IAM con la política
AmazonSSMManagedInstanceCore
- El agente SSM debe estar instalado y ejecutándose en las instancias de destino
¿Puedo utilizarlo con varias organizaciones de AWS?
Actualmente, cada instalación admite una URL de inicio de AWS SSO. Para múltiples organizaciones, necesitaría configuraciones separadas o cambiar manualmente la variable de entorno AWS_SSO_START_URL
.
¿Cuánto duran las credenciales SSO?
Las credenciales AWS SSO suelen durar entre 8 y 12 horas. Las credenciales temporales para cuentas/roles específicos duran aproximadamente 1 hora. La herramienta gestiona automáticamente la actualización de tokens y el almacenamiento en caché de credenciales.
¿Con qué asistentes de IA funciona?
Con cualquier asistente de IA compatible con el Protocolo de contexto de modelo (MCP):
- Claude Desktop (el más popular)
- Cursor AI
- Continue.dev
- Muchos otros
¿Están seguros mis datos?
Sí Esta herramienta
- Se ejecuta completamente en tu máquina local
- Utiliza sus propias credenciales AWS SSO
- Nunca envía sus datos a terceros
- Sólo accede a lo que usted le da permiso para acceder
- Utiliza credenciales temporales que caducan automáticamente
¿Necesito tener instalado AWS CLI?
Sí, AWS CLI v2 es necesaria para la herramienta aws_sso_exec_command
. Sin embargo, las características de autenticación y listado de cuentas funcionan sin ella.
¿Puedo utilizarla con perfiles de AWS CLI?
Esta herramienta utiliza AWS SSO directamente y no depende de los perfiles de la CLI de AWS. Gestiona su propia caché de credenciales independientemente de la configuración de la CLI de AWS.
Ejemplo de respuesta de la herramienta MCP(aws_sso_exec_command
)
# AWS SSO: Resultado del comando **Cuenta/Role:** 123456789012/ReadOnly **Región:** us-east-1 (Por defecto: 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 *Ejecutado: 2025-05-19 06:21:49 UTC*
Ejemplo de respuesta de error
# ❌ AWS SSO: Command Error **Account/Role:** 123456789012/ReadOnly **Region:** us-east-1 (Por defecto: ap-southeast-1) ## Command aws s3api get-object --bucket restricted-bucket --key secret.txt output.txt ## Error: Permiso Denegado El rol `ReadOnly` no tiene permiso para ejecutar este comando ## Detalles del Error Se ha producido un error (AccessDenied) al llamar a la operación GetObject: Acceso denegado ### Resolución de problemas #### Roles disponibles - AdminAccess - PowerUserAccess - S3FullAccess Intente ejecutar el comando de nuevo usando uno de los roles listados arriba que tenga los permisos apropiados. *Ejecutado: 2025-05-19 06:17:49 UTC*
Desarrollo
# Clonar repositorio git clone https://github.com/aashari/mcp-server-aws-sso.git cd mcp-server-aws-sso # Instalar dependencias npm install # Ejecutar en modo desarrollo npm run dev:server # Ejecutar pruebas npm test
Soporte
¿Necesita ayuda? A continuación le indicamos cómo obtener ayuda:
- Consulta la sección de solución de problemas más arriba - los problemas más comunes están cubiertos allí
- Visita nuestro repositorio GitHub para documentación y ejemplos: github.com/aashari/mcp-server-aws-sso
- Informe de problemas en GitHub Issues
- Inicie un debate sobre solicitudes de funciones o preguntas generales
Creado con ❤️ para equipos de DevOps que desean incorporar la IA a su flujo de trabajo de AWS.