Skip to main content
skill CX Codex

aws-mcp-setup — Claude Code skill: what it does, how to install

Configures AWS MCP servers for documentation lookup and AWS API calls. Helpful when setting up mcp-proxy-for-aws or lightweight awsdocs without credentials.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add zxkane/aws-skills --skill aws-mcp-setup -a claude-code
Open on GitHub

What aws-mcp-setup does

The skill inspects your development environment and configures AWS MCP servers in agent settings. It reads .mcp.json or .claude.json files, checks for uvx in PATH, and verifies active credentials via aws sts get-caller-identity.

Two integration paths are supported. The full setup runs mcp-proxy-for-aws via uvx, enabling live AWS API execution alongside doc search. This path strictly requires Python 3.10+, configured AWS credentials, and aws-mcp:* IAM permissions. Missing IAM permissions immediately lead to AccessDenied errors.

When no local Python setup or AWS credentials exist, the skill configures the public knowledge-mcp.global.api.aws HTTP endpoint. It needs no authentication and supports only documentation search.

What it helps with

  • configure mcp-proxy-for-aws for AWS API access
  • connect documentation search via knowledge-mcp
  • inspect .mcp.json and .claude.json server configs
  • troubleshoot uvx missing commands and IAM permission errors

Example prompts for the agent

  • Help me set up the AWS MCP server for API access
  • Configure lightweight AWS documentation MCP without credentials
  • Troubleshoot aws-mcp connection errors in my MCP config

How to install aws-mcp-setup

1Skills CLI (Vercel)

npx skills add zxkane/aws-skills --skill aws-mcp-setup -a claude-code

2Manually: put the files in place

~/.claude/skills/aws-mcp-setup/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/aws-mcp-setup/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about aws-mcp-setup

How to install aws-mcp-setup in Claude Code?

Run npx skills add zxkane/aws-skills --skill aws-mcp-setup -a claude-code. Alternatively, you can place the skill file into ~/.claude/skills/aws-mcp-setup/SKILL.md.

What does aws-mcp-setup do?

It inspects your environment and configures AWS MCP servers for AWS API operations or documentation search.

What is the difference between Full AWS MCP and Documentation MCP?

Full AWS MCP requires Python 3.10+, uvx, and AWS credentials to execute API calls and search docs. Documentation MCP connects via HTTP without authentication or Python, but only searches manuals.

Source text

SKILL.md · MIT
---
name: aws-mcp-setup
description: Configure AWS MCP servers for documentation search and API access. Use when setting up AWS MCP, configuring AWS documentation tools, troubleshooting MCP connectivity, or when user mentions aws-mcp, awsdocs, uvx setup, or MCP server configuration. Covers both Full AWS MCP Server (with uvx + credentials) and lightweight Documentation MCP (no auth required).
allowed-tools:
  - Bash(which *)
  - Bash(aws sts get-caller-identity*)
  - Bash(claude mcp *)
  - Bash(cat *mcp.json*)
  - Bash(cat *claude.json*)
---

# AWS MCP Server Configuration Guide

## Overview

This guide helps you configure AWS MCP tools for AI agents. Two options are available:

| Option | Requirements | Capabilities |
|--------|--------------|--------------|
| **Full AWS MCP Server** | Python 3.10+, uvx, AWS credentials | Execute AWS API calls + documentation search |
| **AWS Documentation MCP** | None | Documentation search only |

## Step 1: Check Existing Configuration

Before configuring, check if AWS MCP tools are already available using either method:

### Method A: Check Available Tools (Recommended)

Look for these tool name patterns in your agent's available tools:
- `mcp__aws-mcp__*` or `mcp__aws__*` → Full AWS MCP Server configured
- `mcp__*awsdocs*__aws___*` → AWS Documentation MCP configured

**How to check**: Run `/mcp` command to list all active MCP servers.

### Method B: Check Configuration Files

Agent tools use hierarchical configuration (precedence: local → project → user → enterprise):

