# 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)
- **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)
## Prerequisites
### Installation Requirements
1. Install `uv` from [Astral](https://docs.astral.sh/uv/getting-started/installation/) or the [GitHub README](https://github.com/astral-sh/uv#installation)
2. Install Python 3.10 or newer using `uv python install 3.10` (or a more recent version)
## Installation
| Cursor | VS Code |
|:------:|:-------:|
| [](https://cursor.com/en/install-mcp?name=awslabs.aws-documentation-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuYXdzLWRvY3VtZW50YXRpb24tbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiRkFTVE1DUF9MT0dfTEVWRUwiOiJFUlJPUiIsIkFXU19ET0NVTUVOVEFUSU9OX1BBUlRJVElPTiI6ImF3cyJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D) | [](https://insiders.vscode.dev/redirect/mcp/install?name=AWS%20Documentation%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.aws-documentation-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%2C%22AWS_DOCUMENTATION_PARTITION%22%3A%22aws%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
Configure the MCP server in your MCP client configuration:
```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",
"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](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line.html), add the MCP client configuration and tool command to the agent file in `~/.aws/amazonq/cli-agents`.
Example, `~/.aws/amazonq/cli-agents/default.json`
```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"
],
}
```
### Windows Installation
For Windows users, the MCP server configuration format is slightly different:
```json
{
"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 .`:
```json
{
"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": []
}
}
}
```
## 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:
```json
{
"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"
}
}
```
## 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"

## Tools
### read_documentation
Fetches an AWS documentation page and converts it to markdown format.
```python
read_documentation(url: str) -> str
```
### search_documentation (global only)
Searches AWS documentation using the official AWS Documentation Search API.
```python
search_documentation(search_phrase: str, limit: int) -> list[dict]
```
### recommend (global only)
Gets content recommendations for an AWS documentation page.
```python
recommend(url: str) -> list[dict]
```
### get_available_services (China only)
Gets a list of available AWS services in China regions.
```python
get_available_services() -> str
```
Raw data
{
"_id": null,
"home_page": null,
"name": "awslabs.aws-documentation-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Amazon Web Services",
"author_email": "AWSLabs MCP <203918161+awslabs-mcp@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/1f/bc/a894643313f904e03d7192a55016784a466ee9eba36b09141730bfb207f6/awslabs_aws_documentation_mcp_server-1.1.9.tar.gz",
"platform": null,
"description": "# AWS Documentation MCP Server\n\nModel Context Protocol (MCP) server for AWS Documentation\n\nThis MCP server provides tools to access AWS documentation, search for content, and get recommendations.\n\n## Features\n\n- **Read Documentation**: Fetch and convert AWS documentation pages to markdown format\n- **Search Documentation**: Search AWS documentation using the official search API (global only)\n- **Recommendations**: Get content recommendations for AWS documentation pages (global only)\n- **Get Available Services List**: Get a list of available AWS services in China regions (China only)\n\n## Prerequisites\n\n### Installation Requirements\n\n1. Install `uv` from [Astral](https://docs.astral.sh/uv/getting-started/installation/) or the [GitHub README](https://github.com/astral-sh/uv#installation)\n2. Install Python 3.10 or newer using `uv python install 3.10` (or a more recent version)\n\n## Installation\n\n| Cursor | VS Code |\n|:------:|:-------:|\n| [](https://cursor.com/en/install-mcp?name=awslabs.aws-documentation-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuYXdzLWRvY3VtZW50YXRpb24tbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiRkFTVE1DUF9MT0dfTEVWRUwiOiJFUlJPUiIsIkFXU19ET0NVTUVOVEFUSU9OX1BBUlRJVElPTiI6ImF3cyJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D) | [](https://insiders.vscode.dev/redirect/mcp/install?name=AWS%20Documentation%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.aws-documentation-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%2C%22AWS_DOCUMENTATION_PARTITION%22%3A%22aws%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |\n\nConfigure the MCP server in your MCP client configuration:\n\n```json\n{\n \"mcpServers\": {\n \"awslabs.aws-documentation-mcp-server\": {\n \"command\": \"uvx\",\n \"args\": [\"awslabs.aws-documentation-mcp-server@latest\"],\n \"env\": {\n \"FASTMCP_LOG_LEVEL\": \"ERROR\",\n \"AWS_DOCUMENTATION_PARTITION\": \"aws\",\n \"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\"\n },\n \"disabled\": false,\n \"autoApprove\": []\n }\n }\n}\n```\n\nFor [Amazon Q Developer CLI](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line.html), add the MCP client configuration and tool command to the agent file in `~/.aws/amazonq/cli-agents`.\n\nExample, `~/.aws/amazonq/cli-agents/default.json`\n\n```json\n{\n \"mcpServers\": {\n \"awslabs.aws-documentation-mcp-server\": {\n \"command\": \"uvx\",\n \"args\": [\"awslabs.aws-documentation-mcp-server@latest\"],\n \"env\": {\n \"FASTMCP_LOG_LEVEL\": \"ERROR\",\n \"AWS_DOCUMENTATION_PARTITION\": \"aws\"\n },\n \"disabled\": false,\n \"autoApprove\": []\n }\n },\n \"tools\": [\n // .. other existing tools\n \"@awslabs.aws-documentation-mcp-server\"\n ],\n}\n```\n\n### Windows Installation\n\nFor Windows users, the MCP server configuration format is slightly different:\n\n```json\n{\n \"mcpServers\": {\n \"awslabs.aws-documentation-mcp-server\": {\n \"disabled\": false,\n \"timeout\": 60,\n \"type\": \"stdio\",\n \"command\": \"uv\",\n \"args\": [\n \"tool\",\n \"run\",\n \"--from\",\n \"awslabs.aws-documentation-mcp-server@latest\",\n \"awslabs.aws-documentation-mcp-server.exe\"\n ],\n \"env\": {\n \"FASTMCP_LOG_LEVEL\": \"ERROR\",\n \"AWS_DOCUMENTATION_PARTITION\": \"aws\"\n }\n }\n }\n}\n```\n\n\n> **Note**: Set `AWS_DOCUMENTATION_PARTITION` to `aws-cn` to query AWS China documentation instead of global AWS documentation.\n>\n> **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.\n\nor docker after a successful `docker build -t mcp/aws-documentation .`:\n\n```json\n{\n \"mcpServers\": {\n \"awslabs.aws-documentation-mcp-server\": {\n \"command\": \"docker\",\n \"args\": [\n \"run\",\n \"--rm\",\n \"--interactive\",\n \"--env\",\n \"FASTMCP_LOG_LEVEL=ERROR\",\n \"--env\",\n \"AWS_DOCUMENTATION_PARTITION=aws\",\n \"mcp/aws-documentation:latest\"\n ],\n \"env\": {},\n \"disabled\": false,\n \"autoApprove\": []\n }\n }\n}\n```\n\n## Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|----------|\n| `FASTMCP_LOG_LEVEL` | Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) | `WARNING` |\n| `AWS_DOCUMENTATION_PARTITION` | AWS partition (`aws` or `aws-cn`) | `aws` |\n| `MCP_USER_AGENT` | Custom User-Agent string for HTTP requests | Chrome-based default |\n\n### Corporate Network Support\n\nFor corporate environments with proxy servers or firewalls that block certain User-Agent strings:\n\n```json\n{\n \"env\": {\n \"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\"\n }\n}\n```\n\n## Basic Usage\n\nExample:\n\n- \"look up documentation on S3 bucket naming rule. cite your sources\"\n- \"recommend content for page https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html\"\n\n\n\n## Tools\n\n### read_documentation\n\nFetches an AWS documentation page and converts it to markdown format.\n\n```python\nread_documentation(url: str) -> str\n```\n\n### search_documentation (global only)\n\nSearches AWS documentation using the official AWS Documentation Search API.\n\n```python\nsearch_documentation(search_phrase: str, limit: int) -> list[dict]\n```\n\n### recommend (global only)\n\nGets content recommendations for an AWS documentation page.\n\n```python\nrecommend(url: str) -> list[dict]\n```\n\n### get_available_services (China only)\n\nGets a list of available AWS services in China regions.\n\n```python\nget_available_services() -> str\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "An AWS Labs Model Context Protocol (MCP) server for AWS Documentation",
"version": "1.1.9",
"project_urls": {
"Bug Tracker": "https://github.com/awslabs/mcp/issues",
"Changelog": "https://github.com/awslabs/mcp/blob/main/src/aws-documentation-mcp-server/CHANGELOG.md",
"Documentation": "https://awslabs.github.io/mcp/servers/aws-documentation-mcp-server/",
"Homepage": "https://awslabs.github.io/mcp/",
"Source": "https://github.com/awslabs/mcp.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9d6d3d089c6388f1e197b226a6d6e4278cbd55783b32b1d4f3cda486205cb5e0",
"md5": "0aae739b70320a156f1351e5d7fe5975",
"sha256": "4813eee14532204fb2c8c940f9e667fa62ea46e22767f27390dc28cb02625b99"
},
"downloads": -1,
"filename": "awslabs_aws_documentation_mcp_server-1.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0aae739b70320a156f1351e5d7fe5975",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 23385,
"upload_time": "2025-10-13T20:47:50",
"upload_time_iso_8601": "2025-10-13T20:47:50.385931Z",
"url": "https://files.pythonhosted.org/packages/9d/6d/3d089c6388f1e197b226a6d6e4278cbd55783b32b1d4f3cda486205cb5e0/awslabs_aws_documentation_mcp_server-1.1.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1fbca894643313f904e03d7192a55016784a466ee9eba36b09141730bfb207f6",
"md5": "02dbc784f3a32aa79a1aee52dac54fcc",
"sha256": "abac0bad9d32a2f0abc710490c5c7c0d550ab6f5b761f93147012b2d614e0717"
},
"downloads": -1,
"filename": "awslabs_aws_documentation_mcp_server-1.1.9.tar.gz",
"has_sig": false,
"md5_digest": "02dbc784f3a32aa79a1aee52dac54fcc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3854541,
"upload_time": "2025-10-13T20:47:53",
"upload_time_iso_8601": "2025-10-13T20:47:53.791648Z",
"url": "https://files.pythonhosted.org/packages/1f/bc/a894643313f904e03d7192a55016784a466ee9eba36b09141730bfb207f6/awslabs_aws_documentation_mcp_server-1.1.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-13 20:47:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "awslabs",
"github_project": "mcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "awslabs.aws-documentation-mcp-server"
}