1.2.2 → 1.2.3
patch release, 13 October 2026No tool definition changed.
MCP servers / awslabs.aws-documentation-mcp-server
2 of its last 5 updates changed what the agent reads: 2 tool descriptions rewritten, up to 1.2.3.
PyPI package · PyPI page · recorded on 24 October 2026 on a clean machine with placeholder settings; only tools/list was sent. A changed description is not a vulnerability. Method and limits.
No tool definition changed.
No tool definition changed.
No tool definition changed.
Releases tried: 1.1.29 (2026-08-05); 1.1.30 (2026-08-10); 1.2.0 (2026-08-26); 1.2.1 (2026-09-08); 1.2.2 (2026-09-30); 1.2.3 (2026-10-13).
The pin is the SHA-256 of the tool's name, description and input schema, as verfy.lock records it. The same pin in your lock means your agent reads this exact definition.
| Tool | Description | Pin |
|---|---|---|
| read_documentation | 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 ## Large Tables Tables with more than 20 rows are automatically truncated to show only the header and 5 sample rows, along with a hint to use the `search_table` tool. Use `search_table` to filter and retrieve specific rows from large tables (e.g., service quotas, IAM actions). ## 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 | cd90a186161e |
| read_sections | Extract specific sections from AWS documentation pages by title. Retrieves a page, converts to markdown, and returns only matching sections. Section matching is case-insensitive and handles whitespace differences. ## URL Requirements - Must end with .html ## Large Tables Tables with more than 20 rows are automatically truncated to show only the header and 5 sample rows, along with a hint to use the `search_table` tool. Use `search_table` to filter and retrieve specific rows from large tables (e.g., service quotas, IAM actions). ## Read Sections Tips - Use exact section titles from search results 'sections' field when available - Section matching is case-insensitive and handles whitespace differences - Include multiple related sections in one call for comprehensive coverage ## Example Usage ``` # If query is about S3 bucket naming rules: # Available sections: ['General purpose buckets naming rules', 'Example general purpose bucket names', 'Best practices', 'Creating a bucket that uses a GUID in the bucket name'] # Read these specific sections: read_sections( url='https://docs.aws.amazon.com/s3/latest/userguide/bucketnamingrules.html', section_titles=['General purpose buckets naming rules', 'Best practices'], ) # If query is about Python Lambda function examples: # Available sections: ['Example Python Lambda function code', 'Handler naming conventions', 'Using the Lambda event object', 'Accessing and using the Lambda context object'. 'Valid handler signatures for Python handlers', 'Returning a value', 'Using the AWS SDK for Python (Boto3) in your handler', 'Accessing environment variables, 'Code best practices for Python Lambda functions'] # Read these specific sections: read_sections( url='https://docs.aws.amazon.com/lambda/latest/dg/python-handler.html', section_titles=[ 'Example Python Lambda function code', 'Code best practices for Python Lambda functions', ], ) ``` Args: ctx: MCP context for logging and error handling url: URL of the AWS documentation page to read section_titles: List of section titles to extract Returns: Filtered markdown content containing only the requested sections | 79b0d4afc20d |
| search_table | Search for specific rows in a large documentation table. Use this tool when you need specific rows from a large documentation table (e.g., service quotas, pricing tables, supported models lists). Returns matching rows as JSON instead of dumping the entire table. This is more efficient than read_sections for pages with hundreds of table rows. If read_sections or read_documentation indicates a table was truncated, use this tool to find the specific rows you need. ## Section Title - If you know the exact section title, provide it for precision - If unsure, omit section_title — the tool will search all tables on the page - Use section titles from search_documentation results (TOC) or read_documentation output - If the section title is wrong, the hint field will list available sections ## URL Requirements - Must be from the docs.aws.amazon.com domain - Must end with .html ## Example Usage ``` # With section title (searches all tables in that section): search_table( url='https://docs.aws.amazon.com/general/latest/gr/bedrock.html', section_title='Amazon Bedrock service quotas', query='Titan Text Embeddings V2', ) # Without section title (searches all tables on the page): search_table( url='https://docs.aws.amazon.com/general/latest/gr/bedrock.html', query='Claude 3 Sonnet requests', ) ``` ## Response Format Returns a SearchTableResponse with: - tables_searched: Number of tables searched - tables_with_matches: Number of tables containing matching rows - hint: Guidance message when no matches found, section not found, or no tables on page - results: Array of table result objects, each with: - table_heading: The sub-heading above the table (if any) - columns: Column headers for that table - parent_columns: (optional) For rowspan/nested tables, which columns are group headers - child_columns: (optional) For rowspan/nested tables, which columns are nested under groups - total_rows: Total rows (or groups, for nested tables) in that table - matched_rows: Number of rows/groups matching the query per table - showing: Number of rows/groups returned per table (capped by max_rows per table) - rows: Array of matching row objects. For flat tables: {column → value}. For nested tables: {parent_col → value, ..., "rows": [{child_col → value}, ...]} Args: ctx: MCP context for logging and error handling url: AWS documentation page URL (must end with .html) section_title: The section heading containing the table (optional — omit to search all tables on the page) query: Search term to filter rows (all words must match, case-insensitive) max_rows: Maximum matching rows to return per table (default 20) Returns: SearchTableResponse with matching rows grouped by table | b8cc8e5a36f0 |
| search_documentation | 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: [<service>] + guide_types: ["User Guide, "Developer Guide"] - "API reference for [service]" -> product_types: [<service>] + 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) - recommended_sections: A subset of section titles ranked as most relevant to the query, in rank order (when available) - Pass these directly to read_sections for targeted content extraction - sections: All available section titles for this page (when available) - individual titles can be used with the read_sections tool for targeted content extraction - metadata: Optional per-result context (when available). May include: - additional_urls: Other doc URLs related to the same result `{url, section_title, section_anchor}` - pass `section_title` to read_sections to fetch content; use `url#section_anchor` when citing - facets: Available filters (product_types, guide_types) for refining searches - query_id: Unique identifier for this search session - metadata: Optional response-level context (when available). May include: - discovered_services: AWS services inferred from the query that may be relevant beyond the top results - related_tasks: Related operations or workflows the user may want to follow up on, each with its own doc URLs - relationships: Named connections between information in the search results, useful for understanding how the returned topics relate to each other 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 | 24818535e4c1 |
| recommend | 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 three categories: 1. **New**: Recently added pages within the same AWS service - useful for finding newly released features 2. **Similar**: Pages covering similar topics to the current page 3. **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 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 | 4b367ccfca70 |
Pin what awslabs.aws-documentation-mcp-server serves you today, commit the lock, and a pull request fails when a tool changes, with the text before and after. Pin the package version in your MCP config as well.
$ pip install verfy
$ verfy lock check --update # shows each tool, then writes verfy.lock
$ git add verfy.lock# .github/workflows/verfy.yml, after actions/checkout
- uses: anvarbekovjavohir277-dot/verfy-action@v1Maintain this server? Run the same check on your releases and add the Locked by Verfy badge to your README.