The AWS documentation tool provides unified access to AWS official documentation and pricing information through five action modes: search, fetch, recommend, list_pricing_services, and get_service_pricing.
- AWS documentation tool: "What is this service and how does it work?"
- AWS pricing tool: "How much does this service cost?"
- Context7 tools (
resolve_library_id&get_library_documentation): "How do I code against this service?"
Tool Name: aws_documentation
Actions: search, fetch, recommend, list_pricing_services, get_service_pricing
Enablement: Requires ENABLE_ADDITIONAL_TOOLS=aws
action(string): Action to perform - one of "search", "fetch", or "recommend"
For search action:
search_phrase(required): Search terms for finding AWS documentationlimit(optional): Maximum results to return (1-50, default: 5)
For fetch action:
url(required): AWS documentation URL (must be from docs.aws.amazon.com and end with .html)max_length(optional): Maximum characters to return (default: 5000)start_index(optional): Starting character index for pagination (default: 0)
For recommend action:
url(required): AWS documentation URL to get recommendations for
For list_pricing_services action:
- No additional parameters required
For get_service_pricing action:
service_code(required): AWS service code (e.g., "AmazonEC2", "AmazonS3")max_results(optional): Maximum number of products to return (default: 10)filters(optional): Array of filter objects, each containing:field(required): Attribute name to filter on (e.g., "instanceType", "location", "operatingSystem")value(required): Value to match (e.g., "t2.micro", "US East (N. Virginia)")type(optional): Comparison type - "TERM_MATCH" (default)
{
"name": "aws_documentation",
"arguments": {
"action": "search",
"search_phrase": "S3 bucket versioning",
"limit": 5
}
}Returns:
action: "search"search_phrase: Original search queryresults_count: Number of results foundresults: Array of search results with rank_order, url, title, and context
{
"name": "aws_documentation",
"arguments": {
"action": "fetch",
"url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html"
}
}Returns:
action: "fetch"url: Original documentation URLcontent: Converted markdown contenttotal_length: Total content length in charactersstart_index: Starting character index usedend_index: Ending character indexhas_more_content: Boolean indicating if pagination is needednext_start_index: Next starting index for continuation (if applicable)pagination_hint: Instructions for continuing pagination
{
"name": "aws_documentation",
"arguments": {
"action": "recommend",
"url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html"
}
}Returns:
action: "recommend"url: Original documentation URLrecommendations: Array of recommendation results with url, title, and contextrecommendations_count: Number of recommendations found
{
"name": "aws_documentation",
"arguments": {
"action": "list_pricing_services"
}
}Returns:
action: "list_pricing_services"services_count: Number of services with pricing dataservices: Array of AWS service codes (e.g., ["AmazonEC2", "AmazonS3", "AmazonRDS", ...])
{
"name": "aws_documentation",
"arguments": {
"action": "get_service_pricing",
"service_code": "AmazonEC2",
"max_results": 5
}
}Returns:
action: "get_service_pricing"service_code: AWS service codeproduct_count: Number of products returnedprice_list: Array of pricing data (JSON strings containing product details and pricing terms)
{
"name": "aws_documentation",
"arguments": {
"action": "get_service_pricing",
"service_code": "AmazonEC2",
"filters": [
{"field": "instanceType", "value": "t2.micro"},
{"field": "location", "value": "US East (N. Virginia)"},
{"field": "operatingSystem", "value": "Linux"}
],
"max_results": 3
}
}The AWS tools are disabled by default for security purposes. Enable them by adding to your MCP configuration:
{
"mcpServers": {
"dev-tools": {
"type": "stdio",
"command": "/path/to/mcp-devtools",
"env": {
"ENABLE_ADDITIONAL_TOOLS": "aws"
}
}
}
}Documentation actions (search, fetch, recommend) use AWS's public APIs and require no credentials.
Pricing actions (list_pricing_services, get_service_pricing) use the AWS Pricing API and require AWS credentials. The tool automatically detects credentials from:
-
Environment variables:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN(for temporary credentials/SSO)
-
AWS SSO: If logged in via
aws sso login, credentials are automatically used -
Shared credentials file:
~/.aws/credentialsand~/.aws/config -
IAM instance profile: When running on EC2
If pricing actions are called without credentials, a clear error message will be returned. Documentation actions continue to work without credentials.
- Use
searchaction to find relevant AWS service pages - Use
fetchaction with URLs from search results to read detailed content - Use
recommendaction to discover related AWS services and features - Use pagination for large documents with
start_indexandmax_length
- Ensure you have AWS credentials configured (see Configuration section)
- Use
list_pricing_servicesto discover available AWS services with pricing - Use
get_service_pricingwith service code to get pricing information - Apply filters to narrow down pricing results (instance types, locations, operating systems, etc.)
- Pricing data is fetched on-demand via AWS Pricing API - no caching required
- Use
resolve_library_idwith 'strands agents' to find available library IDs - Use
get_library_documentationwith the appropriate library ID (e.g., '/strands-agents/sdk-python') - Available library IDs include:
/strands-agents/docs- General documentation/strands-agents/sdk-python- Python SDK/strands-agents/samples- Code samples/strands-agents/tools- Tools documentation
- Search for broad topic (e.g., "Lambda security")
- Read most relevant results using fetch action
- Get recommendations from key pages
- For Strands Agents documentation, use the package documentation tools
- Include AWS service names for targeted results
- Use specific technical terms rather than general phrases
- Combine multiple keywords for precision
- Try alternative terms if initial search is insufficient
- Start with default max_length (5000 characters)
- Check
has_more_contentfield before continuing - Use
next_start_indexfrom response for continuation - Increase max_length for fewer pagination requests
- Use recommendations after reading important pages
- Check "New" recommendations for latest AWS features
- Follow "Highly Rated" recommendations for popular topics
- Use "Journey" recommendations for complete workflows
- Use
resolve_library_idtool to find appropriate Strands library IDs - Use
get_library_documentationwith specific topics for focused documentation - Library IDs are in format '/strands-agents/[component]'
- Use
fieldandvaluepairs to filter pricing results - Common EC2 filters:
instanceType,location,operatingSystem,tenancy,preInstalledSw - Common S3 filters:
storageClass,location,volumeType - Location values use AWS's descriptive names (e.g., "US East (N. Virginia)", "EU (Ireland)")
- Combine multiple filters in the array to narrow results effectively
- Filters use exact matching by default (TERM_MATCH type)
All AWS documentation URLs must:
- Use the
docs.aws.amazon.comdomain - Use HTTPS protocol
- End with
.htmlfile extension
Valid Examples:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.htmlhttps://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.htmlhttps://docs.aws.amazon.com/ec2/latest/userguide/concepts.html
// 1. Search for AWS service documentation
{
"action": "search",
"search_phrase": "Lambda environment variables"
}
// 2. Read specific result
{
"action": "fetch",
"url": "https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html"
}
// 3. Get related recommendations
{
"action": "recommend",
"url": "https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html"
}This tool provides a consistent interface for AWS documentation needs.
The AWS documentation tool focuses on official AWS service documentation. For AWS Strands Agents SDK documentation, use these complementary tools:
- resolve_library_id: Find the correct Context7 library ID for Strands components
- get_library_documentation: Retrieve comprehensive documentation for specific Strands libraries
Available Strands Library IDs:
/strands-agents/docs- General Strands Agents SDK documentation/strands-agents/sdk-python- Python SDK specific documentation/strands-agents/samples- Sample code and examples/strands-agents/tools- Tools documentation