suggest_aws_service
Get AWS service recommendations by describing your technical use case, such as building a serverless API or storing images, to identify suitable services for your project.
Instructions
Get AWS service recommendations based on your use case. Provide a description of what you want to build or accomplish, and get relevant AWS service suggestions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| use_case | Yes | Description of your use case, requirements, or what you want to build (e.g., 'serverless API', 'store images', 'real-time data processing') |
Implementation Reference
- src/aws_advisor_server.py:150-179 (handler)Handler logic for 'suggest_aws_service' tool: parses arguments, calls search helper, formats and returns recommendations as TextContent.if name == "suggest_aws_service": use_case = arguments.get("use_case", "") if not use_case: return [TextContent( type="text", text="Error: Please provide a use case description." )] recommendations = search_aws_services(use_case) if not recommendations: return [TextContent( type="text", text=f"No specific AWS services found matching '{use_case}'. Try describing your use case differently (e.g., 'serverless compute', 'object storage', 'relational database')." )] # Format the response response_lines = [f"## AWS Service Recommendations for: '{use_case}'\n"] for category, services in recommendations.items(): response_lines.append(f"\n### {category.upper().replace('_', ' ')}") for service_name, description in services.items(): response_lines.append(f"\n**{service_name}**") response_lines.append(f"- {description}") return [TextContent( type="text", text="\n".join(response_lines) )]
- src/aws_advisor_server.py:125-134 (schema)Input schema for 'suggest_aws_service' tool, defining required 'use_case' string parameter.inputSchema={ "type": "object", "properties": { "use_case": { "type": "string", "description": "Description of your use case, requirements, or what you want to build (e.g., 'serverless API', 'store images', 'real-time data processing')" } }, "required": ["use_case"] }
- src/aws_advisor_server.py:123-135 (registration)Registration of 'suggest_aws_service' tool in the list_tools() function, including name, description, and schema.name="suggest_aws_service", description="Get AWS service recommendations based on your use case. Provide a description of what you want to build or accomplish, and get relevant AWS service suggestions.", inputSchema={ "type": "object", "properties": { "use_case": { "type": "string", "description": "Description of your use case, requirements, or what you want to build (e.g., 'serverless API', 'store images', 'real-time data processing')" } }, "required": ["use_case"] } ),
- src/aws_advisor_server.py:87-111 (helper)Helper function that matches use case keywords against AWS service descriptions to find recommendations.def search_aws_services(use_case: str) -> dict[str, Any]: """ Search for AWS services matching a use case description. Args: use_case: Description of the use case or requirements Returns: Dictionary with recommended services and explanations """ use_case_lower = use_case.lower() recommendations = {} # Search through all services for category, services in AWS_SERVICES.items(): matching_services = {} for service_name, description in services.items(): # Check if use case keywords match service description if any(word in description.lower() for word in use_case_lower.split()): matching_services[service_name] = description if matching_services: recommendations[category] = matching_services return recommendations