Skip to content
MCP server

AWS MCP

By amazonAll Amazon Web Services servers

Give agents secure access to AWS via MCP

Listed on

First seen 2 Oct 2026. One server, whatever directories list it: each directory listing keeps its own page and history.

1
Directories
Collected by InvokeRank
8
Tools
From an anonymous probe
-
ToolBench grade
Not graded by Arcade
-
GitHub stars
No repository data

Tools

ToolDescriptionBehaviour
aws___get_presigned_urlGenerate pre-signed S3 URLs for uploading or downloading files. Use BEFORE run_script when an operation requires a local file. Use for direct S3 uploads/downloads. Max upload 5 GB; larger files use multipart. For uploads: generates PUT URL. For downloads: generates GET URL. No special headers needed unless s3_params provided—then corresponding HTTP headers MUST be included or request fails with SignatureDoesNotMatch.Changes data
aws___get_regional_availabilityAWS resource availability per region. - Max 10 regions; multi-region needs `filters`; single-region supports `next_token`. - Status: isAvailableIn | isNotAvailableIn | isPlannedIn | Not Found. - Response key: products | service_apis | cfn_resources. Not for region counts/docs/vague queries -- use `search_documentation` / `list_regions`. Filter values must EXACTLY match AWS's catalog names; guessed, partial, or pluralized names are rejected ("values in filter parameter do not exist"). If unsure of the exact name, first call once for a single region with resource_type set and NO filters to list all valid names, then re-call filtering on the exact match.Read-only
aws___get_tasksPoll status of long-running tasks. Use after a tool call returns task_id with status "working". Up to 3 IDs per call. Tasks expire after 5 min. Pass poll_iteration (start at 1, increment each call) and follow the recommended_wait_seconds in the response before polling again.Read-only
aws___list_regionsRetrieve a list of all AWS regions.Read-only
aws___read_documentationFetch full AWS doc pages as markdown. `search_documentation` already returns verbatim page chunks, so don't re-read a URL whose chunk you already have to "confirm" or "round out" an answer -- the chunk is the real page text; treat it as authoritative. Reading the full page is justified ONLY when the chunks genuinely lack the content: - an enumeration or aggregation ("list all X", "how many X") needs the complete set and the chunks show only part of it; - no search result is on-topic after refining the query, and a known doc URL would have the answer. Otherwise, answer from the chunks. Use exact URLs from `search_documentation`; don't guess slugs. Input: `requests: [{url, max_length?, start_index?}]`. Batch 2-5. - `max_length` default 10000. - `start_index` default 0; use prior `end_index` to continue, TOC offset to jump. Allow-listed prefixes: docs.aws.amazon.com; aws.amazon.com (not /marketplace); repost.aws/knowledge-center; docs.amplify.aws; ui.docs.amplify.aws; github.com/{aws-cloudformation/aws-cloudformation-templates, aws-samples/{aws-cdk-examples, generative-ai-cdk-constructs-samples, serverless-patterns}, awsdocs/aws-cdk-guide, awslabs/aws-solutions-constructs, cdklabs/cdk-nag} (README on `main`); constructs.dev/packages/{@aws-cdk-containers, @aws-cdk, @cdk-cloudformation, aws-analytics-reference-architecture, aws-cdk-lib, cdk-amazon-chime-resources, cdk-aws-lambda-powertools-layer, cdk-ecr-deployment, cdk-lambda-powertools-python-layer, cdk-serverless-clamscan, cdk8s, cdk8s-plus-33}; strandsagents.com/latest/documentation/docs/; karpenter.sh/docs/; Amazon Braket: {amazon-braket-sdk-python, amazon-braket-schemas-python, amazon-braket-default-simulator-python, amazon-braket-pennylane-plugin-python, amazon-braket-algorithm-library, qiskit-braket-provider, autoqasm, qirtoqasm}.readthedocs.io and github.com/amazon-braket/* (blob/tree/raw). Output: SUCCESS -- markdown + `total_length, start_index, end_index, truncated, redirected_url?` (truncated includes TOC with char ranges). ERROR -- `error_code` in {not_found, invalid_url, throttled, downstream_error, validation_error}.Read-only
aws___retrieve_skillRetrieve an AWS skill (workflows, references). Returns SKILL.md, or `file` if given. Call `search_documentation` FIRST and copy `skill_name` verbatim -- it is an opaque registry ID. Never guess or fabricate `skill_name` or `file`.Read-only
aws___run_scriptExecute Python code in sandboxed environment with AWS API access via `call_boto3`. No network except `call_boto3`. ```python async def call_boto3( *, service_name: str, operation_name: str, region_name: str | None = None, params: dict | None = None, ) -> dict: ... ``` ``operation_name`` MUST be the PascalCase AWS API operation name (e.g. ``ListBuckets``, ``GetTable``, ``StartQueryExecution``). Do not use the snake_case boto3 method name (``list_buckets``, ``get_table``); exact matches are corrected only as a runtime fallback. Response includes `api_calls` list—verify APIs ran before trusting `return_value`. REQUIRED PATTERNS: - Return `result={...}` then `result` alone as final expression - Call each API once; results auto-paginate - Return ALL resources—missing one is wrong - Return raw data fields; let LLM judge thresholds - Use `asyncio.gather(*[...])` with `return_exceptions=True` for reads; let mutations raise ⚠️ LIST→DESCRIBE: List* returns only names/ARNs. Use Get*/Describe* for attributes. ⚠️ CONTENTS vs CONTAINER: "empty buckets"→ListObjects; "records"→Scan; "X configured"→Get*Configuration. RULES: 1. SELF-CONTAINED: Discover resources inside script. 2. ALL-REGIONS: DescribeRegions→gather per region. 3. PERMISSIONS: All policies ONE script. `bucket`≠`bucket/*`. Report YES/PARTIAL/NO. PRE-IMPORTED: asyncio, collections, csv, dataclasses, datetime, decimal, enum, fractions, functools, itertools, json, math, re, statistics, string, time, typing, uuid, ClientError, io.StringIO, io.BytesIO. BUILTIN MODULES: AWS teams provide higher-level functions for complex jobs. Find out more with: ```python import aws_mcp help(aws_mcp) ``` To search for available functions: ```python await aws_mcp.search_functions("search query in natural language") ```Destructive
aws___search_documentationAWS docs search. Each result's `context` is verbatim page text -- a real chunk of the actual page, not a short snippet -- and usually already contains the answer, so answer directly from it. Use `read_documentation` only when the chunks genuinely lack the needed detail. Pick ONE topic. Add a 2nd ONLY if query genuinely spans domains. Extra topics dilute ranking. - reference_documentation -- API/SDK/CLI specs, config params - current_awareness -- new/released/announced - troubleshooting -- errors, "how to fix" (NOT for conceptual/feature questions) - amplify_docs -- Amplify (+ language) - cdk_docs -- CDK concepts/guides - cdk_constructs -- CDK code samples, L3 - cloudformation -- CFN/SAM templates - strands_docs -- Strands Agents SDK (its Skills/agents concepts go here, NOT agent_skills) - agent_skills -- this tool's guided skills (load via `retrieve_skill`) - general (default) -- architecture, best practices, tutorials, feature behavior Results: rank_order (lower=better), url, title, context (verbatim page chunk -- answer directly from it).Read-only

Directory listings

DirectoryListingTierFirst seen
ClaudeAWS MCPpartner2 Oct 2026