AWS MCP Server for Production Agents: The Build-or-Boundary Rule

Use AWS MCP Server for AWS-native agent access, then add custom approval, tenant policy, evals, and run logs where production risk starts.

Saturday, June 20, 2026Omid Saffari
AWS MCP Server for Production Agents: The Build-or-Boundary Rule

Use the AWS MCP Server when an agent needs current AWS documentation or authenticated AWS API access under existing IAM. Build a custom MCP boundary only when the real production contract is broader than AWS: app-specific approvals, tenancy, cross-cloud actions, or a review workflow AWS cannot express.

The Production Verdict

AWS MCP Server is the right default for AWS-native agent access, not the whole control plane for production automation. It gives coding agents a managed MCP route into AWS documentation, AWS APIs, sandboxed scripts, IAM guardrails, CloudWatch metrics, and CloudTrail records. That is a strong boundary for AWS work. It is not a replacement for product-specific policy, tenant isolation, evals, approval queues, or run history.

AWS MCP Server user guide
AWS MCP Server user guide

The adoption rule is simple:

DecisionUse AWS MCP ServerBuild a custom MCP server
Agent needs current AWS docsYesNo, unless docs are mixed with private runbooks
Agent needs AWS API accessYes, scoped through IAMOnly for an app-owned policy layer
Agent needs tenant-specific approvalsNoYes
Agent needs cross-cloud or app database actionsNoYes
Agent needs every run visible in one ops dashboardPartial, via AWS telemetryYes
Agent can mutate production resourcesOnly after scoped rollout and reviewYes, when the review workflow is the product contract

The mistake is treating AWS MCP Server as permission to let a coding agent operate cloud infrastructure directly. The production move is narrower: use AWS for the AWS boundary, then wrap the high-risk actions in your own approval, eval, and observability layer.

If your team is still deciding whether the capability should be a shared MCP server or an app-local tool, use the rule in MCP vs Function Calling: The Production Decision Rule. AWS MCP is useful precisely because AWS access is shared, audited, and reused across agents.

What AWS Actually Shipped

AWS made the AWS MCP Server generally available on May 6, 2026. AWS describes it as a managed remote Model Context Protocol server that gives AI agents and coding assistants secure, authenticated access to AWS services through a small, fixed set of tools.

The server is part of the Agent Toolkit for AWS, which includes four components: AWS MCP Server, agent skills, plugins, and rules files. The docs say it works with Claude Code, Cursor, Codex, Kiro, Windsurf, Cline, and any other MCP-compatible agent.

The important detail is that AWS kept the server surface compact. The AWS News Blog says call_aws can execute any of the 15,000+ AWS API operations using existing IAM credentials. The same post says search_documentation and read_documentation retrieve current AWS documentation and best practices at query time, and run_script lets the agent run a short Python script server-side in a sandboxed environment.

That combination changes the failure mode. Before this, a coding agent usually had to infer AWS behavior from model memory, pasted docs, local shell commands, or a pile of narrow custom tools. With AWS MCP Server, the agent can ask AWS for current service information, then call AWS through a fixed protocol boundary.

The production value is not that the agent can do more. It is that the team can make the AWS part of the loop smaller and more inspectable:

SurfaceAWS MCP Server gives youProduction interpretation
Current service knowledgeDocumentation and service information retrievalPrefer this before code generation or infra changes
AWS API executioncall_aws through IAM credentialsScope the role as if it were a junior operator with logs
Multi-step AWS inspectionrun_script in a server-side sandboxGood for read-heavy diagnosis, risky for unreviewed writes
Agent guidanceSkills loaded on demandTreat skills as runbooks, not as policy enforcement
Client supportMCP-compatible coding agentsStandardize client config, do not let every project invent its own

AWS also says documentation search and skill discovery no longer require AWS credentials. That is useful for onboarding because a team can let agents retrieve AWS context before giving them authority to execute.

The Control Boundary Is IAM Plus Review

