AWS Labs MCP Servers

A suite of specialized MCP servers that give AI clients direct access to AWS docs, infrastructure, data and operations.

Source repo
awslabs/mcp
Stars
★ 9.8k
Last updated
1d ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
MCP serverCLI
Works with
Platform-specific
Cost
Free, no paid service needed
Setup effort
Medium · a few setup steps
You'll need
uvx (uv)AWS credentials/profilePython-based MCP server packages from awslabsShell / CLINetwork accessLocal filesystemMCP Server
Typical use
Engineers writing CloudFormation or CDK templates in Kiro or Cursor who want the agent to check current AWS docs and validate security.
Not a fit if
  • Teams that need equivalent capabilities outside the AWS ecosystem
  • Organizations unwilling to grant AWS credentials or IAM permissions to an AI client
  • Individuals wanting one general assistant instead of many specialized servers

What does this agent do, and when should you use it?

This is AWS Labs' open-source collection of Model Context Protocol servers for clients such as Kiro, Cline, Cursor, Windsurf, Claude Code and VS Code. The servers are organized both by what you are building and by how you work, and span AWS documentation access, infrastructure as code (CloudFormation/CDK), containers (EKS, ECS, Finch), serverless and Lambda, AI services (Bedrock, Kendra, Q Business), databases (DynamoDB, PostgreSQL, MySQL, Aurora DSQL, Neptune, DocumentDB), cost and support workflows, and healthcare scenarios. The servers are designed to support stdio only; Server Sent Events support was removed from all servers on May 26, 2025, and Streamable HTTP is still being worked on. Each server is typically published as an awslabs.* PyPI package launched through uvx, configured with environment variables such as AWS_PROFILE and AWS_REGION. The README also notes that Agent Toolkit for AWS is the successor to these MCP servers, plugins and skills, while this repo continues to work and accept contributions.

Each server is a separate MCP process: a client launches it over stdio (typically uvx awslabs.<server>@latest), and the server then calls the relevant AWS APIs or local tooling. For example, aws-documentation-mcp-server and the remote AWS Knowledge MCP Server fetch current docs and API references; aws-iac-mcp-server provides CloudFormation documentation, CDK best-practice guidance and security validation; eks-mcp-server, ecs-mcp-server and finch-mcp-server handle cluster management, orchestration and local image builds; aws-serverless-mcp-server drives the serverless lifecycle through SAM CLI; lambda-tool-mcp-server exposes Lambda functions as callable tools. Data servers (dynamodb-mcp-server, postgres-mcp-server, mysql-mcp-server, aurora-dsql-mcp-server, documentdb-mcp-server, amazon-neptune-mcp-server and others) run queries and modeling operations directly. Most servers gate write and sensitive-data actions behind explicit flags such as --allow-write, --allow-sensitive-data-access, DDB-MCP-READONLY and ALLOW_WRITE, and return results to the host application as MCP tool responses.

  1. Engineers writing CloudFormation or CDK templates in Kiro or Cursor who want the agent to check current AWS docs and validate security.
  2. Data engineers who want an AI assistant to inspect DynamoDB models or run SQL against Aurora PostgreSQL.
  3. Container platform teams operating EKS clusters, ECS services or local Finch image builds.
  4. Developers using SAM CLI for Lambda and serverless apps who want agent help across the lifecycle.
  5. Teams connecting enterprise knowledge (Bedrock Knowledge Bases, Kendra, Q Business) to a conversational assistant.
  6. Support or operations staff who need to create and track AWS Support cases from an AI client.

How do you install or deploy this agent?

There is no single installer; each server ships as a PyPI package run through uvx, so install uv (which provides uvx) and configure AWS credentials first. For the AWS documentation server the client config looks like this (path and field values should follow the matching README section):

{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_DOCUMENTATION_PARTITION": "aws"
      }
    }
  }
}

Servers with write capability need extra flags and AWS configuration, for example:

{
  "mcpServers": {
    "awslabs.eks-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.eks-mcp-server@latest", "--allow-write", "--allow-sensitive-data-access"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    }
  }
}

The README also documents config file locations for Kiro (~/.kiro/settings/mcp.json), Cline, Cursor (.cursor/mcp.json), Windsurf, VS Code (.vscode/mcp.json), Claude Code (.mcp.json) and fx, plus one-click install links for Cursor and VS Code.

How do you use this agent?

Add the server to your client config and restart the client; the agent can then call its tools in conversation. For Cursor, write to .cursor/mcp.json:

