Model Context Protocol (MCP) server for AWS Documentation
This MCP server provides tools to access AWS documentation, search for content, and get recommendations.
- Read Documentation: Fetch and convert AWS documentation pages to markdown format
- Search Documentation: Search AWS documentation using the official search API (global only)
- Recommendations: Get content recommendations for AWS documentation pages (global only)
- Get Available Services List: Get a list of available AWS services in China regions (China only)
- Install
uvfrom Astral or the GitHub README - Install Python 3.10 or newer using
uv 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:
- "look up documentation on S3 bucket naming rule. cite your sources"
- "recommend content for page https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html"
Fetches an AWS documentation page and converts it to markdown format.
read_documentation(url: str) -> strSearches 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