aws-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aws-mcpWhat EC2 instances are running in us-east-1?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aws-mcp
A remote MCP (Model Context Protocol) server that runs on Cloudflare Workers and lets an MCP client (like Claude) execute AWS commands with your own credentials.
How it works (and an important note about the "AWS CLI")
Cloudflare Workers run in a lightweight V8 isolate — there is no filesystem,
no subprocesses, and no Python, so the real aws CLI binary cannot run there.
Instead, this Worker talks to AWS the same way the CLI does under the hood: it
builds SigV4-signed HTTPS requests to the AWS service APIs. The result is the
same capability — "give it keys and run AWS commands" — implemented in a way that
actually runs on Cloudflare, with zero runtime dependencies (SigV4 is
hand-rolled with the Web Crypto API).
The MCP client (Claude) knows the AWS APIs, so it can drive the generic
aws_api_request tool to perform essentially any operation, plus there are
ready-made convenience tools for common tasks.
Related MCP server: remote-mcp-server-authless
Tools exposed
Tool | What it does |
| Escape hatch — run ANY AWS API call (choose service, region, method, path, query, headers, body). Returns raw HTTP status + body. |
| Who am I? Verifies the credentials are wired up. |
| List all S3 buckets. |
| List objects in a bucket (optional prefix). |
| Describe EC2 instances in a region. |
| List available regions. |
| List IAM users. |
| List Lambda functions. |
Deploy to Cloudflare (via the GitHub form you have open)
The repo is already set up for Cloudflare's "Import a repository" flow:
Build command: (leave empty)
Deploy command:
npx wrangler deploy
Click Deploy. Cloudflare installs dependencies and runs Wrangler, which reads
wrangler.toml and publishes the Worker named aws-mcp.
After the first deploy — add your secrets
The Worker needs credentials. Set them as secrets (never commit them). Either in the dashboard (Workers & Pages → aws-mcp → Settings → Variables and Secrets → Add → Encrypt) or from a terminal:
npx wrangler secret put MCP_AUTH_TOKEN # a long random string YOU invent
npx wrangler secret put AWS_ACCESS_KEY_ID
npx wrangler secret put AWS_SECRET_ACCESS_KEY
# optional, only for temporary/STS credentials:
npx wrangler secret put AWS_SESSION_TOKENThe default region lives in wrangler.toml (AWS_DEFAULT_REGION); override per
call with a region argument.
Security:
MCP_AUTH_TOKENis what stops the public internet from using your AWS keys. Always set it. Give AWS keys the least privilege you need — this server can do whatever those keys can do.
Connect an MCP client
Add the Worker URL (e.g. https://aws-mcp.<your-subdomain>.workers.dev) as a
Streamable HTTP MCP server, sending your token:
Authorization: Bearer <MCP_AUTH_TOKEN>For Claude Code / CLI:
claude mcp add --transport http aws https://aws-mcp.<your-subdomain>.workers.dev \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"Clients that can't set headers may instead append ?token=<MCP_AUTH_TOKEN> to the URL.
Quick checks
# health (no auth needed)
curl https://aws-mcp.<your-subdomain>.workers.dev/health
# list tools
curl -X POST https://aws-mcp.<your-subdomain>.workers.dev \
-H "Authorization: Bearer <MCP_AUTH_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# who am I
curl -X POST https://aws-mcp.<your-subdomain>.workers.dev \
-H "Authorization: Bearer <MCP_AUTH_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"sts_get_caller_identity","arguments":{}}}'Local development
npm install
cp .dev.vars.example .dev.vars # fill in your keys
npm run devLayout
src/index.ts MCP JSON-RPC over HTTP (Streamable HTTP transport) + routing/auth
src/aws.ts AWS request execution + tool definitions
src/sigv4.ts AWS Signature V4 signer (Web Crypto, no dependencies)
wrangler.toml Cloudflare Worker configThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceAllows you to deploy a remote MCP server without authentication on Cloudflare Workers.
- Flicense-qualityCmaintenanceDeploys a remote MCP server on Cloudflare Workers without authentication, enabling tool-based AI interactions from clients like Claude Desktop and AI Playground.
- Flicense-qualityCmaintenanceA remote MCP server deployed on Cloudflare Workers without authentication. Enables connecting MCP tools from AI Playground or Claude Desktop.
- Flicense-qualityCmaintenanceDeploys a customizable remote MCP server on Cloudflare Workers without authentication, enabling tools to be used with clients like Claude Desktop and Cloudflare AI Playground.
Related MCP Connectors
Cloudflare Workers MCP server: crypto-signal
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aStormspirit/aws-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server