The AWS-side control boundary is IAM, CloudWatch, and CloudTrail. The Agent Toolkit docs say AWS MCP Server automatically adds two global condition context keys, aws:ViaAWSMCPService and aws:CalledViaAWSMCP, to all requests. The same docs say CloudTrail logs all API calls for audit visibility. The AWS News Blog adds that CloudWatch metrics are published under the AWS-MCP namespace.

That is the part to take seriously. It means agent-initiated AWS work can be separated from direct human API calls, at least on the AWS side. Your rollout should make that separation visible from day one:

  • MCP calls should have their own CloudWatch dashboard.
  • CloudTrail queries should separate agent-initiated API calls from human console or CLI calls.
  • IAM policies should start read-only and use the AWS MCP condition keys where your policy model needs to distinguish MCP traffic.
  • Mutating actions should stay denied until the review workflow is proven.
  • Every production change should still land in the same change-management path as human work.

The practical boundary is not "the agent has AWS." The boundary is "the agent can see current docs, inspect resources, and propose changes, while writes require an explicit gate."

For a team already using MCP, this maps cleanly to the authorization pattern in MCP Authorization for Production Servers: identity and token scope are necessary, but the system still needs separate consent, approval, and audit semantics.

A Production Rollout Pattern

Roll out AWS MCP Server as a staged cloud-operations capability, not as a blanket agent permission. The first version should make the agent better at reading, diagnosing, and proposing. Write access comes later, one operation class at a time.

  1. 1. Start with documentation and read-only inspection

    Connect the MCP server to one coding agent profile and one non-production AWS account first. Let the agent search AWS documentation, retrieve service information, inspect CloudFormation stack state, read CloudWatch logs, and summarize resource configuration. Do not enable broad mutating permissions in the first pass.

  2. 2. Create a dedicated IAM role for MCP traffic

    Do not reuse a human administrator role. The Agent Toolkit docs recommend scoping IAM roles to the minimum permissions the agent needs. Build a role that can answer the first operational questions you want to support, then deny everything else. If the agent cannot diagnose the incident with that role, add the missing read action deliberately.

  3. 3. Log the AWS side separately

    Create a CloudWatch view for the AWS-MCP namespace and a CloudTrail query that isolates MCP-initiated API calls. The team should be able to answer three questions after every run: what did the agent request, what did AWS execute, and what human approved the next step.

  4. 4. Test one incident scenario

    Pick a real but low-risk scenario, such as a Lambda error spike, a CloudFormation deployment failure, or an unexpected S3 access error. The agent's job is to gather evidence and draft a fix, not to apply it. Store the prompt, retrieved docs, API calls, answer, and reviewer decision.

  5. 5. Add one mutating path behind approval

    After read-only diagnosis is useful, open one narrow action class. A good first candidate is a reversible non-production action, such as updating a test stack parameter or restarting a staging service. Require approval before the action and log the before-state, requested action, AWS API call, after-state, and rollback instruction.

The first useful eval is small. Run the same incident scenario ten times across small variations and score:

MetricPass condition
RetrievalThe agent uses current AWS docs when service behavior matters
Permission respectThe agent does not ask for broad IAM changes as the first fix
Evidence qualityThe answer cites the AWS resources, logs, and API results it used
Change safetyThe proposed action includes blast radius and rollback
Cost awarenessThe agent flags resource creation or data-transfer risk before execution

This is where a custom MCP layer often enters. AWS gives the cloud access path. Your MCP layer owns the release policy, tenant policy, approval payload, and scorecard.

Use AWS MCP, AWS Labs Servers, Or Custom MCP By Ownership

AWS MCP Server is the managed AWS access path. AWS Labs MCP servers are a broader open source catalog. A custom MCP server is the place where your product and operating model become enforceable.

The AWS Labs MCP catalog describes open source MCP servers for AWS as a suite of specialized servers. At scrape time the catalog showed 59 servers across categories including Essential, Core, Documentation, Infrastructure & Deployment, AI & Machine Learning, Data & Analytics, Developer Tools & Support, Integration & Messaging, Cost & Operations, and Healthcare & Lifesciences.

AWS Labs MCP server catalog
AWS Labs MCP server catalog

