Fetch and convert AWS related documentation pages to markdown format.
## Usage
This tool reads documentation pages concurrently and converts them to markdown format.
Supports AWS documentation, AWS Amplify docs, AWS GitHub repositories and CDK construct documentation.
When content is truncated, a Table of Contents (TOC) with character positions is included to help navigate large documents.
## Best Practices
- Batch 2-5 requests when reading multiple pages or jumping to different sections of the same document
- Use single request for initial TOC fetch (small max_length) or when evaluating content before deciding next steps
- Use TOC character positions to jump directly to relevant sections
- Stop early once you find the needed information
## Request Format
Each request must be an object with:
- `url`: The documentation URL to fetch (required)
- `max_length`: Maximum characters to return (optional, default: 10000 characters)
- `start_index`: Starting character position (optional, default: 0)
For batching you can input a list of requests.
## Example Request
```
{
"requests":
[
{
"url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html",
"max_length": 5000,
"start_index": 0
},
{
"url": "https://repost.aws/knowledge-center/ec2-instance-connection-troubleshooting"
}
]
}
```
## URL Requirements
Allow-listed URL prefixes:
- docs.aws.amazon.com
- aws.amazon.com
- repost.aws/knowledge-center
- docs.amplify.aws
- ui.docs.amplify.aws
- github.com/aws-cloudformation/aws-cloudformation-templates
- github.com/aws-samples/aws-cdk-examples
- github.com/aws-samples/generative-ai-cdk-constructs-samples
- github.com/aws-samples/serverless-patterns
- github.com/awsdocs/aws-cdk-guide
- github.com/awslabs/aws-solutions-constructs
- github.com/cdklabs/cdk-nag
- constructs.dev/packages/@aws-cdk-containers
- constructs.dev/packages/@aws-cdk
- constructs.dev/packages/@cdk-cloudformation
- constructs.dev/packages/aws-analytics-reference-architecture
- constructs.dev/packages/aws-cdk-lib
- constructs.dev/packages/cdk-amazon-chime-resources
- constructs.dev/packages/cdk-aws-lambda-powertools-layer
- constructs.dev/packages/cdk-ecr-deployment
- constructs.dev/packages/cdk-lambda-powertools-python-layer
- constructs.dev/packages/cdk-serverless-clamscan
- constructs.dev/packages/cdk8s
- constructs.dev/packages/cdk8s-plus-33
- strandsagents.com/
Deny-listed URL prefixes:
- aws.amazon.com/marketplace
## Example URLs
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
- https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html
- https://aws.amazon.com/about-aws/whats-new/2023/02/aws-telco-network-builder/
- https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments/
- https://aws.amazon.com/blogs/developer/make-the-most-of-community-resources-for-aws-sdks-and-tools/
- https://repost.aws/knowledge-center/example-article
- https://docs.amplify.aws/react/build-a-backend/auth/
- https://ui.docs.amplify.aws/angular/connected-components/authenticator
- https://github.com/aws-samples/aws-cdk-examples/blob/main/README.md
- https://github.com/awslabs/aws-solutions-constructs/blob/main/README.md
- https://constructs.dev/packages/aws-cdk-lib/v/2.229.1?submodule=aws_lambda&lang=typescript
- https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/README.md
- https://strandsagents.com/docs/user-guide/quickstart/overview/index.md
## Output Format
Returns a list of results, one per request:
- Success: Markdown content with `status: "SUCCESS"`, `total_length`, `start_index`, `end_index`, `truncated`, `redirected_url` (if page was redirected)
- Error: Error message with `status: "ERROR"`, `error_code` (not_found, invalid_url, throttled, downstream_error, validation_error)
- Truncated content includes a ToC with character positions for navigation
- Redirected pages include a note in the content and populate the `redirected_url` field
## 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 previous `end_index`
2. **Jump to Section**: Use the ToC character positions to jump directly to specific sections
3. **Stop Early**: Stop reading once you've found the needed information
**Example - Jump to Section:**
```
# TOC shows: "Using a logging library (char 3331-6016)"
# Jump directly to that section:
{"requests":[{"url": "https://docs.aws.amazon.com/lambda/latest/dg/python-logging.html", "start_index": 3331, "max_length": 3000}]}
```