AWS Documentation MCP Server
Provides access to AWS documentation, enabling users to fetch and convert documentation pages to markdown, search AWS documentation using the official search API, and get content recommendations for AWS documentation pages.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AWS Documentation MCP Serversearch for S3 bucket encryption best practices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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)
Related MCP server: RAG Documentation MCP Server
Prerequisites
Installation Requirements
Install
uvfrom Astral or the GitHub READMEInstall Python 3.10 or newer using
uv python install 3.10(or a more recent version)
Installation
Cursor | VS Code |
Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit ~/.aws/amazonq/mcp.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": []
}
}
}Note: Set
AWS_DOCUMENTATION_PARTITIONtoaws-cnto query AWS China documentation instead of global AWS documentation.
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"

Tools
read_documentation
Fetches an AWS documentation page and converts it to markdown format.
read_documentation(url: str) -> strsearch_documentation (global only)
Searches AWS documentation using the official AWS Documentation Search API.
search_documentation(search_phrase: str, limit: int) -> 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() -> strAvailable Tools
3 toolsread_documentationA
Fetch and convert an AWS documentation page to markdown format.
Usage
This tool retrieves the content of an AWS documentation page and converts it to markdown format. For long documents, you can make multiple calls with different start_index values to retrieve the entire content in chunks.
URL Requirements
Must be from the docs.aws.amazon.com domain
Must end with .html
Example URLs
https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html
Output Format
The output is formatted as markdown text with:
Preserved headings and structure
Code blocks for examples
Lists and tables converted to markdown format
Handling Long Documents
If the response indicates the document was truncated, you have several options:
Continue Reading: Make another call with start_index set to the end of the previous response
Stop Early: For very long documents (>30,000 characters), if you've already found the specific information needed, you can stop reading
Args: ctx: MCP context for logging and error handling url: URL of the AWS documentation page to read max_length: Maximum number of characters to return start_index: On return output starting at this character index
Returns: Markdown content of the AWS documentation
| Name | Required | Description | Default |
|---|---|---|---|
| max_length | No | Maximum number of characters to return. | |
| start_index | No | On return output starting at this character index, useful if a previous fetch was truncated and more content is required. | |
| url | Yes | URL of the AWS documentation page to read |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: URL domain and format requirements, handling of long documents via truncation and chunking, and output format details (markdown with preserved structure). It could improve by mentioning rate limits or authentication needs, but covers core operational behavior well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Usage, URL Requirements, Example URLs, Output Format, Handling Long Documents) and front-loads the core purpose. It's appropriately sized for the tool's complexity, though the 'Handling Long Documents' section is somewhat verbose. Every sentence serves a purpose, with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no annotations, but with output schema), the description provides complete context. It covers purpose, usage constraints, URL requirements, examples, output format, and handling of edge cases (long documents). With an output schema present, it doesn't need to detail return values, and it adequately compensates for the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema: it mentions start_index for chunking and max_length for truncation in the 'Handling Long Documents' section, but doesn't provide additional semantic context. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Fetch and convert an AWS documentation page to markdown format.' It specifies the exact action (fetch and convert), resource (AWS documentation page), and output format (markdown). It also distinguishes from sibling tools like 'search_documentation' by focusing on retrieving specific pages rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: for AWS documentation pages from docs.aws.amazon.com ending with .html. It also offers alternatives for handling long documents (continue reading with start_index or stop early) and implicitly contrasts with 'search_documentation' by focusing on fetching specific URLs rather than searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendA
Get content recommendations for an AWS documentation page.
Usage
This tool provides recommendations for related AWS documentation pages based on a given URL. Use it to discover additional relevant content that might not appear in search results.
Recommendation Types
The recommendations include four categories:
Highly Rated: Popular pages within the same AWS service
New: Recently added pages within the same AWS service - useful for finding newly released features
Similar: Pages covering similar topics to the current page
Journey: Pages commonly viewed next by other users
When to Use
After reading a documentation page to find related content
When exploring a new AWS service to discover important pages
To find alternative explanations of complex concepts
To discover the most popular pages for a service
To find newly released information by using a service's welcome page URL and checking the New recommendations
Finding New Features
To find newly released information about a service:
Find any page belong to that service, typically you can try the welcome page
Call this tool with that URL
Look specifically at the New recommendation type in the results
Result Interpretation
Each recommendation includes:
url: The documentation page URL
title: The page title
context: A brief description (if available)
Args: ctx: MCP context for logging and error handling url: URL of the AWS documentation page to get recommendations for
Returns: List of recommended pages with URLs, titles, and context
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the AWS documentation page to get recommendations for |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes what the tool does (returns recommendations in four categories), provides context about recommendation types, and explains how to interpret results. It doesn't mention rate limits, authentication needs, or error handling, but covers the core behavior well for a read-only recommendation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Usage, Recommendation Types, When to Use, Finding New Features, Result Interpretation) and uses bullet points effectively. It's appropriately sized for the tool's complexity, though some sections could be more concise. Every sentence adds value, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, no annotations, but with an output schema (implied by 'Returns' section), the description is complete. It explains what the tool does, when to use it, how recommendations are categorized, how to interpret results, and includes practical examples. The output schema handles return value documentation, so the description appropriately focuses on usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single 'url' parameter. The description adds minimal value beyond the schema, only mentioning the parameter in the 'Args' section without additional context. The baseline score of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get content recommendations for an AWS documentation page' and 'provides recommendations for related AWS documentation pages based on a given URL.' It distinguishes itself from sibling tools (read_documentation, search_documentation) by focusing on recommendations rather than direct content retrieval or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool with a dedicated 'When to Use' section listing five specific scenarios, including 'After reading a documentation page to find related content' and 'To find newly released information.' It also includes a 'Finding New Features' subsection with step-by-step instructions, clearly differentiating use cases from alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documentationA
Search AWS documentation using the official AWS Documentation Search API.
Usage
This tool searches across all AWS documentation for pages matching your search phrase. Use it to find relevant documentation when you don't have a specific URL.
Search Tips
Use specific technical terms rather than general phrases
Include service names to narrow results (e.g., "S3 bucket versioning" instead of just "versioning")
Use quotes for exact phrase matching (e.g., "AWS Lambda function URLs")
Include abbreviations and alternative terms to improve results
Result Interpretation
Each result includes:
rank_order: The relevance ranking (lower is more relevant)
url: The documentation page URL
title: The page title
context: A brief excerpt or summary (if available)
Args: ctx: MCP context for logging and error handling search_phrase: Search phrase to use limit: Maximum number of results to return
Returns: List of search results with URLs, titles, and context snippets
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| search_phrase | Yes | Search phrase to use |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool uses the 'official AWS Documentation Search API' and provides detailed behavioral context in the 'Search Tips' and 'Result Interpretation' sections, including how to phrase queries and what results contain. However, it doesn't mention rate limits, authentication needs, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Usage, Search Tips, Result Interpretation, Args, Returns) and front-loaded purpose. However, it includes some redundancy (e.g., repeating parameter info in Args that's in the schema) and could be more concise by integrating tips into the main flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, 100% schema coverage, and presence of an output schema, the description is complete. It covers purpose, usage, behavioral tips, result format, and parameters, providing sufficient context for an AI agent to use the tool effectively without needing to explain return values explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds minimal value beyond the schema, only briefly mentioning 'search_phrase' and 'limit' in the Args section without additional semantics. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'searches across all AWS documentation for pages matching your search phrase' using the 'official AWS Documentation Search API.' It distinguishes from sibling tools by specifying this is for searching when you don't have a specific URL, unlike 'read_documentation' which likely reads specific pages, and 'recommend' which suggests content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use it to find relevant documentation when you don't have a specific URL,' providing clear when-to-use guidance. It also distinguishes from alternatives by implying this is the tool for broad searches, while siblings like 'read_documentation' handle specific URLs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: read_documentation fetches and converts content, recommend provides related page suggestions, and search_documentation performs keyword searches. An agent can easily differentiate between reading existing content, discovering related content, and finding new content via search.
All tool names follow a consistent verb_noun pattern (read_documentation, recommend, search_documentation), with 'recommend' being a slight abbreviation but still maintaining the same readable style. The naming is predictable and uniform across the set.
With only 3 tools, the set feels thin for an AWS documentation server, which could benefit from more granular operations like filtering by service or category. However, the tools cover core use cases (read, discover, search), making it borderline but functional for basic documentation access.
The tools provide a solid foundation for reading, discovering, and searching AWS documentation, with no dead ends. Minor gaps exist, such as the inability to list available services or filter recommendations by type, but agents can work around these using the existing tools effectively.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Provides tools for searching Google Workspace documentation and much more.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Docs Q&A: search 169 data and AI guides, fetch any page as markdown. Read-only, keyless.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to enhance their responses with relevant documentation through a semantic vector search, offering tools for managing and processing documentation efficiently.2263MIT
- AlicenseAqualityDmaintenanceProvides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.7221MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search documentation of packages and services to find implementation details, examples, and specifications.MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search for documentation of packages and services, providing implementation details, examples, and specifications through a specialized API.1182MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hosseinzahed/aws-docs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server