
AWS Documentation MCP Server
Model Context Protocol (MCP) server for AWS Documentation
This MCP server provides tools to access AWS documentation, search for content, and get recommendations.
Features
-
Read Documentation: Fetch and convert AWS documentation pages to markdown format
-
Search Documentation: Search AWS documentation using the official search API (global only)
-
Read Sections: Fetches sections of AWS documentation page and converts it to markdown format.
-
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)
Environment Variables
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
Corporate Network Support
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"
}
}
Tools
read_documentation
Fetches an AWS documentation page and converts it to markdown format.
read_documentation(url: str) -> str
search_documentation (global only)
Searches AWS documentation using the official AWS Documentation Search API.
search_documentation(ctx: Context, search_phrase: str, limit: int, product_types: Optional[List[str]], guide_types: Optional[List[str]]) -> SearchResponse
read_sections (global only)
Fetches sections of AWS documentation page and converts it to markdown format.
read_sections(url: str, section: list[str]) -> list[dict]
recommend (global only)
Gets content recommendations for an AWS documentation page.
recommend(url: str) -> list[dict]
get_available_services (China only)
Gets a list of available AWS services in China regions.
get_available_services() -> str
Development
For getting started with development on the AWS Documentation MCP server, please refer to the awslabs/mcp DEVELOPER_GUIDE first. Everything below this is specific to AWS Documentation MCP Server development.
Running tests
Unit tests: uv run --frozen pytest --cov --cov-branch --cov-report=term-missing
Unit tests with integration tests: uv run --frozen pytest --cov --cov-branch --cov-report=term-missing --run-live
Prerequisites
Installation Requirements
-
Install
uvfrom Astral or the GitHub README -
Install Python 3.10 or newer using
uv python install 3.10(or a more recent version)
Installation
Kiro 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 Kiro MCP configuration, see the Kiro IDE documentation or the Kiro CLI documentation for details.
For global configuration, edit ~/.kiro/settings/mcp.json. For project-specific configuration, edit .kiro/settings/mcp.json in your project directory.
Windows Installation
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_PARTITION to aws-cn to 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_AGENT to 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": []
}
}
}
Basic Usage
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"
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.