Generate a detailed cost analysis report based on pricing data for one or more AWS services. This tool requires AWS pricing data and provides options for adding detailed cost information. IMPORTANT REQUIREMENTS: - ALWAYS include detailed unit pricing information (e.g., "$0.0008 per 1K input tok...
High parameter count (10 properties)
Part of the AWS Pricing MCP Server MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.
AI agents use generate_cost_report to create or modify resources in AWS Pricing MCP Server. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.
Without a policy, an AI agent could call generate_cost_report repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach AWS Pricing MCP Server.
Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.
tools:
generate_cost_report:
rules:
- action: allow
rate_limit:
max: 30
window: 60 See the full AWS Pricing MCP Server policy for all 9 tools.
Agents calling write-class tools like generate_cost_report have been implicated in these attack patterns. Read the full case and prevention policy for each:
Other tools in the Write risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.
Generate a detailed cost analysis report based on pricing data for one or more AWS services. This tool requires AWS pricing data and provides options for adding detailed cost information. IMPORTANT REQUIREMENTS: - ALWAYS include detailed unit pricing information (e.g., "$0.0008 per 1K input tokens") - ALWAYS show calculation breakdowns (unit price × usage = total cost) - ALWAYS specify the pricing model (e.g., "ON DEMAND") - ALWAYS list all assumptions and exclusions explicitly Output Format Options: - 'markdown' (default): Generates a well-formatted markdown report - 'csv': Generates a CSV format report with sections for service information, unit pricing, cost calculations, etc. Example usage: ```json { // Required parameters "pricing_data": { // This should contain pricing data retrieved from get_pricing "status": "success", "service_name": "bedrock", "data": "... pricing information ...", "message": "Retrieved pricing for bedrock from AWS Pricing url" }, "service_name": "Amazon Bedrock", // Core parameters (commonly used) "related_services": ["Lambda", "S3"], "pricing_model": "ON DEMAND", "assumptions": [ "Standard ON DEMAND pricing model", "No caching or optimization applied", "Average request size of 4KB" ], "exclusions": [ "Data transfer costs between regions", "Custom model training costs", "Development and maintenance costs" ], "output_file": "cost_analysis_report.md", // or "cost_analysis_report.csv" for CSV format "format": "markdown", // or "csv" for CSV format // Advanced parameter for complex scenarios "detailed_cost_data": { "services": { "Amazon Bedrock Foundation Models": { "usage": "Processing 1M input tokens and 500K output tokens with Claude 3.5 Haiku", "estimated_cost": "$80.00", "free_tier_info": "No free tier for Bedrock foundation models", "unit_pricing": { "input_tokens": "$0.0008 per 1K tokens", "output_tokens": "$0.0016 per 1K tokens" }, "usage_quantities": { "input_tokens": "1,000,000 tokens", "output_tokens": "500,000 tokens" }, "calculation_details": "$0.0008/1K × 1,000K input tokens + $0.0016/1K × 500K output tokens = $80.00" }, "AWS Lambda": { "usage": "6,000 requests per month with 512 MB memory", "estimated_cost": "$0.38", "free_tier_info": "First 12 months: 1M requests/month free", "unit_pricing": { "requests": "$0.20 per 1M requests", "compute": "$0.0000166667 per GB-second" }, "usage_quantities": { "requests": "6,000 requests", "compute": "6,000 requests × 1s × 0.5GB = 3,000 GB-seconds" }, "calculation_details": "$0.20/1M × 0.006M requests + $0.0000166667 × 3,000 GB-seconds = $0.38" } } }, // Recommendations parameter - can be provided directly or generated "recommendations": { "immediate": [ "Optimize prompt engineering to reduce token usage for Claude 3.5 Haiku", "Configure Knowledge Base OCUs based on actual query patterns", "Implement response caching for common queries to reduce token usage" ], "best_practices": [ "Monitor OCU utilization metrics and adjust capacity as needed", "Use prompt caching for repeated context across API calls", "Consider provisioned throughput for predictable workloads" ] } } ```. It is categorised as a Write tool in the AWS Pricing MCP Server MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Add a rule in your Intercept YAML policy under the tools section for generate_cost_report. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the AWS Pricing MCP Server MCP server.
generate_cost_report is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the generate_cost_report rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the Intercept policy for generate_cost_report. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
generate_cost_report is provided by the AWS Pricing MCP Server MCP server (awslabs.aws-pricing-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.