AWS SNS SQS MCP Server

AWS SNS SQS MCP Server

El servidor AWS SNS SQS MCP es un puente que permite a los modelos de IA generativa crear, gestionar e interactuar de forma segura con los temas de Amazon SNS y las colas de SQS mediante el Protocolo de Contexto de Modelo (MCP). Este servidor permite a las aplicaciones de IA conscientes del contexto leer, escribir y organizar recursos de mensajería en AWS con estrictos controles de seguridad al exponer las operaciones de SNS y SQS como Herramientas MCP.


Ver Protocolo

¿Qué es el servidor AWS SNS SQS MCP?

El servidor AWS SNS SQS MCP es una aplicación ligera que expone las operaciones del Servicio de Notificaciones Simples de Amazon (SNS) y del Servicio de Colas Simples (SQS) como Herramientas MCP estandarizadas. Esto permite a los modelos de lenguaje grande (LLMs) y a los agentes inteligentes gestionar de manera segura y programática los recursos de mensajería de AWS. Asegura estrictos controles de acceso mediante etiquetado de recursos, para que el servidor MCP solo pueda modificar los recursos que creó, evitando cambios accidentales o no autorizados en la infraestructura existente.

Cómo configurar

  1. Requisitos previos

    • Instala uv y Python (3.10)
    • Prepara tu cuenta de AWS con un rol IAM, siguiendo el principio de menor privilegio (por ejemplo, AmazonSNSFullAccess/AmazonSQSFullAccess para funcionalidad completa, o roles de solo lectura para operaciones limitadas).
    • Configura un perfil de AWS CLI para este rol en tu máquina local.
  2. Instalación

    • Usa uv o Docker para instalar y ejecutar awslabs.amazon-sns-sqs-mcp-server en tu máquina.
    • Configura tu cliente MCP (por ejemplo, CLI o API) para incluir este servidor. Ejemplo de configuración:
      {
        "mcpServers": {
          "awslabs.amazon-sns-sqs-mcp-server": {
            "command": "uvx",
            "args": ["awslabs.amazon-sns-sqs-mcp-server@latest"],
            "env": {
              "AWS_PROFILE": "tu-perfil-aws",
              "AWS_REGION": "us-east-1"
            }
          }
        }
      }
      
    • Si usas Docker, configura un archivo .env con credenciales de AWS y utilízalo como archivo de entorno en el comando de ejecución de Docker.
  3. Opciones del servidor

    • Por defecto, la creación de recursos está deshabilitada. Pasa --allow-resource-creation como una opción de línea de comandos para habilitar herramientas que crean temas SNS o colas SQS.
    • Todos los recursos creados por este servidor están etiquetados, y solo los recursos etiquetados pueden ser modificados o eliminados por el servidor para tu seguridad.

Cómo usar

  1. Inicia el servidor MCP con tu entorno configurado y credenciales de acceso:
    • Usando uv:
      uv run awslabs.amazon-sns-sqs-mcp-server --allow-resource-creation
      
    • Usando Docker, asegúrate de proporcionar tu archivo .env para las credenciales de AWS.
  2. Conecta tu cliente MCP y lista las herramientas disponibles a través del endpoint tools/list.
  3. Invoca herramientas como create_topic, create_queue, publish o send_message usando el endpoint tools/call y pasa los parámetros apropiados.
  4. Gestiona la seguridad del recurso: Solo los recursos creados por el servidor MCP (es decir, etiquetados) pueden ser actualizados o eliminados a través de él.
  5. Desactiva la creación en producción: Si deseas prevenir cambios accidentales, ejecuta el servidor con la creación de recursos deshabilitada.

Características Clave

  • Creación y gestión seguras y programáticas de temas SNS y colas SQS para aplicaciones impulsadas por LLM.
  • Control de acceso a nivel de recurso: solo los recursos creados y etiquetados por este servidor pueden ser modificados, minimizando el riesgo.
  • Las herramientas pueden ser descubiertas e invocadas dinámicamente a través de MCP (tools/list, tools/call).
  • Implementación flexible usando Python (uv) o Docker.
  • Permisos granulares a través de roles IAM, perfil y configuraciones de región.
  • Habilita/deshabilita la creación de recursos en tiempo de ejecución para diferentes entornos y necesidades.
  • Mejores prácticas para configuración, manejo de errores y seguridad integradas.

Casos de Uso

  • Automatización de la orquestación de recursos de mensajería de AWS dentro de flujos de trabajo de agentes inteligentes o asistentes para desarrolladores.
  • Construcción de herramientas para desarrolladores impulsadas por LLM que necesitan publicar notificaciones, gestionar tareas o sincronizar tareas distribuidas en AWS.
  • Habilitación de interfaces conversacionales para crear, suscribirse, publicar o monitorear temas y colas de AWS, con límites de seguridad claros.
  • Delegar de forma segura operaciones de gestión de mensajes a agentes de IA, sin arriesgar cambios accidentales en infraestructura no relacionada.

Preguntas Frecuentes

Q1. ¿Por qué no puedo modificar o eliminar mis recursos SNS/SQS existentes?
Solo los recursos creados por el servidor MCP (es decir, etiquetados con su etiqueta de versión) pueden ser modificados o eliminados por este servidor, asegurando que no pueda interferir accidentalmente con la infraestructura preexistente.

Q2. ¿Cómo habilito o deshabilito la creación de temas o colas?
Por defecto, la creación de recursos está deshabilitada. Ejecuta el servidor con la opción --allow-resource-creation para permitir las herramientas de creación; omite o establece --disallow-resource-creation para ocultar estas herramientas y evitar la creación accidental de recursos.

Q3. ¿Qué debo hacer si recibo errores de permisos?
Asegúrate de que tu rol o usuario IAM tenga los permisos necesarios (AmazonSNSFullAccess, AmazonSQSFullAccess, o los equivalentes de solo lectura), y que tu perfil de AWS esté configurado correctamente en el entorno del servidor.

Q4. ¿Puedo usar este servidor en entornos de producción de forma segura?
Sí, se recomienda usar perfiles IAM dedicados y restringir la creación de recursos utilizando opciones de configuración. Solo los recursos etiquetados serán afectados por el servidor, y deberías seguir las mejores prácticas de menor privilegio de AWS.

Q5. ¿Cuál es la ventaja de usar MCP para operaciones de SNS/SQS?
MCP permite un acceso seguro, estandarizado e interoperable a los recursos de mensajería a través de diferentes clientes, LLM y infraestructuras, permitiendo la portabilidad del código de agentes y aplicaciones.