| Scope | File Location | Use Case |
|-------|---------------|----------|
| Local | `.claude.json` (in project) | Personal/experimental |
| Project | `.mcp.json` (project root) | Team-shared |
| User | `~/.claude.json` | Cross-project personal |
| Enterprise | System managed directories | Organization-wide |

Check these files for `mcpServers` containing `aws-mcp`, `aws`, or `awsdocs` keys:

```bash
# Check project config
cat .mcp.json 2>/dev/null | grep -E '"(aws-mcp|aws|awsdocs)"'

# Check user config
cat ~/.claude.json 2>/dev/null | grep -E '"(aws-mcp|aws|awsdocs)"'

# Or use Claude CLI
claude mcp list
```

If AWS MCP is already configured, no further setup needed.

## Step 2: Choose Configuration Method

### Automatic Detection

Run these commands to determine which option to use:

```bash
# Check for uvx (requires Python 3.10+)
which uvx || echo "uvx not available"

# Check for valid AWS credentials
aws sts get-caller-identity || echo "AWS credentials not configured"
```

### Option A: Full AWS MCP Server (Recommended)

**Use when**: uvx available AND AWS credentials valid

**Prerequisites**:
- Python 3.10+ with `uv` package manager
- AWS credentials configured (via profile, environment variables, or IAM role)

**Required IAM Permissions**:
```json
{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "aws-mcp:InvokeMCP",
      "aws-mcp:CallReadOnlyTool",
      "aws-mcp:CallReadWriteTool"
    ],
    "Resource": "*"
  }]
}
```

**Configuration** (add to your MCP settings):
```json
{
  "mcpServers": {
    "aws-mcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--metadata", "AWS_REGION=us-west-2"
      ]
    }
  }
}
```

**Credential Configuration Options**:

1. **AWS Profile** (recommended for development):
   ```json
   "args": [
     "mcp-proxy-for-aws@latest",
     "https://aws-mcp.us-east-1.api.aws/mcp",
     "--profile", "my-profile",
     "--metadata", "AWS_REGION=us-west-2"
   ]
   ```

2. **Environment Variables**:
   ```json
   "env": {
     "AWS_ACCESS_KEY_ID": "...",
     "AWS_SECRET_ACCESS_KEY": "...",
     "AWS_REGION": "us-west-2"
   }
   ```

3. **IAM Role** (for EC2/ECS/Lambda): No additional config needed - uses instance credentials

**Additional Options**:
- `--region <region>`: Override AWS region
- `--read-only`: Restrict to read-only tools
- `--log-level <level>`: Set logging level (debug, info, warning, error)

**Reference**: https://github.com/aws/mcp-proxy-for-aws

### Option B: AWS Documentation MCP Server (No Auth)

**Use when**:
- No Python/uvx environment
- No AWS credentials
- Only need documentation search (no API execution)

**Configuration**:
```json
{
  "mcpServers": {
    "awsdocs": {
      "type": "http",
      "url": "https://knowledge-mcp.global.api.aws"
    }
  }
}
```

## Step 3: Verification

After configuration, verify tools are available:

**For Full AWS MCP**:
- Look for tools: `mcp__aws-mcp__aws___search_documentation`, `mcp__aws-mcp__aws___call_aws`

**For Documentation MCP**:
- Look for tools: `mcp__awsdocs__aws___search_documentation`, `mcp__awsdocs__aws___read_documentation`

## Troubleshooting

| Issue | Cause | Solution |
|-------|-------|----------|
| `uvx: command not found` | uv not installed | Install with `pip install uv` or use Option B |
| `AccessDenied` error | Missing IAM permissions | Add aws-mcp:* permissions to IAM policy |
| `InvalidSignatureException` | Credential issue | Check `aws sts get-caller-identity` |
| Tools not appearing | MCP not started | Restart your agent after config change |

© zxkane · MIT · zxkane/aws-skills

Similar skills

Everything for Cloud: AWS, Azure, GCP →

From the same set5

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor