servers / awslabs-aws-support-mcp-server

awslabs.aws-support-mcp-server

communityunknownpythonwrite capablehealthy

An Model Context Protocol (MCP) server for AWS SupportAPI.


01Tools · 11

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
resolve_support_case
Resolve a support case. ## Usage - You must provide a valid case ID - The case must be in an open state to be resolved ## Example ``` resolve_support_case(case_id='case-12345678910-2013-c4c1d2bf33c5cf47') ```
unknownunknownunknown
create_support_case
Create a new AWS Support case. ## Prerequisites 1. **describe_services** → get valid `service_code` and `category_code` values 2. (Optional) **describe_create_case_options** → check support hours and language availability 3. (Optional) **describe_supported_languages** → check if your preferred language is supported Severity codes are: low, normal, high, urgent, critical. Pick based on impact — no need to call describe_severity_levels. ## Attaching files Call **add_attachments_to_set** first to upload files, then pass the returned `attachmentSetId` as the `attachment_set_id` parameter here. ## Example ``` create_support_case( subject='EC2 instance not starting', service_code='amazon-elastic-compute-cloud-linux', category_code='using-aws', severity_code='urgent', communication_body='My EC2 instance i-1234567890abcdef0 is not starting.', ) ``` ## Severity Level Guidelines - low (General guidance): You have a general development question or want to request a feature. - normal (System impaired): Non-critical functions are behaving abnormally or you have a time-sensitive development question. - high (Production system impaired): Important functions are impaired but a workaround exists. - urgent (Production system down): Your business is significantly impacted and no workaround exists. - critical (Business-critical system down): Your business is at risk and critical functions are unavailable.
writetrueunknown
describe_severity_levels
Retrieve information about AWS Support severity levels. This tool provides details about the available severity levels for AWS Support cases, including their codes and descriptions. ## Usage - You can request the response in either JSON or Markdown format. - Use this information to determine the appropriate severity level for creating support cases. ## Example ``` describe_severity_levels() describe_severity_levels(language='ja', format='markdown') ``` ## Severity Level Guidelines - low (General guidance): You have a general development question or want to request a feature - normal (System impaired): Non-critical functions are behaving abnormally - high (Production system impaired): Important functions are impaired but a workaround exists - urgent (Production system down): Your business is significantly impacted; no workaround exists - critical (Business-critical system down): Your business is at risk; critical functions unavailable
readfalseunknown
add_communication_to_case
Add communication to a support case. ## Usage - You must provide a valid case ID - You must provide a communication body - You can optionally CC email addresses on the communication ## Attaching files Call **add_attachments_to_set** first to upload files, then pass the returned `attachmentSetId` as the `attachment_set_id` parameter here. ## Example ``` add_communication_to_case( case_id='case-12345678910-2013-c4c1d2bf33c5cf47', communication_body='Here is an update on my issue...', ) ```
writetrueunknown
describe_attachment
Retrieve an attachment by ID. ## Usage - Get attachment IDs from describe_communications results - Returns the file name and base64-encoded content ## Example ``` describe_attachment(attachment_id='attachment-id-from-communications') ```
readfalseunknown
describe_support_cases
Retrieve information about support cases. ## Usage - You can retrieve cases by ID, display ID, or date range - You can include or exclude resolved cases and communications - You can paginate through results using the next_token parameter - Use **describe_communications** to get the full communication history for a case ## Example ``` describe_support_cases( case_id_list=['case-12345678910-2013-c4c1d2bf33c5cf47'], include_communications=True ) ``` ## Date Format Dates should be provided in ISO 8601 format (e.g., "2023-01-01T00:00:00Z") ## Response Format You can request the response in either JSON or Markdown format using the format parameter.
readfalseunknown
describe_create_case_options
Retrieve supported hours and language availability for a service. Returns communication types (e.g., chat, phone, web) with their supported hours and any dates without support, plus language availability status. ## Usage - Check what support channels and hours are available before creating a case - languageAvailability will be: available, best_effort, or unavailable ## Example ``` describe_create_case_options(service_code='ec2-container-service') ```
writetrueunknown
describe_supported_languages
Retrieve supported languages for a specific service and category. Returns a list of languages with their ISO 639-1 code and display name. Language support varies by service, category, and issue type. ## Usage - Call before creating a case in a non-English language to verify support - Requires service_code and category_code (get these from describe_services) ## Example ``` describe_supported_languages( service_code='ec2-container-service', category_code='general-guidance', issue_type='technical', ) ```
readfalseunknown
describe_services
Retrieve information about AWS services available for support cases. This tool provides details about AWS services, including their service codes, names, and categories. Use this information when creating support cases to ensure you're using valid service and category codes. ## Usage - You can optionally filter results by providing specific service codes - You can specify the language for the response - You can request the response in either JSON or Markdown format ## Example ```python # Get all services describe_services() # Get specific services describe_services(service_code_list=['amazon-elastic-compute-cloud-linux', 'amazon-s3']) # Get services in Japanese describe_services(language='ja') # Get services in Markdown format describe_services(format='markdown') ``` ## Response Format The JSON response includes service codes, names, and their categories: ```json { "amazon-elastic-compute-cloud-linux": { "name": "Amazon Elastic Compute Cloud (Linux)", "categories": [ {"code": "using-aws", "name": "Using AWS"} ] } } ```
readfalseunknown
describe_communications
Retrieve communications for a support case. ## Usage - Provide a case ID to get all communications for that case - Use date filters and pagination for large result sets - Communications may include attachment IDs — use **describe_attachment** to download them ## Example ``` describe_communications(case_id='case-12345678910-2013-c4c1d2bf33c5cf47') ```
readfalseunknown
add_attachments_to_set
Add attachments to a new or existing attachment set. ## Usage - Use before create_support_case or add_communication_to_case - Pass the returned attachmentSetId to those tools - Attachment sets expire after 1 hour; each file must be < 5MB - The `data` field must be the file contents as a base64-encoded string - The server decodes it to raw bytes before sending to AWS (the SDK handles wire encoding) - Do NOT double-encode: encode the raw file bytes to base64 exactly once ## Example ``` add_attachments_to_set( attachments=[{'fileName': 'error.log', 'data': '<base64-encoded-file-contents>'}] ) ```
writetrueunknown

02Install & source
pip install awslabs.aws-support-mcp-server
pip
uvx awslabs.aws-support-mcp-server
uvx

05Provenance & freshness
sourcesPyPI [p4]
last_checked2026-08-14 09:04Z
next_check2026-08-18 09:05Z
cadenceevery 48h
verifiedmetadata:passed tools_list:passed handshake:passed metadata:passed metadata:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed
index_statusindex5 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. awslabs.aws-support-mcp-server MCP — as seen on mcpexplorer.com

[![awslabs.aws-support-mcp-server MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/awslabs-aws-support-mcp-server.svg)](https://mcpexplorer.com/servers/awslabs-aws-support-mcp-server)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →