Skip to main content
Glama
daniel-levesque

AWS Documentation MCP Server

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

  1. Install uv from Astral or the GitHub README

  2. Install Python 3.10 or newer using uv python install 3.10 (or a more recent version)

Installation

Cursor

VS Code

Install MCP Server

Install on 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_PARTITION to aws-cn to 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:

AWS Documentation MCP Demo

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(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() -> str

Available Tools

3 tools
read_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

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:

  1. Continue Reading: Make another call with start_index set to the end of the previous response

  2. 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

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the AWS documentation page to read
max_lengthNoMaximum number of characters to return.
start_indexNoOn return output starting at this character index, useful if a previous fetch was truncated and more content is required.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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:

  1. Highly Rated: Popular pages within the same AWS service

  2. New: Recently added pages within the same AWS service - useful for finding newly released features

  3. Similar: Pages covering similar topics to the current page

  4. 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:

  1. Find any page belong to that service, typically you can try the welcome page

  2. Call this tool with that URL

  3. 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

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the AWS documentation page to get recommendations for

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
search_phraseYesSearch phrase to use
search_intentNoFor 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.
limitNoMaximum number of results to return
product_typesNoFilter results by AWS product/service (e.g., ["Amazon Simple Storage Service"])
guide_typesNoFilter results by guide type (e.g., ["User Guide", "API Reference", "Developer Guide"])

Output Schema

ParametersJSON Schema
NameRequiredDescription
facetsNo
query_idYes
search_resultsYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

A4.4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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