AWS Documentation
HTTP-SSESTDIOMCP server providing access to AWS documentation with search, reading, and recommendation capabilities
MCP server providing access to AWS documentation with search, reading, and recommendation capabilities
Model Context Protocol (MCP) server for AWS Documentation
This MCP server provides tools to access AWS documentation, search for content, and get recommendations.
uv from Astral or the GitHub READMEuv python install 3.10 (or a more recent version)| Cursor | VS Code | 
|---|---|
Configure the MCP server in your MCP client configuration:
{ "mcpServers": { "awslabs.aws-documentation-mcp-server": { "command": "uvx", "args": ["awslabs.aws-documentation-mcp-server@latest"], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_DOCUMENTATION_PARTITION": "aws", "MCP_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" }, "disabled": false, "autoApprove": [] } } }
For Amazon Q Developer CLI, add the MCP client configuration and tool command to the agent file in ~/.aws/amazonq/cli-agents.
Example, ~/.aws/amazonq/cli-agents/default.json
{ "mcpServers": { "awslabs.aws-documentation-mcp-server": { "command": "uvx", "args": ["awslabs.aws-documentation-mcp-server@latest"], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_DOCUMENTATION_PARTITION": "aws" }, "disabled": false, "autoApprove": [] } }, "tools": [ // .. other existing tools "@awslabs.aws-documentation-mcp-server" ], }
For Windows users, the MCP server configuration format is slightly different:
{ "mcpServers": { "awslabs.aws-documentation-mcp-server": { "disabled": false, "timeout": 60, "type": "stdio", "command": "uv", "args": [ "tool", "run", "--from", "awslabs.aws-documentation-mcp-server@latest", "awslabs.aws-documentation-mcp-server.exe" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_DOCUMENTATION_PARTITION": "aws" } } } }
Note: Set
AWS_DOCUMENTATION_PARTITIONtoaws-cnto query AWS China documentation instead of global AWS documentation.Corporate Networks: If you're behind a corporate proxy or firewall that blocks certain User-Agent strings, set
MCP_USER_AGENTto match your browser's User-Agent to an allowable string.
or docker after a successful docker build -t mcp/aws-documentation .:
{ "mcpServers": { "awslabs.aws-documentation-mcp-server": { "command": "docker", "args": [ "run", "--rm", "--interactive", "--env", "FASTMCP_LOG_LEVEL=ERROR", "--env", "AWS_DOCUMENTATION_PARTITION=aws", "mcp/aws-documentation:latest" ], "env": {}, "disabled": false, "autoApprove": [] } } }
| Variable | Description | Default | 
|---|---|---|
FASTMCP_LOG_LEVEL | Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) | WARNING | 
AWS_DOCUMENTATION_PARTITION | AWS partition (aws or aws-cn) | aws | 
MCP_USER_AGENT | Custom User-Agent string for HTTP requests | Chrome-based default | 
For corporate environments with proxy servers or firewalls that block certain User-Agent strings:
{ "env": { "MCP_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" } }
Example:

Fetches an AWS documentation page and converts it to markdown format.
read_documentation(url: str) -> str
Searches AWS documentation using the official AWS Documentation Search API.
search_documentation(search_phrase: str, limit: int) -> list[dict]
Gets content recommendations for an AWS documentation page.
recommend(url: str) -> list[dict]
Gets a list of available AWS services in China regions.
get_available_services() -> str