AWS Documentation MCP Server
Provides tools to access AWS documentation, search for content, fetch and convert documentation pages to markdown format, and get content recommendations for AWS documentation pages.
Supports running the MCP server in a Docker container, with configuration options for environment variables and container management.
Converts AWS documentation pages to markdown format for easier consumption and reference by AI agents.
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: AWS 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 |
|---|---|---|---|
| url | Yes | URL of the AWS documentation page to read | |
| 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. |
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/format requirements, pagination/truncation handling for long documents, output format details (markdown with preserved structure), and practical usage patterns. It doesn't mention rate limits, authentication needs, or error handling, but provides substantial operational context.
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) that make it easy to scan. While somewhat lengthy, each section adds value. The front-loaded purpose statement is clear, and the content earns its place by providing necessary operational guidance.
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 complexity (URL validation, pagination, format conversion) and the presence of an output schema (which handles return value documentation), the description is remarkably complete. It covers purpose, usage constraints, examples, output format, handling of edge cases (long documents), and parameter interaction. No significant gaps remain for agent understanding.
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 three parameters thoroughly. The description adds some context about how parameters work together (start_index for pagination, max_length for truncation) and provides example URLs, but doesn't add significant semantic meaning beyond what's in the parameter descriptions. 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.' This specifies both the action (fetch and convert) and the resource (AWS documentation page), with the format conversion being a key distinguishing feature. It differentiates from sibling tools like 'search_documentation' by focusing on retrieving and formatting 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 usage guidance in multiple sections. It specifies when to use this tool (for AWS docs from docs.aws.amazon.com ending in .html) and when to make multiple calls (for long documents). It also mentions alternatives implicitly by distinguishing from sibling tools and provides practical handling options for long documents (continue reading or stop early).
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 the tool's behavior: it returns recommendations in four categories (Highly Rated, New, Similar, Journey), explains what each category means, and details the result structure (URL, title, context). It also clarifies that recommendations are based on the given URL and might include pages not in search results. However, it doesn't mention potential limitations like rate limits or error conditions.
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), making it easy to scan. However, it includes some redundancy (e.g., repeating parameter info in Args/Returns sections) and could be slightly more concise without losing clarity.
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 (one parameter, no annotations, but with an output schema), the description is highly complete. It explains the tool's purpose, usage scenarios, recommendation categories, how to interpret results, and includes a practical example. With an output schema present, it doesn't need to detail return values extensively, and it provides sufficient context for an agent to use the tool effectively.
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: it repeats the parameter description ('URL of the AWS documentation page to get recommendations for') and provides examples of how to use it (e.g., using a service's welcome page URL). This meets the baseline of 3 when schema coverage is high.
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 this from sibling tools (read_documentation, search_documentation) by focusing on recommendations rather than reading or searching 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 provides explicit guidance on when to use this tool: 'After reading a documentation page to find related content,' 'When exploring a new AWS service,' 'To find alternative explanations,' 'To discover the most popular pages,' and 'To find newly released information.' It also includes a specific workflow for finding new features, making it clear when this tool is appropriate versus 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
Use guide_type and product_type filters found from a SearchResponse's "facets" property:
Filter only for broad search queries with patterns:
"What is [service]?" -> product_types: ["Amazon Simple Storage Service"]
"How to use <service 1> with <service 2>?" -> product_types: [<service 1>, <service 2>]
"[service] getting started" -> product_types: [] + guide_types: ["User Guide, "Developer Guide"]
"API reference for [service]" -> product_types: [] + guide_types: ["API Reference"]
Result Interpretation
Each SearchResponse includes:
search_results: List of documentation pages, each with:
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)
facets: Available filters (product_types, guide_types) for refining searches
query_id: Unique identifier for this search session
Args: ctx: MCP context for logging and error handling search_phrase: Search phrase to use search_intent: The intent behind the search requested by the user limit: Maximum number of results to return product_types: Filter by AWS product/service guide_types: Filter by guide type
Returns: List of search results with URLs, titles, query ID, context snippets, and facets for filtering
| Name | Required | Description | Default |
|---|---|---|---|
| search_phrase | Yes | Search phrase to use | |
| search_intent | No | For the search_phrase parameter, describe the search intent of the user. CRITICAL: Do not include any PII or customer data, describe only the AWS-related intent for search. | |
| limit | No | Maximum number of results to return | |
| product_types | No | Filter results by AWS product/service (e.g., ["Amazon Simple Storage Service"]) | |
| guide_types | No | Filter results by guide type (e.g., ["User Guide", "API Reference", "Developer Guide"]) |
Output Schema
| Name | Required | Description |
|---|---|---|
| facets | No | |
| query_id | Yes | |
| search_results | 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 the tool's behavior: it searches documentation, returns ranked results with URLs/titles/context, provides facets for filtering, and includes a query ID. However, it doesn't mention rate limits, authentication needs, or error handling, which are minor gaps.
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) and is appropriately sized. However, it includes some redundancy (e.g., repeating parameter info in 'Args' that's already in the schema) and could be slightly more front-loaded, though overall it's efficient.
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 complexity (search with filters), no annotations, and an output schema, the description is complete. It explains the tool's purpose, usage, behavioral aspects, and result interpretation thoroughly. The output schema handles return values, so the description doesn't need to detail them extensively, making it well-rounded.
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 by briefly mentioning parameters in the 'Args' section and providing usage examples in search tips, but doesn't significantly enhance parameter understanding beyond what's in the structured data.
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 AWS documentation using the official API, specifying the resource (AWS documentation) and distinguishing it from sibling tools like 'read_documentation' (which likely reads specific pages) and 'recommend' (which may suggest content). It explicitly mentions searching across all AWS documentation for pages matching a search phrase.
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 ('when you don't have a specific URL') and includes detailed search tips with examples. It also explains how to interpret results and use facets for refining searches, offering clear alternatives and context for effective usage.
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: read_documentation fetches and converts content, recommend provides related page suggestions, and search_documentation performs keyword searches. There is no overlap in functionality, making it easy for an agent to select the appropriate tool based on the task.
All tool names follow a consistent verb_noun pattern (read_documentation, recommend, search_documentation) using snake_case. The naming is predictable and aligned with their functions, enhancing readability and usability.
With only 3 tools, the server feels thin for an AWS documentation domain, which could involve more operations like filtering, summarizing, or managing documentation history. While the tools cover core reading, searching, and recommending, the scope might benefit from additional utilities to handle complex documentation workflows.
The tool set covers essential documentation interactions: reading, searching, and discovering related content. However, there are minor gaps, such as no tools for summarizing documentation, tracking changes, or interacting with user-specific documentation notes, which could limit advanced agent workflows.
Maintenance
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
Provides access to Google's public developer documentation.
Provides tools for searching Google Workspace documentation and much more.
Provides access to Avalara developer documentation, integration guides, and code examples
Versioned documentation registry and semantic search for AI tools and coding assistants.
Related MCP Servers
- -licenseAqualityNot gradedmaintenanceEnables users to access, search, and get recommendations from AWS documentation through natural language queries. Supports both global AWS documentation and AWS China documentation with tools to fetch pages, search content, and discover related resources.3
- AlicenseAqualityDmaintenanceEnables access to AWS documentation through natural language by fetching and converting documentation pages to markdown, searching AWS docs, and getting content recommendations for AWS service documentation.3Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables searching AWS Amplify documentation using natural language queries with advanced search syntax, smart ranking, and generation selection.141ISC
- AlicenseAqualityCmaintenanceEnables searching and reading OCI documentation using the Oracle Help Center Search API. Provides tools for finding relevant documentation URLs and reading page content.211MIT
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/daniel-levesque/aws-documentation-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server