Stop pasting AWS access keys into your .env files.

We have all been there. It is late, you are debugging a Lambda permission error, and your AI assistant keeps inventing service names or ARNs with imaginary account IDs. You want the model to see your actual resources so it stops hallucinating and starts fixing. Out of desperation, you grab an access key, drop it into an environment file, and feed it to the agent. It works. Relief floods in. Then morning arrives, and you realize that secret is sitting in your shell history, terminal scrollback, or worse, a commit that just pushed to a shared repository.

This is the exact mess the Model Context Protocol was built to prevent.

MCP creates a standard bridge between your AI agent and external systems. Instead of handing over raw credentials and hoping the agent does not leak them, you connect through a controlled server that handles authentication, scopes permissions, and keeps your keys out of the chat window entirely.

For AWS, you currently have two official MCP servers to pick from. Choosing the wrong one either leaves your agent blind or gives it too much access with too little oversight.

Know the Difference: Knowledge vs. Hands

The first option is the AWS Knowledge MCP Server. Think of it as a senior engineer who has memorized the entire AWS documentation library but has no login credentials for your account. It is read-only by design, referencing official AWS docs to ground the agent in real API syntax, correct service names, and current best practices.

You do not need an AWS account to use it. You do not connect it to your infrastructure. You spin it up when you are sketching an architecture diagram, learning a new service like ECS or EventBridge, or validating whether a particular API call still behaves the way you remember from two years ago. It stops the agent from guessing. If you ask it to write Terraform for an S3 bucket policy, it knows the real fields and valid values because it is pulling from the source, not from training data that cut off last year.

The second option is the AWS MCP Server (Managed). This one gives your agent hands, not just memory. With proper authentication, it can inspect your CloudWatch logs, list your S3 buckets, read your DynamoDB table schemas, check IAM policies attached to a role, or verify which security groups are open to the internet. It operates on your real account, which makes it powerful for troubleshooting production issues or refactoring live infrastructure.

The Managed server refuses long-lived keys. It authenticates through OAuth via a browser sign-in, or through AWS CLI using SigV4 signing. Every tool call happens with short-lived tokens, every action leaves a trail in CloudTrail, and the agent operates strictly within the IAM boundaries you define. It cannot wander outside its permissions because it is bound by the same policy engine that governs every other AWS user or role in your organization.

Here is the golden rule to remember: one server gives your agent knowledge, the other gives it hands. Use the Knowledge server when you are studying or designing. Use the Managed server when you are operating or repairing.

Why AWS Recommends the Managed Server for Most Tasks

AWS now pushes most users toward the single Managed MCP Server rather than running both in parallel. The Managed server has absorbed the documentation context that the Knowledge server provided, so it handles both reference material and live account actions under one endpoint.

Running both servers simultaneously can actually degrade the experience. The agent receives overlapping tool definitions and can get confused about whether to call a read-only documentation lookup or a live API against your account. That hesitation produces slower responses and occasional tool-selection errors. Consolidating down to the Managed server simplifies your configuration and keeps the agent focused.

Setting Up the Managed Server with OAuth

Getting the Managed server running takes about five minutes, but the steps matter because this is a live connection to your account.

Step 1: Prepare your IAM identity

Создайте или выберите выделенную IAM-роль или пользователя. Не используйте свою учетную запись Root. Прикрепите к ней управляемую политику с именем AWSMCPSignInOAuthAccessPolicy. Эта политика предоставляет только разрешения, необходимые для инициирования процесса входа через OAuth для доступа к MCP. Сама по себе она не предоставляет широких административных прав. Реальные возможности вашего агента будут определяться остальными IAM-политиками, которые вы прикрепите к этой учетной записи. Если вы хотите, чтобы агент мог читать логи CloudWatch, но никогда не касался IAM или биллинга, создайте пользовательскую политику, которая разрешает только logs:DescribeLogGroups и logs:FilterLogEvents и ничего больше.

Шаг 2: Настройте ваш клиент

Добавьте официальный URL-адрес сервера AWS MCP в конфигурацию вашего клиента. Это работает с Claude Desktop, Claude Code и Kiro. В файле настроек MCP зарегистрируйте эндпоинт сервера, чтобы клиент знал, куда направлять вызовы инструментов, связанных с AWS.

Шаг 3: Пройдите аутентификацию через браузер

При первой попытке агента вызвать инструмент AWS ваша операционная система откроет окно браузера. Войдите в систему, используя ту же IAM-учетную запись, которую вы подготовили на Шаге 1. Процесс OAuth возвращает серверу MCP краткосрочный токен. Вы не увидите секретный ключ. Вам не придется ничего вставлять в конфигурационный файл. Токен обновляется автоматически и быстро истекает.

Шаг 4: Проверьте границу доверия

После аутентификации откройте CloudTrail и убедитесь, что действия отображаются под созданной вами учетной записью. Вы должны увидеть такие события, как ListBuckets или DescribeInstances, привязанные к этому конкретному IAM-пользователю или роли. Если вы видите активность учетной записи Root, значит, вы что-то сделали не так и должны немедленно отозвать сессию.

Если OAuth не подходит для вашего рабочего процесса, Managed-сервер также поддерживает аутентификацию SigV4 через ваши существующие учетные данные AWS CLI. Этот путь позволяет избежать всплывающего окна браузера, но вы все равно получаете преимущество от того, что сервер MCP берет на себя подпись и управление сессиями, вместо того чтобы передавать необработанные учетные данные агенту.

Привычки безопасности, которые действительно важны

Безопасность сервера MCP напрямую зависит от IAM-учетной записи, которая за ним стоит.

Начинайте с принципа наименьших привилегий. Вашему агенту не нужен AdministratorAccess, чтобы исправить неправильно настроенную интеграцию API Gateway. Предоставьте ему именно те разрешения на чтение или запись, которые необходимы для текущей задачи, и ротируйте или отзывайте их по завершении работы. Если вы используете роль, установите короткую продолжительность сессии. Если вы используете пользователя, включите MFA везде, где это позволяют ваши инструменты.

Никогда не авторизуйтесь под пользователем Root. Root обходит политики управления сервисами (Service Control Policies) и имеет неограниченный доступ ко всей учетной записи. Если агент неверно истолкует запрос и попытается удалить ресурсы, вы захотите, чтобы этот запрос был заблокирован политикой границ (boundary policy). У Root таких ограничений нет.

Наконец, относитесь к агенту как к новому стажеру, который идеально следует инструкциям, но лишен здравого смысла. Он будет выполнять то, о чем вы просите, буквально и немедленно. Если вы скажете ему «очистить неиспользуемые группы безопасности», он может удалить ту, которая привязана к вашей рабочей базе данных, потому что она подошла под широкие критерии, которые вы задали. Проверяйте любые деструктивные команды перед подтверждением, особенно если у агента есть права на запись.

Главный вывод

Вам не нужно жертвовать безопасностью ради полезности. Managed AWS MCP Server позволяет вашему ИИ-ассистенту видеть вашу реальную инфраструктуру, исправлять собственные галлюцинации и работать в рамках той же структуры IAM, которая управляет остальной частью вашей команды. Вы получаете актуальный контекст, не сохраняя секреты в файлах окружения. Настройте процесс OAuth, ограничьте разрешения и позвольте агенту работать «с открытыми глазами», но в рамках установленных вами политик.