{
  "mcpServers": {
    "awslabs.dynamodb-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.dynamodb-mcp-server@latest"],
      "env": {
        "DDB-MCP-READONLY": "true",
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-west-2",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

Database servers also accept connection details on the command line, e.g. PostgreSQL:

uvx awslabs.postgres-mcp-server@latest --connection-string postgresql://[username]:[password]@[host]:[port]/[database]

Start with read-only settings (DDB-MCP-READONLY, ALLOW_WRITE=false) before enabling --allow-write and --allow-sensitive-data-access. For AWS-hosted remote servers such as AWS MCP Server or AWS Knowledge MCP Server, connect through mcp-proxy-for-aws or an HTTP URL:

uvx mcp-proxy-for-aws@latest https://aws-mcp.us-east-1.api.aws/mcp

What are this agent's strengths and limitations?

Pros
  • Large catalog organized by build scenario, from docs retrieval to EKS, DynamoDB and Bedrock knowledge bases, so you can mix only what you need.
  • Uniform distribution as awslabs.* PyPI packages launched with uvx — setup is a JSON block, not a local source build.
  • Write and sensitive-data actions are gated behind explicit flags such as --allow-write, --allow-sensitive-data-access and DDB-MCP-READONLY, giving a conservative default.
  • One-click install links for Cursor and VS Code plus documented configs for Kiro, Cline, Windsurf and Claude Code.
  • The hosted AWS MCP Server and AWS Knowledge MCP Server offer an AWS-maintained path with IAM-based permissions and CloudTrail audit logging.
Limitations
  • All local servers are stdio-only, and SSE support was removed on May 26, 2025, so SSE-dependent apps must stay on older major versions.
  • Streamable HTTP support is still in progress with no timeline stated in the README.
  • Each server needs its own AWS credentials, region and permissions, so per-scenario setup and debugging add up.
  • Deeply tied to AWS; it does not apply to other clouds or non-AWS workflows.
  • aws-iac-mcp-server is documented as the replacement for ccapi-mcp-server, and the README says the most useful projects will move to Agent Toolkit for AWS, creating a migration path to plan for.

How does this agent compare with similar options?

The README explicitly names Agent Toolkit for AWS as the successor to this repo's MCP servers, plugins and skills, recommended for production agents with IAM condition keys, CloudWatch/CloudTrail visibility and evaluated skills; this repo continues to work and accept contributions.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
AWS Labs MCP Servers This agent 48 · Major gaps MCP serverFree ★ 9.8k 1d ago Python —
Babysitter 52 · Major gaps CLIFree + model costs ★ 1.9k 1mo ago JavaScript Claude Code
Dagu Workflow Orchestrator 74 · Some gaps CLIFreemium ★ 4.4k today Go Codex · Claude Code · Claude API
Stakpak 57 · Major gaps CLIFree + model costs ★ 1.8k 3mo ago Rust OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
48/ 100 5-point scale 2.4 / 5
Trust 13/29
Reliability 6/14
Adaptability 10/18
Convention 10/18
Effectiveness 6/13
Verifiability 3/8
Why each dimension lost points
Trust13 / 29 · 2.2/5

Evidence shows explicit opt-in flags (--allow-write, --allow-sensitive-data-access, ALLOW_WRITE/ALLOW_SENSITIVE_DATA) defaulting off, indicating some least-privilege awareness (least_privilege=2); however README install snippets for EKS enable write and sensitive-data access directly, and no user-confirmation flow is documented (user_confirmation=1); data-flow transparency and sensitive-data handling are only flag names without detail (1 each); dependency security shows SHA-pinned actions and exact AWS CLI pinning but no audit evidence (dependency_security=2); external effects and rollback are only implied by release workflows, no agent-action rollback (1 each); source attribution has Apache-2.0 and copyright headers but publisher is unverified (source_attribution=2).

Reliability6 / 14 · 2.1/5

README is coherent on transports and SSE removal (self_consistency=2); dependency availability relies on uvx/PyPI with no lockfile or offline path shown (dependency_availability=1); failure messages appear only as mocked ctx.error in tests, no user-facing error guidance (failure_messages=1).

Adaptability10 / 18 · 2.8/5

README categorizes servers by build scenario and workflow, clear audience (audience_and_scenarios=2); stdio-only and per-server scope stated (capability_boundaries=2); no tool-level trigger descriptions (trigger_precision=1); multi-client config examples show environment fit (environment_fit=2).

Convention10 / 18 · 2.8/5

TOC and directory structure are well organized (information_architecture=2); install notes are detailed across clients (install_notes=2); naming stability reduced by deprecation and migration-to-Agent-Toolkit notice (naming_stability=1); many examples but little FAQ (examples_and_faq=1); known limitations limited to SSE removal and deprecation (known_limitations=1); full LICENSE (license=3); release workflow and tagging documented (versioning_changelog=2); maintenance responsibility via CODEOWNERS and release roles but publisher unverified (maintenance_responsibility=2).

Effectiveness6 / 13 · 2.3/5

Output usability is descriptive only, no tool output examples (output_usability=1); clear marginal value for AWS scenarios (marginal_value=2); cost-benefit lacks quantification (cost_benefit=1).

Verifiability3 / 8 · 1.9/5

Claims trace to README and workflow files but are largely self-asserted (claim_traceability=1); cross-source corroboration limited to partial test/README overlap (cross_source_corroboration=1); fact/inference separation is moderate with marketing language in README (fact_inference_separation=1).

Risks and how to mitigate them
  • Publisher identity is unverified; do not infer safety or reliability from it.
  • README install snippets enable write and sensitive-data access for the EKS server by default; confirm permission scope manually.
  • Repo notes migration to Agent Toolkit for AWS and some servers are deprecated; long-term maintenance path is uncertain.
  • No agent-action rollback mechanism or data-flow detail is provided; assess before production use.
Evidence confidence: Low Reviewed Oct 20, 2026 Reviewed revision 78227a76b2b3
See the full review method →

FAQ

Do these servers cost anything?
The repo is Apache-2.0 and the servers are free, but any AWS resources and API calls they trigger are billed to your own AWS account.
Can I reach the local servers remotely or over HTTP?
No. Servers here support stdio only; SSE was removed on May 26, 2025 and Streamable HTTP is still in development. For remote access, use the AWS-hosted remote MCP Server via mcp-proxy-for-aws.
How do I avoid accidentally mutating production resources?
Write access is explicitly opt-in: EKS, Serverless and SageMaker require --allow-write and --allow-sensitive-data-access, DynamoDB has DDB-MCP-READONLY, and ECS has ALLOW_WRITE/ALLOW_SENSITIVE_DATA. Start read-only and scope the AWS IAM permissions.
Should I stay on this repo or move to Agent Toolkit for AWS?
For production agent work the README recommends Agent Toolkit for AWS for IAM condition keys that distinguish agent actions from human ones, CloudWatch/CloudTrail visibility and evaluated skills; this repo remains usable and its most useful projects will gradually move there.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents