AWS SNS SQS MCP Server

AWS SNS SQS MCP Server

Сервер AWS SNS SQS MCP — это мост, который позволяет моделям генеративного ИИ безопасно создавать, управлять и взаимодействовать с темами Amazon SNS и очередями SQS через стандартизированный Протокол Контекста Модели (MCP). Этот сервер позволяет приложениям с учетом контекста ИИ читать, записывать и организовывать ресурсы обмена сообщениями в AWS с строгими мерами безопасности, выставляя операции SNS и SQS как инструменты MCP.


Просмотреть протокол

Что такое сервер AWS SNS SQS MCP?

Сервер AWS SNS SQS MCP — это легкое приложение, которое выставляет операции Amazon Simple Notification Service (SNS) и Simple Queue Service (SQS) как стандартизированные инструменты MCP. Это позволяет большим языковым моделям (LLM) и интеллектуальным агентам безопасно и программно управлять ресурсами обмена сообщениями AWS. Он обеспечивает строгий контроль доступа через теги ресурсов, так что сервер MCP может изменять только созданные им ресурсы и предотвращает случайные или несанкционированные изменения существующей инфраструктуры.

Как настроить

  1. Предварительные требования

    • Установите uv и Python (3.10)
    • Подготовьте свою учетную запись AWS с ролью IAM согласно принципу минимальных полномочий (например, AmazonSNSFullAccess/AmazonSQSFullAccess для полной функциональности или роли только для чтения для ограниченных операций).
    • Настройте профиль AWS CLI для этой роли на вашем компьютере.
  2. Установка

    • Используйте uv или Docker для установки и запуска awslabs.amazon-sns-sqs-mcp-server на вашем компьютере.
    • Настройте своего клиента MCP (например, CLI или API) для включения этого сервера. Пример конфигурации:
      {
        "mcpServers": {
          "awslabs.amazon-sns-sqs-mcp-server": {
            "command": "uvx",
            "args": ["awslabs.amazon-sns-sqs-mcp-server@latest"],
            "env": {
              "AWS_PROFILE": "ваш-aws-профиль",
              "AWS_REGION": "us-east-1"
            }
          }
        }
      }
      
    • Если используете Docker, создайте файл .env с учетными данными AWS и используйте его как файл переменных среды в команде запуска Docker.
  3. Опции сервера

    • По умолчанию создание ресурсов отключено. Передайте флаг --allow-resource-creation на командной строке, чтобы включить инструменты для создания тем SNS или очередей SQS.
    • Все ресурсы, созданные этим сервером, маркируются тегами, и только эти помеченные ресурсы могут быть изменены или удалены сервером в ваших интересах.

Как использовать

  1. Запустите сервер MCP с вашими настроенными окружением и учетными данными доступа:
    • С помощью uv:
      uv run awslabs.amazon-sns-sqs-mcp-server --allow-resource-creation
      
    • С помощью Docker убедитесь, что вы предоставили ваш файл .env с учетными данными AWS.
  2. Подключите вашего клиента MCP и получите список доступных инструментов через конечную точку tools/list.
  3. Вызовите инструменты такие как create_topic, create_queue, publish, или send_message с помощью конечной точки tools/call и передайте соответствующие параметры.
  4. Управляйте безопасностью ресурсов: только ресурсы, созданные сервером MCP (т.е. помеченные) могут быть обновлены или удалены через него.
  5. Отключите создание в рабочей среде: если вы хотите предотвратить случайные изменения, запустите сервер с отключенным созданием ресурсов.

Ключевые функции

  • Безопасное, программное создание и управление темами Amazon SNS и очередями SQS для приложений на базе LLM.
  • Контроль доступа на уровне ресурсов: только ресурсы, созданные и помеченные этим сервером, могут быть изменены, что минимизирует риски.
  • Инструменты могут динамически обнаруживаться и вызываться через MCP (tools/list, tools/call).
  • Гибкое развертывание с использованием Python (uv) или Docker.
  • Доступ к подробным разрешениям через роли IAM, настройки профиля и региона.
  • Возможность включать/выключать создание ресурсов во время выполнения для разных окружений и потребностей.
  • Встроенные лучшие практики для конфигурации, обработки ошибок и безопасности.

Сценарии использования

  • Автоматизация оркестрации ресурсов обмена сообщениями AWS в рамках рабочих процессов интеллектуальных агентов или помощников разработчиков.
  • Создание инструментов для разработчиков, управляемых LLM, которым необходимо публиковать уведомления, управлять заданиями или синхронизировать распределенные задачи в AWS.
  • Возможность создания, подписки, публикации или мониторинга тем и очередей AWS с четкими границами безопасности для разговорных интерфейсов.
  • Безопасное делегирование операций управления сообщениями агентам ИИ без риска случайных изменений в несвязной инфраструктуре.

Часто задаваемые вопросы

Q1. Почему я не могу изменить или удалить свои существующие ресурсы SNS/SQS?
Только ресурсы, созданные сервером MCP (т.е. помеченные его версионными тегами), могут быть изменены или удалены этим сервером, что гарантирует, что он не может случайно вмешиваться в существующую инфраструктуру.

Q2. Как включить или отключить создание тем или очередей?
По умолчанию создание ресурсов отключено. Запустите сервер с флагом --allow-resource-creation, чтобы разрешить создание инструментов; опустите или установите --disallow-resource-creation, чтобы скрыть эти инструменты и предотвратить случайное создание ресурсов.

Q3. Что делать, если я получаю ошибки разрешений?
Убедитесь, что ваша роль IAM или пользователь имеют необходимые разрешения (AmazonSNSFullAccess, AmazonSQSFullAccess или эквиваленты только для чтения) и что ваш профиль AWS правильно установлен в окружении сервера.

Q4. Могу ли я безопасно использовать этот сервер в продуктивных окружениях?
Да, рекомендуется использовать выделенные IAM профили и ограничить создание ресурсов с помощью конфигурационных флагов. Только помеченные ресурсы будут затронуты сервером, и вам следует следовать лучшим практикам минимальных полномочий AWS.

Q5. Каково преимущество использования MCP для операций SNS/SQS?
MCP обеспечивает безопасный, стандартизированный и взаимозаменяемый доступ к ресурсам обмена сообщениями через разные клиенты, LLM и инфраструктуры, обеспечивая переносимость кода агентов и приложений.