Use the ownership model:

OptionBest forAvoid when
AWS MCP ServerCurrent AWS docs, authenticated AWS API access, CloudTrail-visible AWS operationsThe policy spans private app data, non-AWS systems, or custom approvals
AWS Labs local MCP serversDevelopment workflows, specialized AWS service workflows, local testingThe team needs one centrally governed server config
Custom MCP serverProduct-specific tools, tenant-aware actions, approval queues, internal APIs, run historyThe only job is generic AWS documentation or AWS API access

The local-vs-remote split matters too. AWS Labs docs describe local MCP servers as useful for development, testing, offline work, data privacy, low latency, and resource control. They describe remote MCP servers as useful for team collaboration, resource intensive tasks, always available access, automatic updates, centralized security controls, and governance.

That maps to production ownership:

  • Local MCP is a developer productivity surface.
  • Managed AWS MCP is an AWS access surface.
  • Custom MCP is an application control surface.

When the agent touches customer data, billing state, account configuration, deployment approvals, or internal admin workflows, we usually build the custom server. That server can still call AWS MCP or AWS APIs behind the scenes, but it owns the narrow tool contract the business can approve.

Where AWS MCP Still Falls Short

AWS MCP Server does not remove the need for evals, app-level approvals, or a unified AI ops dashboard. It makes AWS access cleaner. It does not prove the agent made the right decision.

There are five limits to design around:

  1. IAM is not product policy. IAM can restrict AWS actions. It does not know whether a given customer tenant, plan, incident, or business process allows an action.
  2. CloudTrail is not a run narrative. CloudTrail captures AWS API calls. Your ops layer still needs the prompt, tool calls, retrieved context, reviewer decision, model output, and rollback result.
  3. CloudWatch metrics are not evals. Metrics show the MCP path is active. They do not score whether the answer was grounded, safe, cheap, or correct.
  4. AWS scope is AWS scope. If the agent needs GitHub, Linear, Stripe, Supabase, Datadog, or your own database, the production boundary is bigger than AWS MCP.
  5. No additional charge is not no cost. AWS says there is no additional charge for the AWS MCP Server itself, but you still pay for AWS resources the agent provisions or interacts with and applicable data transfer or standard AWS pricing.

The release gate should be explicit:

GateRequired evidence
Read-only pilotCloudTrail separation, useful incident summaries, no broad permission requests
Staging writesHuman approval, rollback path, before/after state, cost note
Production writesScoped operation list, reviewer identity, run replay, eval pass, alerting
Custom MCP buildTenant policy, action schema, audit model, approval state machine

This is also the security posture from MCP Security Best Practices for Production Servers: the tool boundary is production infrastructure, not a convenience wrapper around prompts.

FAQ

Is AWS MCP Server free?

AWS says the AWS MCP Server has no additional charge. You still pay for AWS resources the agent provisions or interacts with, plus applicable data transfer or standard AWS pricing.

Which regions support AWS MCP Server?

AWS lists US East (N. Virginia) and Europe (Frankfurt) as supported AWS MCP Server Regions. The AWS News Blog says the server can make API calls to any Region.

Does AWS MCP Server replace a custom MCP server?

No. It replaces a large amount of AWS-specific plumbing, but a custom MCP server is still the right place for app-specific approvals, tenant policy, internal APIs, cross-system workflows, and run history.

Can AWS MCP Server run scripts?

Yes. AWS says run_script lets an agent run a short Python script server-side in a sandboxed environment. The sandbox inherits IAM permissions, but AWS says it has no network access and no access to the local file system or shell.

Should production teams allow AWS MCP Server to mutate resources?

Only after a staged rollout. Start with documentation and read-only inspection, capture CloudTrail and CloudWatch evidence, test a real incident scenario, then open one narrow mutating path behind human approval.

Last Updated

Jun 20, 2026

CategoryMCP
Newsletter

One letter, every week. Working systems — not hot takes.

Build logs, agentic engineering decisions, agent failures, evals, and what survives real users. Sent weekly, never more.

Weekly. No spam. Unsubscribe anytime.