Skip to main content
Glama
prashantgupta123

AWS FinOps MCP Server

AWS FinOps MCP Server

Production-Ready Deployment: This MCP server is optimized for deployment on Amazon Bedrock AgentCore Runtime

Model Context Protocol (MCP) server for AWS Financial Operations (FinOps) - providing comprehensive tools for cloud resource optimization, cost management, and performance monitoring.

๐Ÿš€ Quick Start - Deploy to AWS

Deploy your MCP server to production in minutes:

# 1. Create ECR repository
./create-ecr-repo.sh

# 2. Update configuration
sed -i 's/ecr: auto/ecr: aws-pillar-mcp-server/' .bedrock_agentcore.yaml

# 3. Deploy to AWS
agentcore launch

# 4. Test your deployment
agentcore invoke '{"prompt": "find unused resources in us-east-1"}'

๐Ÿ“– Complete Deployment Guides:

Local Development

# Install dependencies
pip install -e .

# Run locally
python -m aws_finops_mcp

Related MCP server: FOCUS MCP Server

๐ŸŽฏ Quick Overview

  • 76 Tools across 14 categories for comprehensive AWS optimization

  • Category Filtering - Load only the tools you need (NEW!)

  • Dual Modes - stdio for direct integration, HTTP for remote access

  • Cost Savings - Identify unused resources and optimization opportunities

  • Security & Compliance - Find unencrypted resources and security issues

  • Performance Analysis - Analyze and optimize application performance

  • Ready-to-Use IAM Policies - Get started in minutes

๐Ÿ“Š View Architecture Diagrams - Visual system architecture and data flows

๐Ÿ†• What's New

Category-Based Tool Filtering

Problem: Loading all 76 tools can be slow and overwhelming for MCP clients.

Solution: Use MCP_TOOL_CATEGORIES to enable only the categories you need!

# Load only cost and cleanup tools (25 tools instead of 76)
export MCP_TOOL_CATEGORIES="cleanup,cost"
python -m aws_finops_mcp

# 67% reduction in tool count, faster loading, easier navigation

Benefits:

  • โšก 67-89% faster loading for focused use cases

  • ๐ŸŽฏ Better organization - see only relevant tools

  • ๐Ÿ”ง Flexible - change categories without code changes

  • โœ… Backward compatible - defaults to all tools

๐Ÿ“– See TOOL_CATEGORIES.md for complete guide

New Tools Added

  • Network: NAT Gateways, VPC Endpoints, Internet Gateways, CloudFront, Route53

  • Storage: S3 buckets, storage class recommendations

  • Containers: ECS clusters/services, ECR images, launch templates

  • Messaging: SQS queues, SNS topics, EventBridge rules

  • Database: DynamoDB tables and utilization

  • Monitoring: CloudWatch alarms and dashboards

  • Performance: Lambda cold starts, API Gateway, DynamoDB throttling, RDS insights, CloudFront cache

  • Security: Unencrypted resources, public S3 buckets, permissive security groups

  • Governance: Untagged resources, tag compliance, cost allocation

  • Capacity: ElastiCache, ECS services, Lambda utilization

  • Upgrade: Lambda runtimes, EC2 generations, EBS types, RDS/ElastiCache engines, EKS versions

  • Cost: Savings Plans, Reserved Instances, EBS optimization, snapshots, data transfer, NAT Gateway

๐Ÿ“Š Tool Categories

Category

Tools

Description

๐Ÿงน Cleanup

9

Find unused resources to delete

๐Ÿ’ฐ Cost

16

Cost optimization and analysis

๐Ÿ“Š Capacity

9

Resource utilization and right-sizing

๐Ÿ”’ Security

5

Security compliance checks

โšก Performance

5

Performance analysis and tuning

๐Ÿ”„ Upgrade

8

Outdated resource detection

๐ŸŒ Network

5

Network resource optimization

๐Ÿ’พ Storage

2

Storage optimization

๐Ÿ“ฆ Containers

4

Container resource management

๐Ÿ’ฌ Messaging

3

Messaging service cleanup

๐Ÿ—„๏ธ Database

2

Database optimization

๐Ÿ“ˆ Monitoring

3

Monitoring resource cleanup

๐Ÿš€ Application

2

Application health monitoring

๐Ÿ›๏ธ Governance

3

Tagging and compliance

Total: 76 tools - Use category filtering to load only what you need!

# Load only cost and cleanup tools (25 tools instead of 76)
export MCP_TOOL_CATEGORIES="cost,cleanup"
python -m aws_finops_mcp

๐Ÿ“– See TOOL_CATEGORIES.md for complete documentation

Features

76 Tools Across 14 Categories - Use category filtering to load only what you need!

๐Ÿงน Cleanup Tools (9 tools)

Find unused AWS resources to reduce costs:

  • find_unused_lambda_functions - Lambda functions with no invocations

  • find_unused_elastic_ips - Unattached Elastic IPs ($3.60/month each)

  • find_unused_amis - AMIs not used by instances or ASGs

  • find_unused_load_balancers - Load balancers with no traffic ($22-32/month)

  • find_unused_target_groups - Target groups with no targets or traffic

  • find_unused_log_groups - CloudWatch Log Groups with no recent events

  • find_unused_snapshots - EBS snapshots not associated with AMIs ($0.05/GB/month)

  • find_unused_security_groups - Security groups not attached to resources

  • find_unused_volumes - Unattached EBS volumes

๐Ÿ’ฐ Cost Tools (16 tools)

Cost optimization, analysis, and savings recommendations:

Cost Optimization Hub:

  • get_all_cost_optimization_recommendations - All 19 resource types

  • get_cost_optimization_ec2 - EC2 instance recommendations

  • get_cost_optimization_lambda - Lambda function recommendations

  • get_cost_optimization_rds - RDS instance recommendations

  • get_cost_optimization_ebs - EBS volume recommendations

Cost Explorer:

  • get_cost_by_region - Cost breakdown by AWS region

  • get_cost_by_service - Cost breakdown by AWS service

  • get_cost_by_region_and_service - Combined region and service breakdown

  • get_daily_cost_trend - Daily cost trends with statistics

Savings & Optimization:

  • get_savings_plans_recommendations - Savings Plans recommendations

  • get_reserved_instance_recommendations - RI purchase recommendations

  • analyze_reserved_instance_utilization - RI utilization and coverage

  • get_ebs_volume_type_recommendations - EBS volume type optimization

  • get_snapshot_lifecycle_recommendations - Snapshot lifecycle management

  • analyze_data_transfer_costs - Data transfer cost analysis

  • get_nat_gateway_optimization_recommendations - NAT Gateway optimization

๐Ÿ“Š Capacity Tools (9 tools)

Resource utilization analysis for right-sizing:

Compute:

  • find_underutilized_ec2_instances - EC2 with low CPU/memory (โ‰ค20%)

  • find_overutilized_ec2_instances - EC2 with high CPU/memory (โ‰ฅ80%)

  • find_underutilized_lambda_functions - Lambda with low invocations

Database:

  • find_underutilized_rds_instances - RDS with low CPU (โ‰ค20%)

  • find_overutilized_rds_instances - RDS with high CPU (โ‰ฅ80%)

  • find_underutilized_dynamodb_tables - DynamoDB with low capacity

  • find_overutilized_dynamodb_tables - DynamoDB with high capacity (>80%)

  • find_underutilized_elasticache_clusters - ElastiCache with low CPU (<20%)

  • find_overutilized_elasticache_clusters - ElastiCache with high CPU/memory (>80%)

Containers:

  • find_underutilized_ecs_services - ECS services with low CPU/memory (<20%)

๐Ÿ”’ Security Tools (5 tools)

Security compliance and best practices:

  • find_unencrypted_ebs_volumes - EBS volumes without encryption

  • find_unencrypted_s3_buckets - S3 buckets without default encryption

  • find_unencrypted_rds_instances - RDS instances without encryption

  • find_public_s3_buckets - S3 buckets with public access enabled

  • find_overly_permissive_security_groups - Security groups with 0.0.0.0/0 rules

โšก Performance Tools (5 tools)

Performance analysis and optimization:

  • analyze_lambda_cold_starts - Lambda cold start analysis

  • analyze_api_gateway_performance - API Gateway performance metrics

  • analyze_dynamodb_throttling - DynamoDB throttling issues

  • analyze_rds_performance_insights - RDS Performance Insights data

  • analyze_cloudfront_cache_hit_ratio - CloudFront cache performance

๐Ÿ”„ Upgrade Tools (8 tools)

Identify outdated resources needing upgrades:

Compute:

  • find_asgs_with_old_amis - Auto Scaling Groups using old AMIs

  • find_outdated_lambda_runtimes - Lambda with deprecated runtimes

  • find_ec2_instances_with_old_generations - EC2 using previous generation types

  • find_ebs_volumes_with_old_types - EBS using previous generation types

  • find_outdated_ecs_platform_versions - ECS not on latest platform version

Database:

  • find_outdated_rds_engine_versions - RDS not on latest engine version

  • find_outdated_elasticache_engine_versions - ElastiCache not on latest version

Containers:

  • find_outdated_eks_cluster_versions - EKS not on latest Kubernetes version

๐ŸŒ Network Tools (5 tools)

Network resource optimization:

  • find_unused_nat_gateways - NAT Gateways with no traffic ($32.40/month)

  • find_unused_vpc_endpoints - VPC Endpoints with no connections ($7.20/month per AZ)

  • find_unused_internet_gateways - Unattached Internet Gateways

  • find_unused_cloudfront_distributions - CloudFront with no requests

  • find_unused_route53_hosted_zones - Route53 zones with no queries

๐Ÿ’พ Storage Tools (2 tools)

Storage optimization:

  • find_unused_s3_buckets - S3 buckets with no activity

  • get_s3_storage_class_recommendations - S3 storage class optimization (30-95% savings)

๐Ÿ“ฆ Container Tools (4 tools)

Container and orchestration resource management:

  • find_old_ecs_task_definitions - Old ECS task definitions not in use

  • find_unused_ecr_images - Unused ECR images ($0.10/GB/month)

  • find_unused_launch_templates - EC2 launch templates not in use

  • find_unused_ecs_clusters_and_services - ECS clusters/services with no activity

๐Ÿ’ฌ Messaging Tools (3 tools)

Messaging service optimization:

  • find_unused_sqs_queues - SQS queues with no messages

  • find_unused_sns_topics - SNS topics with no subscriptions/messages

  • find_unused_eventbridge_rules - EventBridge rules with no invocations

๐Ÿ—„๏ธ Database Tools (2 tools)

Database resource analysis:

  • find_unused_dynamodb_tables - DynamoDB tables with no read/write activity

  • find_underutilized_dynamodb_tables - DynamoDB with low capacity utilization

๐Ÿ“ˆ Monitoring Tools (3 tools)

Monitoring resource cleanup:

  • find_unused_cloudwatch_alarms - CloudWatch alarms in INSUFFICIENT_DATA state

  • find_orphaned_cloudwatch_dashboards - Dashboards referencing deleted resources

  • find_orphaned_cloudwatch_alarms - Alarms not associated with active resources

๐Ÿš€ Application Tools (2 tools)

Application health monitoring:

  • find_target_groups_with_high_error_rate - Target groups with 5XX errors (>5%)

  • find_target_groups_with_high_response_time - Target groups with slow response times (>1s)

๐Ÿ›๏ธ Governance Tools (3 tools)

Resource governance and compliance:

  • find_untagged_resources - Resources missing required tags

  • analyze_tag_compliance - Tag compliance analysis across resources

  • generate_cost_allocation_report - Cost allocation by tags


โœจ Tool Features

All tools include:

  • โœ… Comprehensive Details - Full ARNs, configurations, and metadata

  • โœ… Cost Estimates - Monthly cost savings potential

  • โœ… Complete Tags - Cost allocation and ownership tracking

  • โœ… Age Calculations - Prioritize cleanup efforts

  • โœ… Security Details - Encryption, KMS keys, ownership

  • โœ… Total Savings - Aggregate cost savings per tool

๐ŸŒ Deployment Modes

Standard Mode (stdio): Direct integration with MCP clients
HTTP Server Mode: Remote access via REST API for distributed deployments

  • Run on EC2 and connect from anywhere

  • SSH tunnel for secure development

  • HTTPS with Nginx for production

  • AWS Systems Manager for no-SSH access

  • API endpoints: /health, /tools, /mcp

Installation

๐Ÿš€ NEW: Deploy to Amazon Bedrock AgentCore

Deploy this MCP server to AWS Bedrock AgentCore for production-ready, scalable agent integration:

# Quick deployment (recommended)
pip install bedrock-agentcore-starter-toolkit
agentcore launch

Quick Links:

Two Deployment Methods:

  1. Gateway (Lambda) - Quick setup, serverless, cost-effective

  2. Runtime (Container) - Production-ready, unlimited execution time (use agentcore launch)

Quick Start (Virtual Environment)

# Automated setup
./setup.sh

# Run the server (stdio mode)
./run.sh

# Run tests
./test.sh

Manual Installation

# Using pip
pip install .

# Using uv
uv pip install .

# For development
pip install -e ".[dev]"

Docker Installation

Option 1: Standard Mode (stdio)

# Build and run with Docker
./docker-run.sh run

# Or use Docker Compose
docker-compose up -d

# View logs
docker-compose logs -f

Option 2: HTTP Server Mode (Remote Access)

# Run with HTTP server for remote access
docker-compose -f docker-compose-http.yml up -d

# Test the server
curl http://localhost:8000/health

# View logs
docker-compose -f docker-compose-http.yml logs -f

See DEPLOYMENT.md for detailed deployment options including EC2, ECS, Lambda, and Kubernetes.

See REMOTE_ACCESS_GUIDE.md for remote access setup and configuration.

Usage

๐ŸŽฏ Tool Category Filtering (NEW!)

Problem: Loading all 76 tools can be slow and overwhelming for clients.

Solution: Use MCP_TOOL_CATEGORIES to enable only the tools you need!

# Enable only cleanup and cost tools (25 tools instead of 76)
export MCP_TOOL_CATEGORIES="cleanup,cost"
python -m aws_finops_mcp

# Enable all tools (default)
export MCP_TOOL_CATEGORIES="all"
python -m aws_finops_mcp

Available Categories (14 total):

  • cleanup (9 tools) - Find unused resources

  • cost (16 tools) - Cost optimization and analysis

  • capacity (9 tools) - Resource utilization analysis

  • security (5 tools) - Security compliance checks

  • performance (5 tools) - Performance analysis

  • upgrade (8 tools) - Outdated resource detection

  • network (5 tools) - Network resource optimization

  • storage (2 tools) - Storage optimization

  • containers (4 tools) - Container resource management

  • database (2 tools) - Database optimization

  • messaging (3 tools) - Messaging service cleanup

  • monitoring (3 tools) - Monitoring resource cleanup

  • application (2 tools) - Application health monitoring

  • governance (3 tools) - Tagging and compliance

๐Ÿ“– See TOOL_CATEGORIES.md for complete documentation and examples

Mode 1: Standard MCP Server (stdio)

Add to your MCP client configuration (e.g., Kiro's mcp.json):

{
  "mcpServers": {
    "aws-finops": {
      "command": "python",
      "args": ["-m", "aws_finops_mcp"],
      "env": {
        "AWS_PROFILE": "your-profile",
        "AWS_REGION": "us-east-1",
        "MCP_TOOL_CATEGORIES": "cleanup,cost,security"
      }
    }
  }
}

Or using uvx:

{
  "mcpServers": {
    "aws-finops": {
      "command": "uvx",
      "args": ["aws-pillar-mcp-server"]
    }
  }
}

Mode 2: HTTP Server (Remote Access)

Run the server in HTTP mode for remote access:

# Set environment variable
export MCP_SERVER_MODE=http
export MCP_SERVER_HOST=0.0.0.0
export MCP_SERVER_PORT=8000

# Run the server
python -m aws_finops_mcp

# Or use Docker
docker-compose -f docker-compose-http.yml up -d

HTTP API Endpoints

Health Check:

curl http://localhost:8000/health

List Tools:

curl http://localhost:8000/tools

Execute Tool:

curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "get_cost_by_region",
    "arguments": {
      "region_name": "us-east-1"
    }
  }'

Remote Access Options

SSH Tunnel (Recommended for Development):

# On EC2
docker-compose -f docker-compose-http.yml up -d

# On your laptop
ssh -i your-key.pem -L 8000:localhost:8000 ec2-user@your-ec2-ip -N

# Connect to localhost:8000
curl http://localhost:8000/health

HTTPS with Nginx (Recommended for Production):

# Automated setup on EC2
./setup-ec2-remote.sh yes yes your-domain.com

# Access via HTTPS
curl https://your-domain.com/health

See REMOTE_ACCESS_GUIDE.md for complete remote access setup instructions.

Tool Parameters

All tools accept the following parameters:

AWS Credentials (one of):

  • profile_name: AWS profile name

  • role_arn: IAM role ARN to assume

  • access_key + secret_access_key: Direct credentials

  • access_key + secret_access_key + session_token: Temporary credentials

Common Parameters:

  • region_name: AWS region (default: "us-east-1")

  • period: Lookback period in days (default: 90)

  • max_results: Maximum results to return (default: 100)

Example Tool Calls

stdio Mode (MCP Client)

# Find unused Lambda functions
{
  "tool": "find_unused_lambda_functions",
  "arguments": {
    "profile_name": "production",
    "region_name": "us-west-2",
    "period": 90
  }
}

# Find underutilized EC2 instances
{
  "tool": "find_underutilized_ec2_instances",
  "arguments": {
    "role_arn": "arn:aws:iam::123456789012:role/FinOpsRole",
    "region_name": "us-east-1",
    "period": 30
  }
}

# Get cost optimization recommendations
{
  "tool": "get_cost_optimization_ec2",
  "arguments": {
    "access_key": "AKIA...",
    "secret_access_key": "...",
    "region_name": "us-east-1"
  }
}

HTTP Mode (REST API)

# Find unused Lambda functions
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "find_unused_lambda_functions",
    "arguments": {
      "region_name": "us-west-2",
      "period": 90
    }
  }'

# Get cost by region
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "get_cost_by_region",
    "arguments": {
      "region_name": "us-east-1"
    }
  }'

# Find underutilized EC2 instances
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "find_underutilized_ec2_instances",
    "arguments": {
      "region_name": "us-east-1",
      "period": 30
    }
  }'

AWS Permissions Required

Quick Setup

We provide ready-to-use IAM policies for different use cases:

# Automated setup (recommended)
cd iam-policies/examples
./create-iam-role.sh finops-mcp-role full ec2

# Or create IAM user
./create-iam-user.sh finops-mcp-user full

Available Policies

Policy

Use Case

Tools Enabled

Full Policy

Production (recommended)

All 76 tools

Minimal Policy

Testing/Development

All 76 tools (basic)

Read-Only Policy

Maximum security

All 76 tools

Cost-Only Policy

Cost analysis only

16 cost tools

Policy Files

  • iam-policies/finops-full-policy.json - Complete permissions (recommended)

  • iam-policies/finops-minimal-policy.json - Basic permissions

  • iam-policies/finops-readonly-policy.json - Read-only access

  • iam-policies/finops-cost-only-policy.json - Cost analysis only

Setup Methods

AWS Console: Copy policy JSON โ†’ Create Policy โ†’ Attach to Role/User

AWS CLI:

aws iam create-policy \
  --policy-name FinOpsFullPolicy \
  --policy-document file://iam-policies/finops-full-policy.json

Terraform: See iam-policies/examples/terraform-example.tf

CloudFormation: See iam-policies/examples/cloudformation-example.yaml

๐Ÿ“– Complete Guide: See IAM_SETUP_GUIDE.md for detailed instructions

Architecture

src/aws_finops_mcp/
โ”œโ”€โ”€ __main__.py            # Entry point (supports stdio and HTTP modes)
โ”œโ”€โ”€ server.py              # FastMCP server with all 76 tools
โ”œโ”€โ”€ server_filtered.py     # Filtered server with category support (NEW!)
โ”œโ”€โ”€ tool_categories.py     # Category definitions and filtering logic (NEW!)
โ”œโ”€โ”€ http_server.py         # HTTP server wrapper for remote access
โ”œโ”€โ”€ session.py             # AWS session management
โ”œโ”€โ”€ tools/
โ”‚   โ”œโ”€โ”€ cleanup.py         # Cleanup tools (9 tools)
โ”‚   โ”œโ”€โ”€ capacity.py        # Capacity analysis tools (4 tools)
โ”‚   โ”œโ”€โ”€ capacity_compute.py # Compute capacity tools (1 tool)
โ”‚   โ”œโ”€โ”€ capacity_database.py # Database capacity tools (4 tools)
โ”‚   โ”œโ”€โ”€ cost.py            # Cost optimization tools (5 tools)
โ”‚   โ”œโ”€โ”€ cost_explorer.py   # Cost Explorer tools (4 tools)
โ”‚   โ”œโ”€โ”€ cost_savings.py    # Savings recommendations (3 tools)
โ”‚   โ”œโ”€โ”€ cost_storage.py    # Storage cost optimization (2 tools)
โ”‚   โ”œโ”€โ”€ cost_network.py    # Network cost optimization (2 tools)
โ”‚   โ”œโ”€โ”€ application.py     # Application performance tools (2 tools)
โ”‚   โ”œโ”€โ”€ upgrade.py         # Upgrade recommendations (1 tool)
โ”‚   โ”œโ”€โ”€ upgrade_compute.py # Compute upgrade tools (4 tools)
โ”‚   โ”œโ”€โ”€ upgrade_database.py # Database upgrade tools (2 tools)
โ”‚   โ”œโ”€โ”€ upgrade_containers.py # Container upgrade tools (1 tool)
โ”‚   โ”œโ”€โ”€ network.py         # Network optimization tools (5 tools)
โ”‚   โ”œโ”€โ”€ storage.py         # Storage optimization tools (2 tools)
โ”‚   โ”œโ”€โ”€ containers.py      # Container management tools (4 tools)
โ”‚   โ”œโ”€โ”€ messaging.py       # Messaging service tools (3 tools)
โ”‚   โ”œโ”€โ”€ database.py        # Database optimization tools (2 tools)
โ”‚   โ”œโ”€โ”€ monitoring.py      # Monitoring resource tools (3 tools)
โ”‚   โ”œโ”€โ”€ performance.py     # Performance analysis tools (5 tools)
โ”‚   โ”œโ”€โ”€ security.py        # Security compliance tools (5 tools)
โ”‚   โ””โ”€โ”€ governance.py      # Governance and tagging tools (3 tools)
โ””โ”€โ”€ utils/
    โ”œโ”€โ”€ helpers.py         # Helper functions
    โ””โ”€โ”€ metrics.py         # CloudWatch metrics utilities

Deployment Modes

stdio Mode (Default):

MCP Client โ†โ†’ stdin/stdout โ†โ†’ MCP Server โ†โ†’ AWS APIs

HTTP Mode (Remote Access):

MCP Client โ†โ†’ HTTP/HTTPS โ†โ†’ MCP Server โ†โ†’ AWS APIs
           (REST API)

Category Filtering (NEW!)

User sets MCP_TOOL_CATEGORIES="cleanup,cost"
         โ†“
__main__.py checks environment variable
         โ†“
Loads server_filtered.py instead of server.py
         โ†“
Only 25 tools registered (cleanup: 9 + cost: 16)
         โ†“
Client sees only relevant tools

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black src/

# Lint
ruff check src/

Environment Variables

Server Configuration

# Server Mode
MCP_SERVER_MODE=http          # Enable HTTP server mode (default: stdio)
MCP_SERVER_HOST=0.0.0.0       # Host to bind to (default: 0.0.0.0)
MCP_SERVER_PORT=8000          # Port to listen on (default: 8000)

# Tool Filtering (NEW!)
MCP_TOOL_CATEGORIES=cleanup,cost  # Enable specific categories (default: all)
                                  # Options: cleanup, cost, capacity, security,
                                  #          performance, upgrade, network, storage,
                                  #          containers, messaging, database,
                                  #          monitoring, application, governance

# AWS Configuration
AWS_REGION=us-east-1          # Default AWS region
AWS_PROFILE=default           # AWS profile name
AWS_ACCESS_KEY_ID=...         # AWS access key (not recommended)
AWS_SECRET_ACCESS_KEY=...     # AWS secret key (not recommended)

# Logging
PYTHONUNBUFFERED=1            # Enable unbuffered output

Example Configurations

stdio Mode with Category Filtering (Recommended):

export MCP_TOOL_CATEGORIES="cleanup,cost,security"
python -m aws_finops_mcp

stdio Mode (All Tools):

python -m aws_finops_mcp

HTTP Mode with Category Filtering:

export MCP_SERVER_MODE=http
export MCP_SERVER_HOST=0.0.0.0
export MCP_SERVER_PORT=8000
export MCP_TOOL_CATEGORIES="cost,capacity"
python -m aws_finops_mcp

Docker HTTP Mode with Filtering:

docker run -e MCP_SERVER_MODE=http \
  -e MCP_SERVER_PORT=8000 \
  -e MCP_TOOL_CATEGORIES="cleanup,cost" \
  -p 8000:8000 \
  aws-pillar-mcp-server

License

MIT License

Quick Reference

Run Modes

Mode

Command

Use Case

stdio

python -m aws_finops_mcp

Direct MCP client integration

HTTP

MCP_SERVER_MODE=http python -m aws_finops_mcp

Remote access, distributed deployments

Docker Commands

# stdio mode
docker-compose up -d

# HTTP mode
docker-compose -f docker-compose-http.yml up -d

# Test HTTP server
curl http://localhost:8000/health

Remote Access

# SSH tunnel (development)
ssh -i key.pem -L 8000:localhost:8000 ec2-user@ec2-ip -N

# HTTPS setup (production)
./setup-ec2-remote.sh yes yes your-domain.com

# Test connection
./examples/test-remote-connection.sh http://localhost:8000

Documentation

Document

Description

AGENTCORE_QUICKSTART.md

๐Ÿ†• Deploy to Amazon Bedrock AgentCore in 5 minutes

BEDROCK_AGENTCORE_DEPLOYMENT.md

๐Ÿ†• Complete AgentCore deployment guide

AGENTCORE_COMPARISON.md

๐Ÿ†• Compare Gateway vs Runtime deployment

GETTING_STARTED.md

Complete setup guide with MCP configuration

TOOL_CATEGORIES.md

Category filtering guide

CATEGORY_QUICK_REFERENCE.md

Quick reference for categories

TOOLS_REFERENCE.md

All 76 tools documentation

DEPLOYMENT.md

Deployment options (EC2, ECS, Lambda, K8s)

REMOTE_ACCESS_GUIDE.md

HTTP mode and remote access setup

IAM_SETUP_GUIDE.md

IAM permissions and policies

ARCHITECTURE.md

System architecture and design

MIGRATION_GUIDE.md

Migration guide for category filtering

iam-policies/README.md

IAM policy templates

Available Tools

76 tools
analyze_api_gateway_performanceD

Analyze API Gateway performance metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action ('analyze') without detailing what the tool does operationally: whether it fetches data, computes metrics, generates reports, or requires specific permissions. There's no mention of output format, error handling, rate limits, or authentication needs, leaving critical behavioral traits unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. It is front-loaded and efficiently states the core function. However, this brevity comes at the cost of completeness, as it lacks necessary details for effective tool use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no schema descriptions, no annotations) and the presence of an output schema, the description is insufficient. While the output schema may cover return values, the description fails to provide context on tool behavior, parameter meanings, or usage scenarios. For a tool with multiple parameters and no annotation support, this minimal description leaves significant gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description adds no information about parameters, failing to compensate for the lack of schema documentation. Parameters like 'region_name', 'period', and authentication fields ('profile_name', 'role_arn', etc.) are entirely unexplained, leaving their purposes and usage ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Analyze API Gateway performance metrics' restates the tool name with minimal elaboration. It specifies the resource (API Gateway) and general action (analyze performance metrics) but lacks specificity about what analysis entails or what metrics are examined. Compared to siblings like 'analyze_cloudfront_cache_hit_ratio' or 'analyze_dynamodb_throttling', it doesn't clearly differentiate its scope beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or exclusions. Given the sibling tools include various analysis functions (e.g., cost analysis, performance insights), there's no indication of when API Gateway performance analysis is preferred over other tools or what problem it addresses specifically.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_cloudfront_cache_hit_ratioC

Analyze CloudFront cache hit ratios.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'analyze,' implying a read-only operation, but doesn't clarify if it requires authentication (e.g., via AWS credentials), involves data retrieval from CloudFront metrics, or has any side effects like rate limits. The description lacks essential behavioral context for a tool with 7 parameters related to AWS access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for conveying the basic purpose, though this conciseness comes at the cost of detail in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but with an output schema), the description is incomplete. It doesn't address parameter meanings, authentication needs, or behavioral traits. While the output schema may cover return values, the description lacks context for proper tool invocation, especially for an AWS analysis tool with multiple credential options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'CloudFront cache hit ratios' but doesn't explain any of the 7 parameters (e.g., 'region_name', 'period', 'profile_name'). With 0% schema description coverage, the schema only provides titles and types without meaning. The description fails to compensate, leaving parameters like 'role_arn' and 'access_key' undocumented in terms of their purpose or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Analyze CloudFront cache hit ratios' clearly states the verb ('analyze') and resource ('CloudFront cache hit ratios'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'analyze_api_gateway_performance' or 'analyze_data_transfer_costs' beyond specifying the CloudFront service, leaving the scope somewhat vague compared to more specific alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on analysis (e.g., 'analyze_api_gateway_performance'), there's no indication of context, prerequisites, or exclusions, leaving the agent to infer usage based solely on the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_data_transfer_costsC

Analyze data transfer costs using AWS Cost Explorer.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'using AWS Cost Explorer,' implying it might query AWS services, but doesn't specify authentication requirements, rate limits, data freshness, or output format. For a tool with 6 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste: 'Analyze data transfer costs using AWS Cost Explorer.' It's appropriately sized and front-loaded, clearly stating the core function without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no annotations) and the presence of an output schema, the description is minimally adequate. The output schema likely handles return values, reducing the burden on the description. However, with no parameter semantics and limited behavioral context, it's incomplete for effective use, though not entirely inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 6 parameters are documented in the schema. The description doesn't add any parameter informationโ€”it doesn't explain what 'region_name,' 'profile_name,' or other fields mean or how they affect the analysis. This fails to compensate for the low schema coverage, leaving parameters largely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'Analyze data transfer costs using AWS Cost Explorer,' which provides a clear verb ('analyze') and resource ('data transfer costs'). However, it doesn't differentiate from sibling tools like 'get_cost_by_region' or 'generate_cost_allocation_report,' which also involve cost analysis. The purpose is clear but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With many sibling tools related to cost analysis (e.g., 'get_cost_by_region,' 'generate_cost_allocation_report'), the description fails to specify context, prerequisites, or exclusions. This leaves the agent without direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_dynamodb_throttlingC

Analyze DynamoDB tables for throttling issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes for throttling issues, implying a read-only diagnostic operation, but doesn't specify what the analysis entails (e.g., metrics examined, timeframes, output format), whether it requires specific AWS permissions, or if it has side effects like data collection. For a tool with 7 parameters and no annotations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Analyze DynamoDB tables for throttling issues.' It's front-loaded with the core action and resource, with zero wasted words. This is appropriately concise for a tool name that already hints at the function, though the brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but an output schema exists), the description is incomplete. While the output schema may cover return values, the description lacks context on authentication needs (multiple credential parameters), analysis scope, or behavioral traits. For a diagnostic tool with many parameters, more guidance is needed to help an agent use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 7 parameters with 0% description coverage (only titles like 'Region Name', 'Period'), so the description must compensate. However, it adds no parameter information beyond what's implied by the tool's purpose (e.g., 'region_name' for AWS region, 'period' for analysis duration). It doesn't explain parameter interactions, defaults, or why multiple authentication options exist. With low schema coverage, the description fails to provide adequate semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Analyze DynamoDB tables for throttling issues' clearly states the verb ('analyze'), resource ('DynamoDB tables'), and purpose ('for throttling issues'), which is adequate. However, it doesn't distinguish this tool from its many siblings (e.g., 'find_overutilized_dynamodb_tables', 'find_underutilized_dynamodb_tables', 'find_unused_dynamodb_tables'), which all involve analyzing DynamoDB tables for different issues. The purpose is clear but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials, permissions), specific scenarios for throttling analysis, or how it differs from other DynamoDB-related tools in the sibling list. Without such context, an agent must infer usage from the name alone, which is insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_lambda_cold_startsC

Analyze Lambda functions for cold start issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states the purpose without any behavioral traits: it doesn't specify if this is a read-only operation, what data sources it uses (e.g., CloudWatch logs), potential side effects, authentication requirements, rate limits, or output format. For a tool with 7 parameters related to AWS access, this lack of transparency is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized for a simple purpose statement and front-loaded with the core action ('Analyze Lambda functions for cold start issues'). There's no unnecessary elaboration or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, AWS-related tool) and the presence of an output schema (which might help with return values), the description is incomplete. It lacks essential context: no behavioral details (critical with no annotations), no parameter explanations (with 0% schema coverage), and no usage guidelines. While the output schema might cover return values, the description fails to provide enough information for effective tool selection and invocation in a multi-tool environment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The description adds no information about any parametersโ€”it doesn't mention region, period, or authentication details. With 0% coverage and no compensation in the description, the parameters remain undocumented, making it difficult for an agent to understand their purpose or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as analyzing Lambda functions for cold start issues, which is clear but vague. It specifies the resource (Lambda functions) and the type of analysis (cold start issues), but lacks specificity about what 'analyze' entails (e.g., identifying, measuring, or reporting). It distinguishes from siblings by focusing on Lambda cold starts, but doesn't clarify how it differs from similar tools like 'analyze_lambda_performance' (not in the list) or 'find_underutilized_lambda_functions' (which might overlap).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials setup), context (e.g., performance troubleshooting), or exclusions (e.g., not for cost analysis). Given the sibling tools include various analysis and optimization tools, there's no indication of when this specific cold start analysis is preferred over others like 'get_cost_optimization_lambda' or general performance tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_rds_performance_insightsC

Analyze RDS Performance Insights data.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('analyze') without detailing what the analysis entails (e.g., read-only vs. destructive, authentication requirements, rate limits, or output format). For a tool with 7 parameters and no annotation coverage, this is a significant gap in transparency about how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It is appropriately sized for a basic statement of purpose, though it lacks depth. The structure is straightforward, but the brevity contributes to under-specification rather than optimal clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but an output schema exists), the description is incomplete. It doesn't explain what the analysis outputs, how parameters interact, or behavioral traits. While the output schema may cover return values, the description fails to provide necessary context for selecting and invoking the tool effectively, especially compared to detailed sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description does not mention any parameters, failing to compensate for this gap. Parameters like 'region_name', 'period', and authentication fields ('profile_name', 'role_arn', etc.) are left unexplained, leaving the agent to guess their purposes and usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool analyzes RDS Performance Insights data, which provides a clear verb ('analyze') and resource ('RDS Performance Insights data'). However, it lacks specificity about what kind of analysis it performs (e.g., identifying bottlenecks, generating reports, or providing metrics) and doesn't distinguish it from sibling tools that also analyze AWS resources. The purpose is understandable but vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on AWS analysis (e.g., 'analyze_dynamodb_throttling', 'find_overutilized_rds_instances'), there's no indication of whether this tool is for performance monitoring, cost optimization, or troubleshooting. No prerequisites, exclusions, or comparative context are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_reserved_instance_utilizationC

Analyze Reserved Instance utilization and coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool performs analysis, implying a read-only operation, but doesn't specify if it requires specific permissions, how it handles authentication, what the output format is, or any rate limits. The description is too brief to provide meaningful behavioral context beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's function without unnecessary words. It is front-loaded and efficient, though it could benefit from more detail to improve clarity and completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no schema descriptions, no annotations) and the presence of an output schema, the description is incomplete. It doesn't explain the analysis scope, output format, or parameter usage, leaving significant gaps. While the output schema may cover return values, the description fails to provide enough context for effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter details. The description adds no information about the six parameters (e.g., region_name, profile_name, role_arn, access_key, secret_access_key, session_token), their purposes, or how they affect the analysis. This leaves parameters undocumented and unclear to the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as analyzing Reserved Instance utilization and coverage, which is clear but vague. It specifies the resource (Reserved Instances) but lacks details on what analysis entails or what specific metrics are examined. It distinguishes from siblings by focusing on Reserved Instances, but doesn't explain how it differs from similar tools like 'get_reserved_instance_recommendations'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing AWS credentials, or compare it to sibling tools like 'get_reserved_instance_recommendations' for decision-making. Without this context, the agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_tag_complianceC

Analyze tag compliance across AWS resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
required_tagsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states what the tool does at a high level without revealing any behavioral traits such as whether it's read-only or destructive, what permissions or authentication are needed (though parameters hint at AWS auth), rate limits, or what the analysis output entails. For a tool with 7 parameters and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly. Every word earns its place, though it could benefit from more detail given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, schema coverage 0%), the description is incomplete. While an output schema exists (which might explain return values), the description lacks essential context such as behavioral traits, parameter meanings, and differentiation from siblings. For a tool with significant input complexity and no annotation support, the description does not provide enough information for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description does not mention any parameters or provide context about what they mean, such as explaining 'required_tags' or the AWS authentication parameters. With low schema coverage and no parameter information in the description, it fails to compensate, leaving parameters largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as analyzing tag compliance across AWS resources, which is clear but vague. It specifies the action (analyze) and resource scope (AWS resources) but doesn't distinguish it from sibling tools like 'find_untagged_resources' or explain what 'compliance' entails. The purpose is understandable but lacks specificity about what the analysis produces or how it differs from similar tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'find_untagged_resources' that seem related, there's no indication of how this tool differs or when it should be preferred. The description doesn't mention prerequisites, context, or exclusions, leaving the agent with no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_asgs_with_old_amisA

Find Auto Scaling Groups using AMIs older than the specified period.

Args:
    region_name: AWS region name
    period: Minimum age in days for AMI to be considered old (default: 90)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with ASGs using old AMIs
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the tool's purpose and return type (dictionary with ASGs using old AMIs), but lacks details on behavioral traits such as required AWS permissions, potential rate limits, whether it performs read-only operations (implied by 'Find'), or error handling. The description does not contradict any annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by organized sections for arguments and returns. Each sentence earns its place by clarifying parameters and output without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, no annotations, but with an output schema indicated), the description is largely complete. It explains the tool's purpose, parameters, and return type. However, it could improve by addressing behavioral aspects like permissions or limitations, though the output schema may cover return values. It's adequate but has minor gaps in behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate fully. It provides detailed semantics for all 8 parameters, including their purposes (e.g., 'region_name: AWS region name', 'period: Minimum age in days for AMI to be considered old'), defaults, and optional status. This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find Auto Scaling Groups using AMIs older than the specified period'), identifies the target resource (Auto Scaling Groups with old AMIs), and distinguishes it from siblings like 'find_unused_amis' (which finds unused AMIs) or 'find_ec2_instances_with_old_generations' (which focuses on instance generations rather than AMI age in ASGs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for identifying outdated AMIs in ASGs based on age, but does not explicitly state when to use this tool versus alternatives (e.g., 'find_ec2_instances_with_old_generations' for instance types, or 'find_unused_amis' for unused AMIs). It provides context (AWS region, AMI age threshold) but lacks explicit guidance on exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_ebs_volumes_with_old_typesC

Find EBS volumes using previous generation volume types.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but provides no information about permissions required, rate limits, whether this is a read-only operation, what format the results will be in, or any error conditions. For a tool with 6 authentication parameters, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for what it does convey, though it's under-specified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters (all authentication-related with 0% schema coverage), no annotations, and sibling tools that suggest this is part of a cost/optimization analysis system, the description is severely incomplete. While an output schema exists, the description doesn't help the agent understand what 'old types' means, what authentication approach to use, or how this fits into broader optimization workflows.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 6 parameters have descriptions in the schema. The tool description provides absolutely no information about any parameters - not even mentioning that authentication parameters exist. This leaves the agent completely in the dark about what inputs are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('find') and resource ('EBS volumes using previous generation volume types'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'find_unused_volumes' or 'find_unencrypted_ebs_volumes', but the specific focus on 'old types' provides reasonable implicit distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it differs from other volume-related tools in the sibling list. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_ec2_instances_with_old_generationsC

Find EC2 instances using previous generation instance types.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Find' which implies a read-only operation, but doesn't specify authentication requirements, rate limits, what constitutes 'old generations', whether it scans all instances or filtered ones, or the output format. This leaves significant gaps for a tool with 6 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters, no annotations, and 0% schema description coverage, the description is insufficient. While an output schema exists (which helps), the description doesn't explain what 'old generations' means, how instances are identified, or provide any context about authentication/authorization despite having multiple credential parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about any of the 6 parameters. With 0% schema description coverage and no parameter details in the description, the agent has no semantic understanding of what region_name, profile_name, role_arn, access_key, secret_access_key, or session_token mean in this context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Find' and the resource 'EC2 instances using previous generation instance types', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'find_overutilized_ec2_instances' or 'find_underutilized_ec2_instances', which target different optimization dimensions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, timing considerations, or how it relates to sibling tools focused on EC2 optimization (e.g., cost, performance, or security tools).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_old_ecs_task_definitionsC

Find old ECS task definitions not used by any service.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
age_daysNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states what the tool does, not how it behaves. It doesn't disclose whether this is a read-only operation, potential side effects, authentication requirements, rate limits, or output format, which are critical for a tool with 7 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for a straightforward tool name and gets straight to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, 0% schema coverage) and the presence of an output schema, the description is insufficient. It explains what the tool does but lacks crucial context about parameters, behavioral traits, and usage scenarios, making it incomplete for effective agent operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no information about any of the 7 parameters. It doesn't explain what 'age_days' means in context, how AWS credentials are used, or the purpose of region selection, failing to compensate for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find') and resource ('old ECS task definitions not used by any service'), distinguishing it from siblings like 'find_outdated_ecs_platform_versions' or 'find_unused_ecs_clusters_and_services'. It precisely defines the scope as task definitions that are both old and unused.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or exclusions. It lacks context about typical use cases (e.g., cleanup, cost optimization) or how it relates to sibling tools, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_orphaned_cloudwatch_alarmsB

Find CloudWatch alarms not associated with any active AWS resources.

This validates alarms against actual resources across multiple services:
EC2, RDS, ECS, Lambda, SQS, Target Groups, and Load Balancers.
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions validation across multiple services but doesn't describe what 'orphaned' means operationally (e.g., alarms that reference deleted resources), whether this is a read-only operation, what permissions are needed, or how results are returned. For a tool with 7 parameters and no annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, and the second adds specific context about validation scope. Both sentences earn their place by providing essential information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, but with an output schema), the description is partially complete. It clearly defines the tool's purpose and scope but lacks details on parameters, behavioral traits, and usage guidelines. The presence of an output schema means return values are documented elsewhere, but the description should still address more of the operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description provides no information about any parametersโ€”it doesn't explain what 'region_name', 'max_results', or authentication parameters like 'profile_name' and 'role_arn' are for. With low schema coverage, the description fails to compensate, leaving parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find CloudWatch alarms not associated with any active AWS resources.' This is a specific verb ('find') + resource ('orphaned CloudWatch alarms') combination that distinguishes it from siblings like 'find_unused_cloudwatch_alarms' (which likely finds alarms that aren't triggering) and 'find_orphaned_cloudwatch_dashboards' (which focuses on dashboards rather than alarms).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by listing the AWS services it validates against (EC2, RDS, ECS, etc.), suggesting it's for cross-service resource validation. However, it doesn't explicitly state when to use this tool versus alternatives like 'find_unused_cloudwatch_alarms' or other sibling tools, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_orphaned_cloudwatch_dashboardsC

Find CloudWatch dashboards with widgets referencing deleted resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it worksโ€”e.g., whether it scans all dashboards, requires specific permissions, has rate limits, returns a list or report, or what 'orphaned' means in practice. For a tool with 7 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for the tool's apparent complexity. Every word contributes directly to understanding what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, but has an output schema), the description is incomplete. It lacks behavioral details, parameter explanations, and usage context. While the output schema might cover return values, the description doesn't compensate for the gaps in understanding how to invoke the tool effectively or what to expect beyond the basic purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description adds no parameter information beyond what the schema provides (only titles and types). It doesn't explain what 'region_name', 'period', or authentication parameters like 'profile_name' do in the context of finding orphaned dashboards, leaving parameters largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find CloudWatch dashboards with widgets referencing deleted resources.' It specifies the verb ('Find'), resource ('CloudWatch dashboards'), and scope ('with widgets referencing deleted resources'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'find_unused_cloudwatch_alarms' or 'find_unused_cloudwatch_log_groups', though the focus on 'orphaned' dashboards is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, typical scenarios, or how it differs from other 'find' tools in the sibling list. Without any usage context, an agent must infer its application solely from the purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_outdated_ecs_platform_versionsC

Find ECS services not using the latest platform version.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool finds outdated services but doesn't disclose behavioral traits like whether it's read-only (implied by 'find'), requires AWS authentication (hinted by parameters but not explained), returns a list or report format, has rate limits, or handles pagination. For a tool with 6 authentication parameters, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple find operation. Every word earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 auth parameters, AWS context) and the presence of an output schema (which should cover return values), the description is minimally complete. It states what the tool does but lacks context on authentication, usage, and behavioral details. With no annotations and poor parameter coverage, it's adequate but has clear gaps for an AWS tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides only titles and types. The description adds no parameter informationโ€”it doesn't explain what 'region_name', 'profile_name', or other AWS auth parameters mean, their defaults, or how they interact. With 6 undocumented parameters, the description fails to compensate for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find ECS services not using the latest platform version.' It specifies the verb ('find'), resource ('ECS services'), and criteria ('not using the latest platform version'). However, it doesn't explicitly differentiate from sibling tools like 'find_outdated_eks_cluster_versions' or 'find_outdated_elasticache_engine_versions' beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., cost optimization, security compliance), or how it relates to sibling tools like 'find_old_ecs_task_definitions' or 'find_underutilized_ecs_services'. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_outdated_eks_cluster_versionsC

Find EKS clusters not running the latest Kubernetes version.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it works: whether it's a read-only scan, requires specific AWS permissions, has rate limits, returns structured data, or handles errors. For a tool with 6 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero wasted words. It's appropriately sized for a simple tool purpose statement and front-loaded with the core functionality, making it highly efficient in structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no annotations, but with an output schema), the description is incomplete. It states the purpose but doesn't address parameter usage, behavioral expectations, or how results are returned. The output schema existence means return values are documented elsewhere, but the description should still cover operational context given the parameter-heavy nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions no parameters at all, while the input schema has 6 parameters with 0% description coverage. Parameters like 'region_name', 'profile_name', 'role_arn', and authentication keys are completely undocumented in the description, failing to add any semantic meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('find') and resource ('EKS clusters not running the latest Kubernetes version'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'find_outdated_ecs_platform_versions' or 'find_outdated_rds_engine_versions' beyond the resource type, missing specific sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context. It lacks any mention of when this tool is appropriate compared to other 'find_outdated_' tools or general AWS analysis tools in the sibling list, leaving usage entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_outdated_elasticache_engine_versionsC

Find ElastiCache clusters not running the latest engine version.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it worksโ€”e.g., whether it scans all clusters, requires specific permissions, has rate limits, returns structured data, or handles errors. This leaves significant gaps for an agent to understand operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no annotations, but has an output schema), the description is insufficient. It explains the goal but lacks details on inputs, behavior, and how results are structured, leaving the agent with too many unknowns despite the output schema potentially covering return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 6 parameters with 0% description coverage, and the tool description adds no information about any parameters. It doesn't explain what 'region_name', 'profile_name', or authentication parameters do, nor their relationships, leaving all parameters undocumented and unclear in usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'find' and resource 'ElastiCache clusters not running the latest engine version', making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'find_outdated_ecs_platform_versions' or 'find_outdated_rds_engine_versions' beyond the resource type, missing specific comparison points.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as other 'find_outdated_' tools or general analysis tools in the sibling list. It lacks context about prerequisites, timing, or specific scenarios where this tool is most appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_outdated_lambda_runtimesC

Find Lambda functions with deprecated or outdated runtimes.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it works: no information about authentication requirements (despite 6 auth-related parameters), rate limits, whether it's read-only or destructive, what the output contains, or how it determines 'deprecated/outdated' status. This leaves significant gaps for an agent to use it correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with this level of complexity and gets straight to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While an output schema exists (which helps with return values), the description is incomplete for a tool with 6 undocumented authentication parameters and no behavioral context. For a tool that likely requires AWS authentication and makes API calls, the description should at minimum mention authentication requirements or refer to the parameters. The current description leaves too many open questions for proper use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 6 parameters have descriptions in the schema. The tool description provides zero information about any parameters, not even mentioning that authentication parameters exist. This leaves all parameters completely undocumented, which is inadequate given the parameter count and complexity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('find') and resource ('Lambda functions with deprecated or outdated runtimes'), making the purpose immediately understandable. It distinguishes from some siblings (e.g., 'find_underutilized_lambda_functions') by focusing on runtime versions rather than utilization, but doesn't explicitly contrast with all similar tools like 'analyze_lambda_cold_starts'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it differs from other lambda-related tools in the sibling list. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_outdated_rds_engine_versionsC

Find RDS instances not running the latest engine version.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'finds' instances, implying a read-only operation, but doesn't clarify if it requires specific AWS permissions, whether it scans all instances or uses filters, what the output format is, or if there are rate limits. For a tool with 6 parameters and no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration. Every word earns its place, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no annotations, but with an output schema), the description is incomplete. It doesn't address authentication needs, regional scoping, or how the tool determines 'latest engine version'. While the output schema may cover return values, the description lacks context on operational behavior and parameter usage, making it insufficient for an agent to use the tool effectively without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema. With 6 parameters (region_name, profile_name, role_arn, access_key, secret_access_key, session_token) and 0% schema description coverage, the schema only provides titles and types. The description doesn't explain what these parameters do, how they interact (e.g., authentication precedence), or why they're needed. This fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find RDS instances not running the latest engine version.' It specifies the verb ('find'), resource ('RDS instances'), and criteria ('not running the latest engine version'). However, it doesn't explicitly differentiate from sibling tools like 'find_outdated_ecs_platform_versions' or 'find_outdated_elasticache_engine_versions' beyond the RDS focus, which is implied but not contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials), context (e.g., cost optimization vs. security), or comparisons to sibling tools like 'analyze_rds_performance_insights' or 'find_underutilized_rds_instances'. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_overly_permissive_security_groupsC

Find security groups with overly permissive rules (0.0.0.0/0 or ::/0).

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't mention authentication requirements (despite 6 auth-related parameters), rate limits, pagination, output format, or whether it's a read-only operation. The description is minimal and lacks crucial operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration. It's front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, 0% schema coverage, no annotations) and the fact this is a security analysis tool, the description is inadequate. While an output schema exists, the description doesn't provide enough context about authentication, regional scoping, or operational behavior for the agent to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning all 6 parameters are undocumented in the schema. The description provides no information about any parameters, not even mentioning that region selection or authentication is required. This leaves the agent with no guidance on how to properly configure the tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find') and resource ('security groups'), with precise criteria ('overly permissive rules (0.0.0.0/0 or ::/0)'). It distinguishes from sibling tools like 'find_unused_security_groups' by focusing on permission analysis rather than usage patterns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. While the purpose is clear, there's no mention of prerequisites, typical use cases, or how it relates to other security analysis tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_overutilized_dynamodb_tablesC

Find DynamoDB tables with high capacity utilization (>80%).

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool finds tables with high utilization but doesn't describe what 'high capacity utilization' means (e.g., read/write capacity units), how it's measured, whether it's a read-only operation, what permissions are required, or what the output looks like. This is inadequate for a tool with 7 parameters and no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point: 'Find DynamoDB tables with high capacity utilization (>80%).' It's appropriately sized for a simple tool purpose, with no wasted words or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, 0% schema coverage, no annotations) and the presence of an output schema, the description is incomplete. It doesn't explain parameter usage, behavioral traits, or how it differs from siblings. While the output schema might cover return values, the description lacks essential context for proper tool invocation and selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 7 parameters are documented in the schema. The description mentions no parameters at all, failing to compensate for this gap. It doesn't explain what 'region_name', 'period', or authentication parameters like 'profile_name' do, leaving the agent guessing about their purpose and usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find DynamoDB tables with high capacity utilization (>80%).' It specifies the verb ('Find'), resource ('DynamoDB tables'), and threshold criterion ('>80%'). However, it doesn't explicitly differentiate from sibling tools like 'find_underutilized_dynamodb_tables' or 'analyze_dynamodb_throttling', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'find_underutilized_dynamodb_tables' for low utilization or 'analyze_dynamodb_throttling' for performance issues, nor does it specify prerequisites or exclusions. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_overutilized_ec2_instancesA

Find EC2 instances with high CPU or memory utilization (โ‰ฅ80%).

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 30)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with overutilized EC2 instances
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'Find[s] EC2 instances' and describes the return format ('Dictionary with overutilized EC2 instances'), but lacks details on permissions needed, rate limits, whether it's read-only or destructive, or how it handles errors. The description adds basic context but misses critical behavioral traits for an AWS tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by organized sections for arguments and returns. It uses bullet-like formatting for parameters, which aids readability. However, it could be slightly more concise by integrating some parameter details more tightly, and the sentence structure is straightforward but not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, but has an output schema), the description is fairly complete. It covers the purpose, parameters, and return format, and the output schema likely details the return structure, reducing the need for more in the description. However, it lacks behavioral context like authentication requirements or error handling, which would enhance completeness for an AWS tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides detailed parameter information beyond the input schema, which has 0% schema description coverage. It explains each parameter's purpose (e.g., 'AWS region name', 'Lookback period in days', 'Maximum results to return'), including defaults and optional status. This compensates well for the schema's lack of descriptions, though it doesn't cover all nuances like parameter interactions or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Find EC2 instances') and resource ('EC2 instances'), including the exact criteria ('high CPU or memory utilization (โ‰ฅ80%)'). It distinguishes from siblings like 'find_underutilized_ec2_instances' by focusing on overutilization rather than underutilization, making the distinction explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the mention of 'high CPU or memory utilization (โ‰ฅ80%)' and the lookback period, suggesting it's for performance monitoring. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., 'find_underutilized_ec2_instances' or other analysis tools), nor does it specify prerequisites or exclusions, leaving usage somewhat inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_overutilized_elasticache_clustersC

Find ElastiCache clusters with high CPU or memory utilization (>80%).

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions the threshold (>80%), it doesn't describe what 'high utilization' means operationally, how the data is collected (e.g., CloudWatch metrics), time aggregation methods, whether this requires specific IAM permissions, or what the output format looks like. For a monitoring/analysis tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence) and front-loaded with the core purpose. Every word earns its place, and there's no wasted text. It efficiently communicates the essential function without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but has output schema), the description is incomplete. While the output schema might cover return values, the description doesn't explain authentication requirements, data source, metric collection methodology, or parameter meanings. For a tool that likely requires AWS credentials and specific permissions, this leaves critical gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides zero information about any of the 7 parameters. With 0% schema description coverage, the description fails completely to compensate for the lack of parameter documentation. Parameters like 'profile_name', 'role_arn', and authentication credentials remain completely unexplained in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Find') and resources ('ElastiCache clusters'), and it distinguishes itself from siblings by specifying the exact condition (>80% CPU or memory utilization). It's not a tautology and provides meaningful differentiation from tools like 'find_underutilized_elasticache_clusters' or general analysis tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it differs from other tools that might analyze ElastiCache clusters. With many sibling tools available, this lack of contextual guidance is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_overutilized_rds_instancesA

Find RDS instances with high CPU utilization (โ‰ฅ80%).

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 30)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with overutilized RDS instances
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by specifying the CPU threshold (โ‰ฅ80%), lookback period concept, and return format. However, it doesn't mention important behavioral aspects like authentication requirements (though parameters hint at it), rate limits, whether this is a read-only operation, or how the tool interacts with AWS APIs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured and concise: purpose statement first, followed by clearly labeled 'Args' and 'Returns' sections. Every sentence earns its place, with no redundant information. The parameter documentation is organized efficiently with just the essential details for each.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, but has output schema), the description is quite complete. It covers purpose, all parameters, and return format. However, it could benefit from more behavioral context about AWS authentication flows and performance characteristics. The output schema existence reduces the need to fully document return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by providing clear documentation for all 8 parameters, including their purposes, defaults, and optional status. It adds significant value beyond the bare schema by explaining what each parameter means (e.g., 'Lookback period in days', 'AWS profile name', 'IAM role ARN to assume').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Find') and resource ('RDS instances'), including the exact threshold for 'high CPU utilization' (โ‰ฅ80%). It distinguishes itself from sibling tools like 'analyze_rds_performance_insights' and 'find_underutilized_rds_instances' by focusing specifically on overutilization detection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the CPU threshold and parameters, but doesn't explicitly state when to use this tool versus alternatives like 'analyze_rds_performance_insights' or 'find_underutilized_rds_instances'. It provides parameter defaults which offer some guidance, but lacks explicit 'when/when-not' statements or sibling tool comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_public_s3_bucketsC

Find S3 buckets with public access enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds public S3 buckets but doesn't describe how it works (e.g., scans all buckets, checks permissions), what it returns (e.g., list of bucket names, details), or any constraints (e.g., rate limits, authentication requirements). For a tool with 6 parameters related to AWS authentication, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely conciseโ€”a single sentence with no wasted words. It's front-loaded with the core purpose, making it easy to scan. Every word earns its place by specifying the action, resource, and condition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 authentication parameters, no annotations, but an output schema exists), the description is incomplete. It doesn't address authentication needs, explain the tool's scope (e.g., all buckets in an account), or hint at the output format. While the output schema may cover return values, the description fails to provide essential context for a tool interacting with AWS resources.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 6 parameters are documented in the schema. The description adds no information about parameters, failing to compensate for this gap. It doesn't explain what 'region_name', 'profile_name', or other authentication parameters mean or how they affect the tool's behavior, leaving them entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find S3 buckets with public access enabled.' It specifies the verb ('Find') and resource ('S3 buckets'), and the condition ('with public access enabled'). However, it doesn't explicitly differentiate from sibling tools like 'find_unencrypted_s3_buckets' or 'find_unused_s3_buckets', which also operate on S3 buckets but for different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials), context (e.g., security auditing), or exclusions (e.g., when to use other 'find' tools for S3 buckets). With many sibling tools focused on AWS resource analysis, this lack of differentiation is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_target_groups_with_high_error_rateA

Find target groups with high error rates (5XX errors).

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 7)
    error_threshold: Error rate threshold percentage (default: 5.0)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with target groups having high error rates
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
error_thresholdNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'finds' target groups, implying a read-only operation, but lacks details on permissions required, rate limits, whether it performs destructive actions, or how it interacts with AWS services. The description is minimal and does not compensate for the absence of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by parameter explanations and return information. It is appropriately sized, with no redundant sentences, though it could be slightly more concise by integrating the purpose with the parameter list more seamlessly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, but with an output schema), the description is reasonably complete. It explains the purpose, parameters, and return value, though it lacks behavioral context like error handling or performance considerations. The output schema reduces the need to detail return values, but more guidance on usage and behavior would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes an 'Args' section that clearly explains each parameter's purpose, such as 'region_name: AWS region name' and 'period: Lookback period in days (default: 7).' This adds significant meaning beyond the input schema, which has 0% description coverage, fully compensating for the schema's lack of parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find target groups with high error rates (5XX errors).' It specifies the verb ('find'), resource ('target groups'), and scope ('with high error rates'), distinguishing it from sibling tools like 'find_target_groups_with_high_response_time' by focusing on error rates rather than response times.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools, prerequisites, or specific contexts for application, leaving the agent without usage direction beyond the basic purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_target_groups_with_high_response_timeB

Find target groups with high response times.

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 7)
    response_time_threshold: Response time threshold in seconds (default: 1.0)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with target groups having high response times
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
response_time_thresholdNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Find[s] target groups with high response times' and describes the return as a 'Dictionary with target groups having high response times,' but lacks critical details: it doesn't specify what 'high' means beyond the threshold parameter, whether this is a read-only operation (implied but not stated), how results are structured, or any rate limits or authentication requirements beyond the optional credential parameters. For a tool with 8 parameters and no annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized: a clear purpose statement followed by 'Args' and 'Returns' sections. Each sentence earns its place by explaining parameters and output. However, the 'Args' section is somewhat verbose due to listing all parameters individually, though this is necessary given the 0% schema coverage. It could be more front-loaded with usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, no annotations, output schema exists), the description is partially complete. It covers parameters well and notes the return type, but lacks behavioral context (e.g., safety, performance impact) and usage guidelines. The output schema existence means it doesn't need to detail return values, but overall, it's adequate with clear gaps for a tool of this scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides a clear 'Args' section listing all 8 parameters with brief explanations (e.g., 'AWS region name,' 'Lookback period in days'), including defaults for 'period' and 'response_time_threshold.' This adds significant meaning beyond the schema's titles, though it doesn't detail constraints (e.g., valid region formats) or interactions between optional credential parameters. With 0% schema coverage, this is strong but not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find target groups with high response times.' It specifies the verb ('Find') and resource ('target groups'), and distinguishes itself from sibling tools like 'find_target_groups_with_high_error_rate' by focusing on response time rather than error rate. However, it doesn't explicitly differentiate from other performance analysis tools in the list, such as 'analyze_api_gateway_performance' or 'analyze_rds_performance_insights', which slightly reduces specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS permissions), context (e.g., performance troubleshooting), or exclusions (e.g., when to use other tools like 'find_target_groups_with_high_error_rate'). The agent must infer usage from the tool name and sibling list alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_underutilized_dynamodb_tablesC

Find DynamoDB tables with low capacity utilization.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds tables but doesn't explain how it determines 'low capacity utilization' (e.g., thresholds, metrics like read/write capacity), what the output includes (though an output schema exists), whether it requires specific AWS permissions, or if it has side effects like API rate limits. For a tool with 7 parameters and no annotations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence: 'Find DynamoDB tables with low capacity utilization.' It is front-loaded with the core purpose, has zero redundant words, and efficiently communicates the essential action without unnecessary elaboration. This is an example of optimal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, schema coverage 0%) and the presence of an output schema, the description is incomplete. It doesn't address parameter meanings, behavioral details like how 'low utilization' is defined, or usage context. While the output schema may cover return values, the description fails to provide enough context for effective tool selection and invocation, especially compared to richer sibling tools in the list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description adds no parameter information beyond what's implied by the tool name (e.g., it doesn't explain what 'region_name', 'period', or authentication parameters like 'profile_name' are used for). With 7 undocumented parameters and no compensation in the description, this is inadequate for understanding inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find DynamoDB tables with low capacity utilization.' It specifies the verb ('Find') and resource ('DynamoDB tables') with a specific criterion ('low capacity utilization'). However, it doesn't explicitly differentiate from sibling tools like 'find_overutilized_dynamodb_tables' or 'find_unused_dynamodb_tables', which would require mentioning contrasting conditions (e.g., 'low' vs. 'high' or 'underutilized' vs. 'unused').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'find_overutilized_dynamodb_tables' or 'find_unused_dynamodb_tables', nor does it specify prerequisites, context (e.g., cost optimization scenarios), or exclusions. The agent must infer usage from the tool name alone, which is insufficient for clear decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_underutilized_ec2_instancesA

Find EC2 instances with low CPU and memory utilization (โ‰ค20%).

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 30)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with underutilized EC2 instances
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It states the tool 'finds' instances and returns a dictionary, implying a read-only operation, but does not clarify authentication requirements, rate limits, or data sources (e.g., CloudWatch metrics). The mention of AWS credentials parameters hints at authentication needs, but explicit behavioral details like permissions or side effects are missing, leaving gaps for a tool with 8 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized. It starts with the core purpose, followed by a clear 'Args' section listing parameters with brief explanations, and ends with return information. Every sentence adds value, though the parameter list is lengthy due to the tool's complexity; it remains front-loaded and efficient without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, but with an output schema), the description is partially complete. It covers the purpose and parameters well, and the output schema handles return values, but it lacks behavioral context like authentication details or performance considerations. For a tool with many parameters and no annotations, more guidance on usage and constraints would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant semantic value beyond the input schema, which has 0% description coverage. It explains each parameter's purpose (e.g., 'AWS region name', 'Lookback period in days', 'AWS profile name'), including defaults and optionality. This compensates fully for the schema's lack of descriptions, making parameter meanings clear and actionable for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find EC2 instances with low CPU and memory utilization (โ‰ค20%).' It specifies the verb ('find'), resource ('EC2 instances'), and criteria ('low CPU and memory utilization โ‰ค20%'). This distinguishes it from sibling tools like 'find_overutilized_ec2_instances' and other analysis tools, making the purpose specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While it mentions the criteria (low CPU/memory โ‰ค20%), it does not specify use cases, prerequisites, or exclusions. Given the many sibling tools for cost optimization and resource analysis, the lack of contextual guidance leaves the agent to infer usage scenarios independently.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_underutilized_ecs_servicesC

Find ECS services with low CPU and memory utilization (<20%).

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds services with low utilization but doesn't describe how it works (e.g., uses CloudWatch metrics, scans all services in a region), what it returns (e.g., list of service ARNs, utilization percentages), or any side effects (e.g., read-only, requires permissions). For a tool with 7 parameters and no annotations, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple find operation, though it could benefit from additional context given the complexity implied by the parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 parameters with 0% schema coverage, no annotations, and an output schema (which helps but isn't described), the description is incomplete. It doesn't explain parameter roles, authentication needs, how the 20% threshold is applied, or what the output contains. For a tool that likely interacts with AWS ECS and CloudWatch, more context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description provides no information about any parametersโ€”it doesn't mention region, period, authentication fields (profile_name, role_arn, access_key, etc.), or how they affect the search. This leaves all parameters undocumented, which is a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find ECS services with low CPU and memory utilization (<20%).' It specifies the verb ('Find'), resource ('ECS services'), and criteria ('low CPU and memory utilization <20%'). However, it doesn't explicitly differentiate from sibling tools like 'find_underutilized_ec2_instances' or 'find_unused_ecs_clusters_and_services' beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials setup), timing considerations, or how it differs from other 'find_underutilized_' or 'find_unused_' tools in the sibling list. The agent must infer usage from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_underutilized_elasticache_clustersC

Find ElastiCache clusters with low CPU utilization (<20%).

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool finds clusters with low CPU utilization but fails to describe key behaviors: whether it's a read-only operation, how it handles authentication (implied by parameters but not stated), potential rate limits, or what the output includes (though an output schema exists). This leaves significant gaps for an AI agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core functionality, making it easy for an AI agent to quickly understand what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 7 parameters with 0% schema coverage and no annotations, the description is insufficient. It covers the basic purpose but lacks details on parameter usage, behavioral traits, and authentication context. While an output schema exists, the description does not provide enough guidance for effective tool invocation in a real-world scenario.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no information about any of the 7 parameters, which have 0% schema description coverage. It does not explain what 'region_name', 'period', or authentication parameters like 'profile_name' mean in context, nor how they affect the search. This fails to compensate for the lack of schema descriptions, leaving parameters largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('find') and resource ('ElastiCache clusters'), and includes a precise criterion ('low CPU utilization (<20%)'). It effectively distinguishes this tool from its sibling 'find_overutilized_elasticache_clusters' by focusing on underutilization rather than overutilization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as other underutilized resource tools (e.g., 'find_underutilized_ec2_instances') or related tools like 'find_overutilized_elasticache_clusters'. It lacks context about prerequisites, typical use cases, or exclusions, offering only the basic functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_underutilized_lambda_functionsC

Find Lambda functions with low invocation rates or high error rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions what the tool finds but doesn't explain how it worksโ€”e.g., whether it requires specific AWS permissions, how it determines 'low' or 'high' thresholds, if it's read-only or modifies data, or what the output looks like. For a tool with 7 parameters and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core functionality, making it easy to parse quickly. Every word earns its place, achieving ideal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, but with an output schema), the description is incomplete. It doesn't address parameter meanings, behavioral traits like authentication needs or rate limits, or how it interacts with sibling tools. While the output schema might cover return values, the description lacks essential context for effective tool selection and use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description doesn't mention any parameters, leaving all of them undocumented. While it implies criteria like 'period' might relate to the analysis timeframe, it doesn't explain parameter roles, defaults, or interactions, failing to compensate for the schema's lack of coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find Lambda functions with low invocation rates or high error rates.' It specifies the verb ('Find'), resource ('Lambda functions'), and criteria ('low invocation rates or high error rates'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'find_unused_lambda_functions' or 'analyze_lambda_cold_starts', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on Lambda optimization (e.g., 'find_unused_lambda_functions', 'analyze_lambda_cold_starts'), there's no indication of how this tool's focus on underutilization differs or when it's most appropriate. This leaves the agent guessing about context or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_underutilized_rds_instancesA

Find RDS instances with low CPU utilization (โ‰ค20%).

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 30)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with underutilized RDS instances
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool returns a dictionary but doesn't describe the structure, format, or keys of the output. It also doesn't disclose authentication requirements, rate limits, side effects, or error handling. The description adds minimal behavioral context beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by organized 'Args' and 'Returns' sections. It's appropriately sized for an 8-parameter tool, though the AWS credential parameters could be grouped conceptually. Every sentence adds value, with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, but with output schema), the description is moderately complete. It explains parameters well and mentions the return type, but lacks behavioral context like authentication needs or performance characteristics. The output schema existence reduces the need to detail return values, but more operational guidance would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides detailed parameter semantics in the 'Args' section, explaining each parameter's purpose (e.g., 'AWS region name', 'Lookback period in days'). Since schema description coverage is 0%, the description fully compensates by adding meaning beyond the schema's titles, clarifying defaults and optionality for all 8 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find RDS instances with low CPU utilization (โ‰ค20%)'. It specifies the verb ('Find'), resource ('RDS instances'), and the exact criterion ('low CPU utilization โ‰ค20%'). This distinguishes it from sibling tools like 'find_overutilized_rds_instances' and 'analyze_rds_performance_insights'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'find_overutilized_rds_instances' or 'analyze_rds_performance_insights', nor does it specify prerequisites, typical use cases, or exclusions. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unencrypted_ebs_volumesC

Find EBS volumes without encryption enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states what the tool does ('Find'), not how it behaves. It doesn't mention whether this is a read-only operation, what permissions are required, whether it scans all regions or just one, what format the output takes, or any rate limits. For a tool with 6 parameters and no annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the core purpose immediately. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no annotations, but with an output schema), the description is incomplete. While the output schema may cover return values, the description doesn't address authentication needs, regional scoping, or behavioral traits. For a security-focused tool that likely requires specific AWS permissions and has operational implications, this minimal description leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 6 parameters have descriptions in the schema. The tool description adds no information about any parametersโ€”it doesn't mention region selection, authentication methods (profile, role, keys), or how these affect the operation. The description fails to compensate for the complete lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find EBS volumes without encryption enabled.' It specifies the verb ('Find') and resource ('EBS volumes') with a specific condition ('without encryption enabled'). However, it doesn't explicitly differentiate from sibling tools like 'find_unencrypted_rds_instances' or 'find_unencrypted_s3_buckets' beyond the resource type, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are many sibling tools for finding various AWS resources, but no indication of whether this is for security audits, compliance checks, or cost optimization. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unencrypted_rds_instancesC

Find RDS instances without encryption enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'finds' instances, implying a read-only operation, but doesn't clarify if it requires specific AWS permissions, whether it's safe to run (e.g., no side effects), or what the output format is. For a security-focused tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero waste: 'Find RDS instances without encryption enabled.' It's appropriately sized and front-loaded, making it easy to understand at a glance without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (security tool with AWS integration), lack of annotations, and 0% schema coverage, the description is incomplete. However, an output schema exists, which may document return values, reducing the burden on the description. The description covers the core purpose but misses critical context like parameter usage, behavioral traits, and guidelines.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 6 parameters are documented in the schema. The description adds no information about parameters, failing to compensate for this gap. It doesn't explain what 'region_name', 'profile_name', or other AWS credential parameters mean or how they affect the tool's behavior, leaving them entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find RDS instances without encryption enabled.' It specifies the verb ('Find'), resource ('RDS instances'), and criteria ('without encryption enabled'), which is clear and specific. However, it doesn't explicitly distinguish itself from sibling tools like 'find_unencrypted_ebs_volumes' or 'find_unencrypted_s3_buckets' beyond the resource type, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials), context (e.g., security audits), or exclusions (e.g., what types of RDS instances are excluded). With many sibling tools for cost optimization and security analysis, this lack of differentiation is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unencrypted_s3_bucketsC

Find S3 buckets without default encryption enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it behaves: no information about authentication requirements (though parameters suggest AWS auth), rate limits, whether it's read-only or destructive, what the output looks like, or any side effects. The description is minimal and lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one sentence with no wasted words. It's front-loaded with the core purpose and doesn't include unnecessary elaboration. Every word earns its place in communicating the essential function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, AWS authentication), lack of annotations, and 0% schema description coverage, the description is incomplete. While an output schema exists (per context signals), the description doesn't provide enough context about authentication, scope, limitations, or how results are returned. For a security scanning tool with multiple auth parameters, more guidance is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about parameters, while the schema has 6 parameters with 0% description coverage. Parameters like 'region_name', 'profile_name', 'role_arn', and authentication keys are completely undocumented in both schema and description. The description doesn't compensate for the schema's lack of parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find S3 buckets without default encryption enabled.' It specifies the verb ('find') and resource ('S3 buckets') with a specific condition ('without default encryption enabled'). However, it doesn't explicitly differentiate from sibling tools like 'find_public_s3_buckets' or 'find_unused_s3_buckets' that also target S3 buckets with different criteria.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'find_public_s3_buckets' or 'find_unused_s3_buckets' that might be relevant for different S3 security or optimization scenarios. There's no context about prerequisites, timing, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_untagged_resourcesC

Find AWS resources missing required tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
required_tagsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds resources but doesn't mention what types of resources it covers, whether it's a read-only operation, if it requires specific AWS permissions, how results are returned, or any rate limits. For a tool with 7 parameters and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but an output schema exists), the description is incomplete. While the output schema may handle return values, the description doesn't address key aspects like resource scope, authentication requirements, or behavioral traits. For a tool with multiple parameters and no annotations, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no information about parameters beyond what's in the schema. With 7 parameters and 0% schema description coverage, the schema only provides titles and types. The description doesn't explain what 'required_tags' should contain, how 'region_name' affects the search, or the purpose of authentication parameters like 'profile_name' and 'role_arn'. This fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find AWS resources missing required tags.' It specifies the verb ('Find'), resource type ('AWS resources'), and condition ('missing required tags'). However, it doesn't explicitly differentiate from sibling tools like 'analyze_tag_compliance' or other 'find_' tools, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on AWS resource analysis (e.g., 'analyze_tag_compliance', 'find_public_s3_buckets'), there's no indication of context, prerequisites, or comparisons. This leaves the agent to infer usage based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_amisA

Find AMIs not used by any EC2 instances, ASGs, or Spot Fleet Requests.

Args:
    region_name: AWS region name
    period: Minimum age in days for AMI to be considered unused (default: 90)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused AMIs
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the tool's read-only nature by implying it 'finds' unused AMIs without modifying them, but lacks details on permissions, rate limits, or error handling. The description adds some context but is incomplete for a tool with 8 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized, with a purpose statement followed by 'Args' and 'Returns' sections. It avoids redundancy, though the parameter list is lengthy due to the high parameter count, which is necessary for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, but has an output schema), the description is mostly complete. It covers purpose, parameters, and return type, though it could improve by adding usage guidelines or behavioral details like authentication requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by listing all 8 parameters with clear semantics, including defaults and optionality (e.g., 'period: Minimum age in days for AMI to be considered unused (default: 90)'). It adds meaning beyond the bare schema, making parameters understandable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Find') and resource ('AMIs not used by any EC2 instances, ASGs, or Spot Fleet Requests'), distinguishing it from siblings like 'find_unused_cloudwatch_alarms' or 'find_unused_s3_buckets' by focusing on AMIs and their usage status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as other 'find_unused_' tools for different resources or cost analysis tools. It lacks explicit context, exclusions, or prerequisites, offering only the basic functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_cloudfront_distributionsC

Find CloudFront distributions with no requests in the specified period.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions required, whether it's read-only or destructive, rate limits, output format, or error handling. For a tool with 7 parameters and AWS authentication inputs, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, AWS authentication, no annotations) and the presence of an output schema, the description is insufficient. It doesn't address authentication requirements, what 'unused' means operationally, or how results are returned. The output schema existence helps, but the description should provide more context for proper tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'specified period' which maps to the 'period' parameter, but with 0% schema description coverage and 7 total parameters (including authentication fields like profile_name, role_arn, access_key), it fails to add meaningful context beyond what's implied. The schema titles provide basic labels, but the description doesn't explain parameter purposes or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find') and resource ('CloudFront distributions') with a precise condition ('with no requests in the specified period'). It distinguishes from siblings like 'find_unused_amis' or 'find_unused_s3_buckets' by specifying the resource type and the 'no requests' criterion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. While the purpose is clear, there's no mention of prerequisites, typical use cases, or how it differs from other cost-optimization tools in the sibling list. The agent must infer usage from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_cloudwatch_alarmsC

Find CloudWatch alarms in INSUFFICIENT_DATA state for extended period.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't reveal important behavioral traits: whether this is a read-only operation, what permissions are required, whether it makes API calls that count toward rate limits, what format the output takes, or how 'extended period' is determined. The description is functional but lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point. Every word contributes to understanding the tool's purpose without any fluff or redundant information. It's appropriately sized for a straightforward finding tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (which will document return values) and no annotations, the description is minimally complete for a simple query tool. However, with 7 parameters at 0% schema coverage and no behavioral context, the description should do more to explain authentication requirements and operational characteristics. It's adequate but leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It only mentions 'extended period' which loosely relates to the 'period' parameter, but doesn't explain the 6 other authentication parameters (region_name, profile_name, role_arn, access_key, secret_access_key, session_token) or their relationships. The description adds minimal value beyond what's in the parameter names themselves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Find') and target resource ('CloudWatch alarms') with a specific condition ('INSUFFICIENT_DATA state for extended period'). It distinguishes from sibling tools like 'find_orphaned_cloudwatch_alarms' by focusing on state-based unused detection rather than orphaned resources. However, it doesn't explicitly differentiate from all siblings in the 'find_unused_*' category.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, typical use cases, or how it differs from other cost optimization or monitoring tools in the sibling list. The agent must infer usage from the tool name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_dynamodb_tablesC

Find DynamoDB tables with no read/write activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds tables with no activity but doesn't explain how it determines this (e.g., based on CloudWatch metrics, over what timeframe, what constitutes 'no activity'). It omits details like whether it requires specific IAM permissions, if it's read-only or has side effects, or how results are returned. For a tool with 7 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence: 'Find DynamoDB tables with no read/write activity.' It's front-loaded with the core purpose, has zero waste, and is appropriately sized for a simple statement. Every word earns its place by conveying the essential action and target.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, but has an output schema), the description is incomplete. It states what the tool does but doesn't cover behavioral aspects like authentication needs (implied by parameters like 'access_key'), how 'no activity' is defined, or any constraints. While the output schema may handle return values, the description lacks sufficient context for safe and effective use, especially with no annotations to fill gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema, which has 0% description coverage (no parameter descriptions in schema). With 7 parameters (e.g., 'region_name,' 'period,' 'profile_name'), the description doesn't explain what they do, how they affect the search, or their relationships (e.g., that 'period' likely defines the days to check for activity). This leaves parameters undocumented and fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find DynamoDB tables with no read/write activity.' It specifies the verb ('find'), resource ('DynamoDB tables'), and criteria ('no read/write activity'). However, it doesn't explicitly differentiate from sibling tools like 'find_underutilized_dynamodb_tables' or 'find_overutilized_dynamodb_tables,' which would require mentioning specific thresholds or usage patterns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on DynamoDB (e.g., 'find_underutilized_dynamodb_tables,' 'find_overutilized_dynamodb_tables,' 'analyze_dynamodb_throttling'), there's no indication of how this tool differs in context or when it's preferred. It lacks any mention of prerequisites, exclusions, or typical scenarios for application.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_ecr_imagesC

Find unused ECR images older than specified days.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
age_daysNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'find' which implies a read-only operation, but doesn't specify if it requires specific AWS permissions, how it determines 'unused' status, or any rate limits or side effects. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it highly concise and front-loaded. It directly states the tool's purpose without unnecessary elaboration, earning full marks for brevity and structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 7 parameters with 0% schema coverage and no annotations, the description is incomplete as it doesn't explain parameter meanings or behavioral traits. However, the presence of an output schema mitigates the need to describe return values, keeping it at a baseline adequacy level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate for all 7 parameters. It only references 'older than specified days,' which loosely relates to the 'age_days' parameter, but ignores the other 6 parameters (e.g., region_name, profile_name, authentication details). This fails to add meaningful semantics beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'find' and the resource 'unused ECR images older than specified days,' making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'find_unused_amis' or 'find_unused_snapshots,' which target different AWS resources, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as other 'find_unused_' tools for different AWS services. It lacks context about prerequisites, dependencies, or typical scenarios for invoking it, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_ecs_clusters_and_servicesA

Find ECS clusters and services with no activity in the specified period.

Identifies:
- Clusters with no active services, tasks, or scheduled tasks
- Services with zero running tasks and no recent CloudWatch activity
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses behavioral traits by detailing what 'no activity' means (e.g., 'no active services, tasks, or scheduled tasks' for clusters, 'zero running tasks and no recent CloudWatch activity' for services), which adds context beyond the basic function. However, it does not cover other aspects like permissions needed, rate limits, or response format, leaving gaps for a tool with 7 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by bullet points detailing the inactivity criteria. Every sentence earns its place by adding specific value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, but has output schema), the description is partially complete. It explains the inactivity detection logic well, which is crucial for understanding the tool's behavior. However, with 0% schema coverage and no parameter explanations, it lacks details needed for full contextual understanding, though the output schema may mitigate some gaps in return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter documentation. It only mentions the 'period' parameter implicitly ('specified period') and does not explain any of the 7 parameters, such as 'region_name', 'profile_name', or authentication-related ones. This leaves most parameters undocumented, failing to add meaningful semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find ECS clusters and services with no activity in the specified period.' It specifies the verb ('Find'), resource ('ECS clusters and services'), and scope ('no activity in the specified period'). It distinguishes from siblings by focusing on ECS resources and inactivity detection, unlike other tools that analyze performance, compliance, or other resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by specifying the period parameter and inactivity criteria, but does not explicitly state when to use this tool versus alternatives. It mentions 'no activity' as the trigger, which provides some context, but lacks explicit exclusions or comparisons to sibling tools like 'find_underutilized_ecs_services' or 'find_outdated_ecs_platform_versions'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_elastic_ipsB

Find unattached Elastic IPs.

Args:
    region_name: AWS region name
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused Elastic IPs
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical behavioral details: it doesn't mention authentication requirements (though parameters imply AWS credentials), potential costs (AWS API calls), rate limits, whether it's read-only or has side effects, or how results are structured beyond 'Dictionary with unused Elastic IPs'. This leaves significant gaps for an agent to understand operational implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections for purpose, arguments, and returns. It's appropriately sized with no redundant information. The only minor improvement would be integrating the purpose more seamlessly with the parameter list, but it remains efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, no annotations, but has output schema), the description is partially complete. It covers the purpose and parameters adequately but lacks behavioral context and usage guidelines. The output schema existence means the description doesn't need to detail return values, but other gaps remain. It's minimally viable but could be more comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explicitly lists all 6 parameters with brief explanations, adding meaningful context beyond the schema (which has 0% description coverage). It clarifies that parameters like 'profile_name', 'role_arn', and credential fields are optional and relate to AWS authentication. However, it doesn't explain parameter interactions (e.g., mutual exclusivity) or provide examples, preventing a perfect score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find') and resource ('unattached Elastic IPs'), making the purpose immediately evident. It distinguishes from sibling tools by focusing on a specific AWS resource type (Elastic IPs) and state (unattached), unlike other tools that analyze performance, compliance, or other resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives. While the purpose implies it's for identifying unused Elastic IPs, there's no mention of prerequisites, typical scenarios, or comparison to other tools like cost optimization or security analysis tools in the sibling list. The description assumes the user already knows when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_eventbridge_rulesC

Find EventBridge rules with no invocations.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It only states what the tool does ('find'), not how it behaves. Missing are details like: whether this is a read-only operation, what authentication is required, how results are returned, time range considerations, or any rate limits. The description doesn't contradict annotations (none exist), but provides minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just 5 words. It's front-loaded with the core purpose and contains no unnecessary words. Every word earns its place, making it efficient for quick understanding of what the tool does at a high level.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, AWS authentication, EventBridge analysis) and the presence of an output schema, the description is insufficient. While the output schema may cover return values, the description doesn't address authentication requirements, time period considerations, regional scope, or how 'no invocations' is determined. For a tool with this many parameters and no annotations, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions no parameters at all, while the schema has 7 parameters with 0% description coverage. Parameters like 'period', 'profile_name', 'role_arn', and authentication credentials are completely undocumented in the description. This fails to compensate for the schema's lack of parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find EventBridge rules with no invocations.' It specifies the verb ('find') and resource ('EventBridge rules'), and distinguishes from siblings by focusing on unused rules rather than other AWS resources. However, it doesn't explicitly differentiate from other 'find_unused_' tools beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, related tools for analyzing EventBridge rules with invocations, or context about why finding unused rules is valuable. The user must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_internet_gatewaysC

Find Internet Gateways not attached or attached to VPCs with no resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what is found ('unused internet gateways') but omits critical details: whether this is a read-only operation, if it requires specific AWS permissions, potential rate limits, or how results are returned (e.g., list format, pagination). The description is insufficient for a tool with 7 parameters and no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It avoids redundancy and is appropriately sized for the tool's function, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but with an output schema), the description is incomplete. It lacks parameter explanations, behavioral context, and usage guidance. While the output schema may cover return values, the description does not adequately prepare an agent for effective tool invocation, especially for authentication and scoping parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema, which has 0% description coverage for its 7 parameters (e.g., region_name, profile_name, role_arn). It fails to explain what these parameters do, their relationships, or default behaviors, leaving the schema as the sole source of information without compensatory details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find') and resource ('Internet Gateways'), with precise criteria ('not attached or attached to VPCs with no resources'). It distinguishes from sibling tools like 'find_unused_amis' or 'find_unused_security_groups' by focusing on internet gateways, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or integration with other tools. It lacks context about typical scenarios (e.g., cost optimization, security cleanup) or comparisons to similar tools in the sibling list, leaving usage decisions to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_lambda_functionsA

Find Lambda functions with no invocations in the specified period.

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 90)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused Lambda functions
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states what the tool does, not how it behaves. It lacks critical behavioral details: authentication requirements (multiple credential options but no guidance), rate limits, whether it performs read-only operations, what happens with large result sets, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with purpose statement followed by organized parameter and return sections. Every sentence adds value, though the credential parameter explanations could be more concise by grouping similar options.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters with 0% schema coverage and no annotations, the description does excellent work documenting parameters and stating the return type. However, it lacks behavioral context needed for a tool with multiple authentication options and potential AWS API interactions. The output schema existence reduces but doesn't eliminate this gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides comprehensive parameter documentation beyond the 0% schema coverage, explaining all 8 parameters with clear semantics: region_name, period (with default and unit), max_results (with default), and all credential options. This fully compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find Lambda functions with no invocations') and resource ('Lambda functions'), with precise scope ('in the specified period'). It distinguishes from siblings like 'find_underutilized_lambda_functions' by focusing on zero usage rather than low usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for identifying unused functions within a time window, but provides no explicit guidance on when to use this vs. alternatives like 'find_underutilized_lambda_functions' or other cost optimization tools. No prerequisites or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_launch_templatesB

Find EC2 launch templates not used by any Auto Scaling Group or instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it worksโ€”such as whether it performs a read-only scan, requires specific AWS permissions, has rate limits, or returns structured data. For a tool with 6 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It directly answers 'what does this tool do?' in a clear and structured manner, making it easy for an agent to parse and understand immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no annotations, but has an output schema), the description is minimally adequate. The output schema likely covers return values, reducing the need for output explanation in the description. However, the lack of parameter semantics and behavioral context makes it incomplete for effective use, especially since the schema provides no descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 6 parameters are documented in the schema. The description adds no information about parameters, failing to explain what 'region_name', 'profile_name', 'role_arn', etc., are used for or how they affect the tool's operation. This leaves the agent with no guidance beyond parameter names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('find') and resource ('EC2 launch templates not used by any Auto Scaling Group or instance'), distinguishing it from sibling tools like 'find_unused_amis' or 'find_unused_security_groups' by focusing on launch templates specifically. It precisely defines what constitutes 'unused' in this context, which is critical for accurate tool selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or typical use cases. While the purpose is clear, it lacks context about when this tool is appropriate compared to other 'find_unused_' tools or broader cost optimization tools in the sibling list, leaving the agent to infer usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_load_balancersA

Find load balancers with no traffic in the specified period.

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 90)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused load balancers
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions what the tool does (finds unused load balancers) and the return format (dictionary), but doesn't disclose important behavioral traits like whether this is a read-only operation, what permissions are needed, whether it makes API calls that incur costs, or how it determines 'no traffic' (e.g., zero requests, zero bytes).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured and concise: a clear purpose statement followed by well-organized Args and Returns sections. Every sentence earns its place, with no redundant information. The front-loaded purpose statement immediately communicates the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (7 parameters, AWS integration) and the presence of an output schema (implied by 'Returns' statement), the description is reasonably complete. However, with no annotations and significant behavioral aspects undisclosed (permissions, cost implications, traffic determination method), there are clear gaps that could hinder effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by explaining all 7 parameters in the Args section, providing clear semantics for each (e.g., 'AWS region name', 'Lookback period in days'). It adds meaningful context beyond just parameter names, though it doesn't explain parameter interactions or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Find') and resource ('load balancers with no traffic'), and distinguishes itself from siblings by focusing on unused load balancers rather than other AWS resources like AMIs, volumes, or functions. It's immediately clear what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the period parameter (lookback period for traffic analysis) but doesn't explicitly state when to use this tool versus alternatives. No guidance is provided about prerequisites, authentication methods, or how this relates to other cost optimization tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_log_groupsA

Find CloudWatch Log Groups with no recent log events.

Args:
    region_name: AWS region name
    period: Lookback period in days (default: 90)
    max_results: Maximum results to return (default: 50)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused log groups
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what the tool does (finds unused log groups) and describes the return format ('Dictionary with unused log groups'), but doesn't cover important behavioral aspects like authentication requirements (beyond listing credential parameters), error handling, rate limits, or what constitutes 'unused' beyond the period parameter. The description provides basic operational context but lacks comprehensive behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, Args, Returns) and front-loads the core functionality. Every sentence serves a purpose, though the parameter explanations could be slightly more concise. The structure helps the agent quickly understand the tool's purpose and parameters without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (8 parameters, no annotations, but has output schema), the description provides good coverage. It explains the purpose, documents all parameters, and describes the return format. The output schema existence means the description doesn't need to detail return values extensively. However, it could benefit from more context about authentication methods and error scenarios to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by providing clear explanations for all 8 parameters. Each parameter gets a brief but meaningful description that adds value beyond the schema (e.g., 'Lookback period in days', 'Maximum results to return', 'AWS profile name (optional)'). The description effectively explains what each parameter means and how it affects the tool's behavior, though it doesn't provide format details or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find CloudWatch Log Groups with no recent log events'), identifies the resource ('CloudWatch Log Groups'), and distinguishes from siblings by focusing on unused log groups rather than other AWS resources. It provides a precise verb+resource combination that is immediately understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the parameter explanations (e.g., 'Lookback period in days'), but doesn't explicitly state when to use this tool versus alternatives. There's no mention of prerequisites, related tools, or specific scenarios where this tool is most appropriate. The guidance is limited to what can be inferred from the parameter descriptions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_nat_gatewaysC

Find NAT Gateways with no traffic in the specified period.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does at a high level without mentioning permissions needed, whether it's read-only or destructive, rate limits, output format, or how 'no traffic' is determined. This is inadequate for an 8-parameter tool with AWS authentication parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for the tool's purpose and front-loads the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, AWS authentication, no annotations) and the presence of an output schema, the description is incomplete. While the output schema may cover return values, the description doesn't address critical context like authentication requirements, what constitutes 'no traffic', or how this tool fits into the broader optimization workflow with sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for 8 parameters, the description fails to compensate. It mentions 'specified period' which relates to the 'period' parameter, but doesn't explain the other 7 parameters including authentication details (profile_name, role_arn, access_key, etc.), region selection, or result limits. The description adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('find') and resource ('NAT Gateways') with a specific criterion ('with no traffic in the specified period'). It distinguishes from siblings like 'find_unused_elastic_ips' by focusing on NAT Gateways, but doesn't explicitly differentiate from other 'find_unused_*' tools beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or typical use cases. It doesn't mention sibling tools like 'get_nat_gateway_optimization_recommendations' that might be related, leaving the agent with no contextual usage information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_route53_hosted_zonesC

Find Route53 hosted zones with no query activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'no query activity' which implies read-only analysis, but doesn't specify whether this tool requires specific AWS permissions, how it determines 'no activity' (e.g., time period defaults), what the output format is, or whether it has any side effects. The description is too minimal for a tool with 7 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point. There's no wasted verbiage or unnecessary elaboration. It's appropriately sized for what it communicates.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, but has output schema), the description is incomplete. While the output schema may cover return values, the description doesn't address authentication requirements, time period interpretation, or behavioral characteristics. It's minimally adequate but leaves significant gaps for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'no query activity' which relates to the 'period' parameter, but doesn't explain what 'period' means (days? hours?), what the default 90 represents, or how the other 6 authentication/configuration parameters should be used. The description adds minimal value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find Route53 hosted zones with no query activity.' It specifies the verb ('find'), resource ('Route53 hosted zones'), and criteria ('with no query activity'). However, it doesn't explicitly differentiate from sibling tools like 'find_unused_cloudfront_distributions' or 'find_unused_s3_buckets' beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or exclusions. Given the many sibling tools for finding unused resources, the agent receives no help in selecting this specific tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_s3_bucketsC

Find S3 buckets with no activity in the specified period.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it works: it doesn't specify what 'no activity' means (e.g., no reads/writes, based on CloudTrail logs), whether it's a read-only operation, what permissions are required, or how results are returned. For a tool with 7 parameters and no annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently conveys the essential action. Every word earns its place, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but an output schema exists), the description is incomplete. It doesn't explain the tool's behavior, parameter roles, or typical output. While the output schema may cover return values, the description lacks context on how the tool operates, what 'unused' entails, or authentication requirements, making it inadequate for informed use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'specified period' which loosely relates to the 'period' parameter, but with 0% schema description coverage and 7 parameters (mostly AWS authentication-related like region_name, profile_name, role_arn), it adds minimal meaning beyond the schema. The description fails to explain what these parameters do or how they affect the tool's behavior, leaving most parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find S3 buckets with no activity in the specified period.' It specifies the verb ('Find'), resource ('S3 buckets'), and scope ('with no activity in the specified period'). However, it doesn't explicitly differentiate from sibling tools like 'find_unencrypted_s3_buckets' or 'find_public_s3_buckets', which target different S3 bucket attributes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials), typical use cases (e.g., cost optimization, security cleanup), or how it differs from other 'find_unused_*' tools for different resource types. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_security_groupsB

Find security groups not attached to any resources.

Args:
    region_name: AWS region name
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused security groups
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. While it mentions the tool 'finds' unused security groups and describes the return format, it doesn't disclose important behavioral aspects like whether this is a read-only operation, what permissions are required, whether it makes API calls that could incur costs, or how it handles pagination beyond the max_results parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections for purpose, arguments, and returns. Each sentence earns its place, though the parameter documentation is somewhat verbose. The purpose statement is front-loaded, making the tool's function immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (7 parameters, AWS integration) and the presence of an output schema, the description is adequate but has gaps. It covers parameters well and mentions the return format, but lacks behavioral context about AWS permissions, cost implications, and operational considerations that would be important for an agent to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by documenting all 7 parameters with clear explanations of their purpose. It provides default values, optional status, and meaningful context for each parameter, though it doesn't explain parameter interactions or provide examples of valid values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('find') and resource ('security groups not attached to any resources'), distinguishing it from sibling tools like 'find_overly_permissive_security_groups' which has a different focus. The title is null, so the description fully carries the purpose definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While sibling tools include various AWS analysis tools, there's no mention of when this specific security group analysis is appropriate, what prerequisites exist, or how it relates to other security-related tools in the list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_snapshotsA

Find EBS snapshots not associated with any AMI or volume.

Args:
    region_name: AWS region name
    period: Minimum age in days for snapshot to be considered unused (default: 90)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused snapshots
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool 'finds' snapshots (implying a read-only operation) and describes the return format, but lacks critical details like authentication requirements, rate limits, error handling, or whether it performs destructive actions. The description is insufficient for a tool with 8 parameters and AWS integration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by organized sections for arguments and returns. It is appropriately sized for an 8-parameter tool, though the parameter list is lengthy but necessary. Every sentence adds value, with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, AWS integration) and the presence of an output schema (which covers return values), the description is reasonably complete. It explains the purpose, parameters, and return format, though it lacks behavioral details like authentication or error handling, which are important for AWS tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides detailed parameter documentation beyond the input schema, which has 0% description coverage. Each parameter is listed with clear explanations (e.g., 'Minimum age in days for snapshot to be considered unused', 'AWS profile name (optional)'), adding significant semantic value that the schema alone does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find EBS snapshots') and the precise criteria ('not associated with any AMI or volume'), distinguishing it from sibling tools like 'find_unused_volumes' or 'find_unused_amis' which target different AWS resources. The purpose is unambiguous and resource-specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for identifying unused snapshots based on age and association status, but provides no explicit guidance on when to use this tool versus alternatives (e.g., 'find_unused_volumes' or 'find_unused_amis') or any prerequisites. Usage context is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_sns_topicsC

Find SNS topics with no subscriptions or no messages published.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool finds but doesn't mention whether this is a read-only operation, what permissions are required, how results are presented, or any rate limits. For a tool that likely queries AWS resources, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence that efficiently communicates the core purpose. There's no wasted language or unnecessary elaboration, making it front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, AWS resource analysis) and the presence of an output schema, the description is incomplete. While the output schema may handle return values, the description fails to provide necessary context about authentication, scope, time period interpretation, or how 'unused' is determined beyond the basic criteria mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides zero information about any of the 7 parameters, and with 0% schema description coverage, the parameters remain completely undocumented. The description doesn't mention region selection, time period, authentication methods, or any other parameter semantics that would help an agent understand how to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('find') and resource ('SNS topics') with precise criteria ('with no subscriptions or no messages published'), making the purpose unambiguous. It effectively distinguishes this tool from sibling tools by focusing on SNS topics specifically rather than other AWS resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context for its application. While sibling tools suggest a cost optimization/analysis context, this tool's description doesn't explicitly connect to that context or provide usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_sqs_queuesC

Find SQS queues with no messages sent or received.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it works: it doesn't mention authentication requirements (implied by AWS credential parameters), rate limits, whether it's read-only or destructive, output format, or error handling. For a tool with 7 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple find operation. Every word earns its place by specifying the resource and criterion without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, AWS integration) and lack of annotations, the description is incomplete. It doesn't address authentication, time period interpretation, output structure (though an output schema exists, the description doesn't hint at it), or error cases. For a tool in a cost-optimization context with many siblings, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no information about parameters beyond what's implied by the tool's purpose. With 7 parameters, 0% schema description coverage, and no parameter details in the description, the agent must rely solely on schema property names and types. The description doesn't explain what 'period' means, how credentials are used, or default behaviors, failing to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find SQS queues with no messages sent or received.' It specifies the verb ('find') and resource ('SQS queues') with a clear criterion ('no messages sent or received'). However, it doesn't explicitly differentiate from sibling tools like 'find_unused_s3_buckets' or 'find_unused_lambda_functions' beyond the resource type, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., AWS credentials), context for 'unused' (e.g., time period implied by parameters but not stated), or comparisons to other cost-optimization tools in the sibling list. This leaves the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_target_groupsA

Find target groups with no registered targets or no traffic.

This function identifies target groups that are:
1. Not attached to any load balancer, OR
2. Have no registered targets, OR
3. Have registered targets but no traffic in the specified period

Args:
    region_name: AWS region name
    period: Lookback period in days for traffic check (default: 7)
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused target groups
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it's a read-only operation (implied by 'find' and 'identifies'), specifies criteria for 'unused', mentions a lookback period for traffic checks, and notes optional AWS credential parameters. However, it doesn't detail rate limits, pagination, or error handling, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by detailed criteria, parameter explanations, and return value. Every sentence adds value without redundancy, making it efficient and easy to parse for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (8 parameters, no annotations, but with output schema), the description is largely complete. It explains the purpose, parameters, and return value. The output schema exists, so detailed return format isn't needed. However, it could benefit from more behavioral context like error cases or performance considerations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate. It adds meaning for all 8 parameters: explains 'period' as 'lookback period in days for traffic check', 'max_results' as 'maximum results to return', and clarifies optional AWS credential parameters. This significantly enhances understanding beyond the schema's basic titles and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('find', 'identifies') and resources ('target groups'), and distinguishes it from siblings by specifying the criteria for 'unused' (no registered targets, no traffic, or not attached to load balancers). This is more specific than generic 'find' tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for identifying unused target groups based on specific criteria, but does not explicitly state when to use this tool versus alternatives (e.g., other 'find' tools for target groups like 'find_target_groups_with_high_error_rate'). It provides context but lacks explicit guidance on exclusions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_volumesA

Find EBS volumes that are not attached to any instance.

Args:
    region_name: AWS region name
    max_results: Maximum results to return (default: 100)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with unused EBS volumes
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the read-only nature implicitly (finding vs modifying) and mentions AWS authentication parameters, but lacks details on rate limits, permissions needed, error handling, or what 'unused' means beyond attachment status. It adds some context but leaves behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with purpose statement followed by Args and Returns sections. Every sentence adds value, but the parameter explanations could be slightly more concise (e.g., repeating 'AWS' for multiple parameters). It's appropriately sized for a 7-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters with 0% schema coverage and an output schema (implied by 'Returns'), the description does well: it explains all parameters and states the return type. However, it lacks behavioral context like authentication requirements or result interpretation, leaving some gaps despite the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate fully. It provides clear explanations for all 7 parameters, including optional/default status and purpose (e.g., 'AWS region name', 'Maximum results to return', 'AWS profile name (optional)'). This adds significant meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find EBS volumes that are not attached to any instance'), identifies the resource (EBS volumes), and distinguishes from siblings by focusing on attachment status rather than encryption, type, or other attributes. It uses a precise verb ('Find') and resource specification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'find_unencrypted_ebs_volumes' or 'find_ebs_volumes_with_old_types'. It doesn't mention prerequisites, typical use cases, or exclusions. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_unused_vpc_endpointsC

Find VPC Endpoints with no connections in the specified period.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
periodNo
max_resultsNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states it 'finds' endpoints with no connections, implying a read-only operation, but doesn't specify whether this requires specific permissions, what the output format is, whether there are rate limits, or how 'no connections' is determined. For a tool with 8 parameters and no annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just one sentence: 'Find VPC Endpoints with no connections in the specified period.' Every word earns its place, clearly stating the tool's purpose without any fluff or redundancy. It's front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 8 parameters with 0% schema description coverage, no annotations, but does have an output schema, the description is incomplete. While the output schema may cover return values, the description doesn't address the behavioral aspects (permissions, rate limits, how 'unused' is determined) or explain the numerous authentication and configuration parameters. For a tool with this complexity, the description should do more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 8 parameters have descriptions in the schema. The tool description mentions 'specified period' which loosely relates to the 'period' parameter, but doesn't explain any of the other 7 parameters (region_name, max_results, profile_name, role_arn, access_key, secret_access_key, session_token). With such low schema coverage, the description fails to compensate by providing meaningful parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find VPC Endpoints with no connections in the specified period.' It specifies the verb ('Find'), resource ('VPC Endpoints'), and scope ('with no connections in the specified period'), which is clear and specific. However, it doesn't explicitly differentiate from sibling tools like 'find_unused_cloudfront_distributions' or 'find_unused_load_balancers' beyond the resource type, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, related tools, or specific scenarios where this tool is appropriate. While the purpose is clear, there's no explicit usage context or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_cost_allocation_reportC

Generate cost allocation report based on resource tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions generating a report but does not disclose behavioral traits like whether it's a read-only operation, if it requires authentication (implied by parameters but not stated), rate limits, or what the output entails. This leaves significant gaps for a tool with 6 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, no annotations, but has an output schema), the description is incomplete. It lacks details on usage, parameters, and behavioral context, making it inadequate for effective tool selection and invocation, despite the output schema potentially covering return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate. It does not explain any parameters, such as 'region_name' or authentication fields like 'role_arn,' leaving all 6 parameters undocumented. This fails to add meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'Generate[s] cost allocation report based on resource tags,' which provides a clear verb ('generate') and resource ('cost allocation report'). However, it lacks specificity about what the report contains or how it differs from sibling tools like 'get_cost_by_region' or 'get_cost_by_service,' making it vague in comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, context, or exclusions, such as whether it requires specific permissions or when it's appropriate compared to other cost-related tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_all_cost_optimization_recommendationsA

Get all cost optimization recommendations from AWS Cost Optimization Hub.

Returns recommendations for all resource types (19 types total).

Args:
    region_name: AWS region to filter recommendations (optional)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    List of dictionaries with cost optimization recommendations by resource type
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the return format ('List of dictionaries with cost optimization recommendations by resource type') which is helpful, but doesn't mention authentication requirements, rate limits, pagination, error handling, or whether this is a read-only operation. The description adds some behavioral context but leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose statement, scope clarification, parameter documentation, and return format - all in minimal sentences. Every section earns its place without redundancy, and information is front-loaded with the core functionality stated first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters with 0% schema coverage and no annotations, the description does an excellent job documenting parameters and return format. However, for a tool that interacts with AWS Cost Optimization Hub, it could better address authentication requirements, rate limits, or error scenarios. The output schema exists, so return values are covered, but operational context is light.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by documenting all 6 parameters with clear explanations of what each represents (e.g., 'AWS region to filter recommendations', 'IAM role ARN to assume'). It adds substantial meaning beyond the bare schema, making parameter purposes immediately understandable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get all cost optimization recommendations') and resource ('from AWS Cost Optimization Hub'), with explicit scope ('all resource types (19 types total)'). It distinguishes itself from sibling tools by being comprehensive rather than analyzing specific resource types or generating reports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by specifying it returns recommendations for all resource types, suggesting it's for broad cost optimization overviews. However, it doesn't explicitly state when to use this vs. more specific sibling tools like get_cost_optimization_ec2 or get_savings_plans_recommendations, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_by_regionA

Get cost breakdown by AWS region for the specified period.

Args:
    start_date: Start date in YYYY-MM-DD format (default: first day of last month)
    end_date: End date in YYYY-MM-DD format (default: first day of current month)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with cost breakdown by region
ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNo
end_dateNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions AWS authentication parameters (profile_name, role_arn, etc.) which hints at credential requirements, but doesn't specify permissions needed, rate limits, error conditions, or whether this is a read-only operation. The description doesn't contradict annotations since none exist, but provides only basic operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections for purpose, arguments, and returns. Every sentence adds value, though the parameter explanations could be slightly more concise. The front-loaded purpose statement is effective, and there's no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (7 parameters, cost analysis functionality) and the presence of an output schema (which handles return value documentation), the description is reasonably complete. It covers all parameters thoroughly and states the return type. However, it lacks information about typical use cases, error handling, and performance characteristics that would be helpful for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides excellent parameter semantics despite 0% schema description coverage. It clearly explains each of the 7 parameters, including format requirements (YYYY-MM-DD), optional status, default values for date parameters, and the purpose of each authentication parameter. This fully compensates for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get'), resource ('cost breakdown by AWS region'), and scope ('for the specified period'). It distinguishes itself from sibling tools like 'get_cost_by_service' and 'get_cost_by_region_and_service' by focusing exclusively on regional breakdown.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_cost_by_service' or 'get_daily_cost_trend'. It mentions the period parameter but doesn't explain typical use cases, prerequisites, or limitations compared to other cost analysis tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_by_region_and_serviceA

Get cost breakdown by AWS region and service for the specified period.

Args:
    start_date: Start date in YYYY-MM-DD format (default: first day of last month)
    end_date: End date in YYYY-MM-DD format (default: first day of current month)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with cost breakdown by region and service
ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNo
end_dateNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by specifying it returns a 'Dictionary with cost breakdown by region and service', clarifying the output structure. It also documents default values for date parameters. However, it doesn't mention potential rate limits, authentication requirements beyond optional parameters, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by organized parameter documentation. Every sentence serves a purpose, though the parameter explanations could be slightly more concise. The front-loaded purpose statement immediately communicates the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters with no schema descriptions and an output schema present, the description provides excellent parameter documentation and clarifies the return value format. It covers authentication options and date defaults well. Minor gaps include lack of error handling information and no mention of data freshness or source limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 7 parameters, the description fully compensates by providing clear semantics for all parameters: it explains each parameter's purpose, format requirements (e.g., 'YYYY-MM-DD format'), default values, and optional status. This adds substantial value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get cost breakdown'), resource ('AWS region and service'), and scope ('for the specified period'). It distinguishes itself from sibling tools like 'get_cost_by_region' and 'get_cost_by_service' by explicitly combining both dimensions in a single breakdown.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for cost analysis by region and service but provides no explicit guidance on when to use this tool versus alternatives like 'get_cost_by_region' or 'get_cost_by_service'. It mentions the period parameter but doesn't clarify trade-offs or prerequisites for AWS credential options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_by_serviceA

Get cost breakdown by AWS service for the specified period.

Args:
    start_date: Start date in YYYY-MM-DD format (default: first day of last month)
    end_date: End date in YYYY-MM-DD format (default: first day of current month)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with cost breakdown by service
ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNo
end_dateNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It mentions authentication parameters (profile_name, role_arn, access_key, etc.) which hints at credential handling, but does not disclose rate limits, permissions required, or whether this is a read-only operation. The description adds some context but lacks depth on operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by parameter details and return value. It is appropriately sized for a tool with 7 parameters, though the parameter list is lengthy. Every sentence earns its place by providing essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters with 0% schema coverage and no annotations, the description does a good job explaining inputs and outputs. It specifies the return type ('Dictionary with cost breakdown by service'), and the output schema exists, so detailed return value explanation is not needed. However, it could improve by mentioning authentication requirements or data freshness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates by providing detailed semantics for all 7 parameters, including formats (YYYY-MM-DD), defaults, and optional status. This adds significant value beyond the bare schema, clarifying usage and reducing ambiguity for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Get') and resource ('cost breakdown by AWS service'), and it distinguishes from siblings like 'get_cost_by_region' or 'get_daily_cost_trend' by specifying the breakdown dimension (by service). The title is null, so the description carries the full burden and does so effectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for cost analysis by service within a date range, but it does not explicitly state when to use this tool versus alternatives like 'get_cost_by_region' or 'generate_cost_allocation_report'. No exclusions or prerequisites are mentioned, leaving the agent to infer context from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_optimization_ebsC

Get EBS volume cost optimization recommendations.

Args:
    region_name: AWS region to filter recommendations (optional)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with EBS cost optimization recommendations
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' recommendations (implying a read-only operation) and mentions AWS authentication parameters, but doesn't clarify critical behaviors like whether it requires specific IAM permissions, if it makes API calls to AWS, what the rate limits might be, or if it's a safe read operation. The description adds minimal behavioral context beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized. It starts with the core purpose, then lists parameters with brief explanations, and ends with return information. Every sentence serves a purpose, though the parameter explanations could be more detailed. It's front-loaded with the main functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, no annotations, but has output schema), the description is moderately complete. It covers the purpose and parameters, and the output schema handles return values, so the description doesn't need to explain returns. However, for a tool with AWS authentication and no annotations, it should provide more behavioral context (e.g., permission requirements, safety). It's adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists all 6 parameters with brief explanations (e.g., 'AWS region to filter recommendations'), which adds meaning beyond the schema (which has 0% description coverage and only provides titles like 'Region Name'). However, the explanations are minimal and don't provide detailed semantics like format examples, dependencies between parameters, or how authentication parameters interact. With 0% schema coverage, the description compensates somewhat but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get EBS volume cost optimization recommendations.' It specifies the verb ('Get') and resource ('EBS volume cost optimization recommendations'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_cost_optimization_ec2' or 'get_all_cost_optimization_recommendations', which would be needed for a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are many sibling tools for cost optimization and analysis (e.g., 'get_cost_optimization_ec2', 'get_all_cost_optimization_recommendations'), but the description doesn't mention any of them or explain when this specific EBS-focused tool is appropriate. It only lists parameters without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_optimization_ec2C

Get EC2 instance cost optimization recommendations.

Args:
    region_name: AWS region to filter recommendations (optional)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with EC2 cost optimization recommendations
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool returns recommendations but doesn't describe what types of recommendations, how they're generated, whether authentication is required (though parameters imply AWS credentials), or any rate limits or side effects. This is inadequate for a tool with AWS integration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections for purpose, arguments, and returns. It's appropriately sized for a 6-parameter tool, though the parameter explanations are minimal and could be more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (AWS integration, 6 parameters) and the presence of an output schema (which covers return values), the description is partially complete. It explains the basic purpose and parameters but lacks crucial context about authentication, recommendation types, and usage scenarios that would help an agent use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists all 6 parameters with brief explanations, but the schema description coverage is 0%, so the description compensates somewhat. However, it doesn't explain parameter relationships (e.g., that credentials parameters are mutually exclusive alternatives) or provide format examples, leaving significant gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get EC2 instance cost optimization recommendations.' It specifies the resource (EC2 instances) and the action (get recommendations), but doesn't explicitly differentiate from sibling tools like 'get_cost_optimization_ebs' or 'get_cost_optimization_rds' beyond the EC2 focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_all_cost_optimization_recommendations' or 'find_underutilized_ec2_instances', nor does it specify prerequisites or appropriate contexts for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_optimization_lambdaC

Get Lambda function cost optimization recommendations.

Args:
    region_name: AWS region to filter recommendations (optional)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with Lambda cost optimization recommendations
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the tool 'gets' recommendations (implying read-only), but doesn't disclose behavioral traits like authentication requirements (the parameters suggest AWS credentials but no explanation), rate limits, whether it makes API calls, or what kind of recommendations are provided. The description is minimal beyond stating the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Args, Returns) and uses bullet points for parameters. It's appropriately sized for a 6-parameter tool, though the parameter explanations are very brief. Every sentence earns its place, but could be more front-loaded with key usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters with 0% schema coverage and no annotations, the description partially compensates by listing parameters and stating the return type. However, it lacks crucial context for a cost optimization tool: what specific recommendations it provides, how they're generated, or prerequisites. The output schema exists (implied by 'Returns'), so describing return values isn't needed, but other gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists all 6 parameters with brief explanations (e.g., 'AWS region to filter recommendations'), adding meaning beyond the schema's bare titles. However, it doesn't explain parameter interactions, defaults, or provide examples (e.g., how credentials are prioritized), leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get Lambda function cost optimization recommendations.' It specifies the resource (Lambda functions) and the action (get cost optimization recommendations). However, it doesn't explicitly differentiate from sibling tools like 'get_cost_optimization_ec2' or 'get_all_cost_optimization_recommendations', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on cost optimization for different AWS services (EC2, RDS, EBS, etc.), there's no indication of when Lambda-specific recommendations are needed versus broader tools like 'get_all_cost_optimization_recommendations'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_optimization_rdsB

Get RDS instance cost optimization recommendations.

Args:
    region_name: AWS region to filter recommendations (optional)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with RDS cost optimization recommendations
ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool returns but doesn't mention whether it requires AWS authentication, how it handles errors, if it makes API calls, or any rate limits. For a tool with 6 parameters (mostly auth-related), this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose statement followed by parameter and return sections. Every sentence earns its place, though the parameter explanations could be slightly more detailed given the auth complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 auth/region parameters) and the presence of an output schema (which covers return values), the description is moderately complete. It explains parameters well but lacks behavioral context (auth requirements, error handling) that would be needed for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explicitly lists all 6 parameters with brief explanations (e.g., 'AWS region to filter recommendations'), adding crucial meaning beyond the schema which has 0% description coverage. This compensates well for the schema's lack of descriptions, though it doesn't provide format examples or detailed constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('RDS instance cost optimization recommendations'), distinguishing it from sibling tools like 'get_cost_optimization_ec2' or 'get_all_cost_optimization_recommendations' by focusing specifically on RDS instances.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'get_all_cost_optimization_recommendations' (which might include RDS) or 'find_underutilized_rds_instances' (which might overlap). The description lacks context about prerequisites, timing, or comparison with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_daily_cost_trendB

Get daily cost trend for the specified number of days.

Args:
    days: Number of days to look back (default: 30)
    profile_name: AWS profile name (optional)
    role_arn: IAM role ARN to assume (optional)
    access_key: AWS access key ID (optional)
    secret_access_key: AWS secret access key (optional)
    session_token: AWS session token for temporary credentials (optional)

Returns:
    Dictionary with daily cost trend and statistics
ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool returns a 'Dictionary with daily cost trend and statistics,' which adds some context about the output format. However, it lacks critical behavioral details: it doesn't specify if this is a read-only operation, potential rate limits, authentication requirements beyond parameter listing, error conditions, or data freshness. For a tool with AWS cost data access, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by structured 'Args' and 'Returns' sections. There's minimal waste, with each part serving a clear function. However, the parameter explanations are very brief and could be more informative, slightly reducing efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, no annotations, but has an output schema), the description is moderately complete. It covers the purpose and parameters adequately, and the output schema likely details the return structure, reducing the need for description here. However, it lacks behavioral context (e.g., safety, performance) and usage guidelines, which are important for a tool interacting with AWS cost data. The presence of an output schema helps but doesn't fully compensate for these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial meaning beyond the input schema, which has 0% schema description coverage. It explicitly lists all 6 parameters with brief explanations (e.g., 'Number of days to look back' for 'days', 'AWS profile name' for 'profile_name'), clarifying their purposes and optionality. This compensates well for the lack of schema descriptions, though it doesn't detail parameter interactions or constraints (e.g., mutual exclusivity of credential options).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get daily cost trend for the specified number of days.' It specifies the verb ('Get'), resource ('daily cost trend'), and scope ('specified number of days'). However, it doesn't explicitly differentiate from sibling tools like 'get_cost_by_region' or 'generate_cost_allocation_report', which also retrieve cost-related data but with different scopes or formats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_cost_by_service' or 'generate_cost_allocation_report', nor does it specify prerequisites, such as AWS Cost Explorer permissions or typical use cases (e.g., monitoring spending trends). The only implied context is the need for AWS credentials, but no explicit usage scenarios are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ebs_volume_type_recommendationsC

Get recommendations for optimizing EBS volume types based on usage patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions 'optimizing' and 'usage patterns,' hinting at analysis, but doesn't disclose whether this is a read-only operation, requires specific AWS permissions, involves data processing, or has rate limits. For a tool with 6 parameters and no annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without redundancy. It's front-loaded with the core action and resource, making it easy to parse, though its brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, no annotations, but an output schema exists), the description is insufficient. It doesn't address parameter needs, behavioral traits, or usage context. While the output schema may cover return values, the description lacks essential details for proper tool invocation and understanding in a server with many sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no information about any of the 6 parameters (e.g., region_name, profile_name). It doesn't explain what inputs are needed for 'usage patterns' or how authentication parameters relate to the tool's function. The description fails to compensate for the complete lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get recommendations') and target resource ('EBS volume types') with the purpose 'for optimizing... based on usage patterns.' It distinguishes from siblings like 'find_ebs_volumes_with_old_types' by focusing on recommendations rather than identification, though it doesn't explicitly contrast with 'get_cost_optimization_ebs' which might overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like 'get_cost_optimization_ebs' or 'find_ebs_volumes_with_old_types' is provided. The description implies usage when optimizing EBS volumes, but lacks context on prerequisites, timing, or exclusions, leaving the agent to infer based on tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_nat_gateway_optimization_recommendationsC

Get recommendations for optimizing NAT Gateway costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool gets recommendations but doesn't explain what kind of recommendations (e.g., resize, delete, modify), whether it requires specific AWS permissions, if it's read-only or mutative, or what the output format looks like. For a cost optimization tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Get recommendations for optimizing NAT Gateway costs.' It's front-loaded with the core purpose and wastes no words. Every part of the sentence contributes directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (cost optimization with 6 parameters) and the presence of an output schema, the description is minimally adequate. The output schema likely covers return values, reducing the need for output details in the description. However, with no annotations and poor parameter documentation, the description leaves gaps in behavioral and parameter context that could hinder effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions no parameters, while the schema has 6 parameters with 0% description coverage. The schema titles (e.g., 'Region Name', 'Profile Name') provide basic labels, but the description adds no semantic context about what these parameters mean, their relationships, or how they affect the recommendations. With low schema coverage, the description fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get recommendations for optimizing NAT Gateway costs.' It specifies the verb ('Get recommendations') and resource ('NAT Gateway costs'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_all_cost_optimization_recommendations' or 'find_unused_nat_gateways', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing, or how it relates to sibling tools such as 'get_all_cost_optimization_recommendations' or 'find_unused_nat_gateways'. Without any usage context, the agent must infer when this specific NAT Gateway optimization tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_reserved_instance_recommendationsC

Get Reserved Instance purchase recommendations from AWS Cost Explorer.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
serviceNoEC2
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states what the tool does, not how it behaves. It doesn't disclose authentication requirements (though parameters suggest AWS credentials), rate limits, whether it's read-only or has side effects, or what format the recommendations come in. This is inadequate for a tool with 7 parameters and no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a tool with an output schema and gets straight to the point without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description states the core purpose adequately, and the existence of an output schema means return values are documented elsewhere. However, for a tool with 7 parameters, 0% schema description coverage, and no annotations, the description should provide more context about authentication, scope, and usage to be complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but provides no parameter information. It doesn't explain what 'region_name', 'service', or the various AWS credential parameters mean in context, or which are required versus optional. With 7 undocumented parameters, this creates significant ambiguity for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('Reserved Instance purchase recommendations') with source ('from AWS Cost Explorer'). It's specific about what the tool retrieves, but doesn't explicitly differentiate from sibling tools like 'get_savings_plans_recommendations' or 'analyze_reserved_instance_utilization' which are related but distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, timing considerations, or how this differs from other cost optimization tools in the sibling list. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_s3_storage_class_recommendationsC

Get S3 storage class optimization recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' recommendations, implying a read-only operation, but doesn't specify whether it requires authentication, what data it accesses (e.g., S3 usage metrics, cost reports), potential rate limits, or the format of the output. For a tool with 6 parameters and no annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it highly concise. It front-loads the core purpose ('Get S3 storage class optimization recommendations') without unnecessary elaboration. Every word earns its place by directly stating the tool's function, though this brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, AWS-related operation) and lack of annotations, the description is insufficiently complete. It doesn't cover authentication needs, input requirements, or behavioral traits. While an output schema exists (which might explain return values), the description doesn't address critical context like when to use the tool, what the recommendations entail, or how parameters interact, leaving the agent with inadequate guidance for effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 6 parameters are documented in the schema. The description adds no information about parameters, failing to compensate for this gap. It doesn't explain what 'region_name', 'profile_name', or other AWS credential parameters are for, their relationships, or which are required for the tool to function. With 0% coverage and no param details in the description, the baseline cannot be met.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get S3 storage class optimization recommendations' clearly states the verb ('Get') and resource ('S3 storage class optimization recommendations'), making the purpose understandable. However, it lacks specificity about what these recommendations entail (e.g., cost savings, performance improvements) and doesn't distinguish itself from sibling tools like 'get_cost_optimization_ec2' or 'get_ebs_volume_type_recommendations', which are similar recommendation tools for other AWS services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing AWS credentials), specific use cases (e.g., cost analysis, performance tuning), or how it differs from sibling tools like 'get_all_cost_optimization_recommendations' or 'analyze_data_transfer_costs', which might overlap in purpose. Without such context, an agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_savings_plans_recommendationsC

Get Savings Plans recommendations from AWS Cost Explorer.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, the description doesn't mention authentication requirements, rate limits, data freshness, or what the recommendations include (e.g., coverage period, savings estimates). For an AWS cost tool with 6 parameters, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for what it communicates, though it could benefit from additional context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of AWS cost recommendations, 6 undocumented parameters, no annotations, and many similar sibling tools, the description is insufficient. While an output schema exists (which helps), the description doesn't address authentication, parameter usage, or differentiation from alternatives, leaving the agent with inadequate guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 6 parameters have descriptions in the schema. The tool description provides no information about any parameters, failing to compensate for the complete lack of schema documentation. Parameters like 'profile_name', 'role_arn', and authentication credentials remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('Savings Plans recommendations from AWS Cost Explorer'), making the tool's purpose understandable. However, it doesn't differentiate from sibling tools like 'get_reserved_instance_recommendations' or 'get_all_cost_optimization_recommendations' that also provide AWS cost optimization recommendations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on AWS cost optimization (e.g., 'get_reserved_instance_recommendations', 'get_all_cost_optimization_recommendations'), there's no indication of how this tool differs in scope or when it's the appropriate choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_snapshot_lifecycle_recommendationsC

Get recommendations for snapshot lifecycle management and cleanup.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_nameNous-east-1
retention_daysNo
profile_nameNo
role_arnNo
access_keyNo
secret_access_keyNo
session_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'recommendations' but doesn't specify if this is a read-only analysis, whether it requires specific AWS permissions, what the output format is, or any rate limits. For a tool with 7 parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized for a basic overview, though it could benefit from additional context given the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, but with an output schema), the description is incomplete. It doesn't explain the parameters, behavioral traits, or how it differs from siblings. While the output schema might cover return values, the description lacks essential context for proper tool selection and invocation in a server with many similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description doesn't mention any parameters, failing to compensate for this gap. Parameters like 'region_name', 'retention_days', and AWS credentials are left unexplained, making it hard for an agent to understand their roles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'Get recommendations for snapshot lifecycle management and cleanup,' which identifies the action (get recommendations) and resource (snapshot lifecycle). However, it's somewhat vague about what these recommendations entail and doesn't differentiate from sibling tools like 'find_unused_snapshots' or other cost optimization tools, leaving ambiguity about its specific scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on cost optimization, snapshot analysis, and resource cleanup, there's no indication of prerequisites, context, or exclusions, making it unclear how this tool fits into the broader workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3/5.0
Disambiguation4/5

Tools are highly specific to different AWS services and optimization aspects, with clear distinctions like 'find_unused_ebs_volumes' vs. 'find_ebs_volumes_with_old_types'. However, some overlap exists, such as multiple 'find_unused_' tools across services that could be conceptually similar, though descriptions clarify the target resource.

Naming Consistency5/5

All tools follow a consistent snake_case pattern with clear verb_noun structures: 'analyze_', 'find_', 'generate_', 'get_'. This uniformity makes the tool set predictable and easy to navigate, despite the large number of tools.

Tool Count2/5

With 76 tools, the count is excessive for an MCP server, making it overwhelming for agents to manage. While AWS FinOps is a broad domain, this many tools suggests fragmentation rather than a well-scoped set, likely leading to confusion and inefficiency.

Completeness5/5

The tool set comprehensively covers AWS FinOps, including cost analysis, resource optimization, performance monitoring, and security compliance across numerous services. There are no obvious gaps; tools address both proactive recommendations and reactive findings for cost savings and efficiency.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to analyze cloud billing data in FOCUS format through natural language queries. Provides 36+ predefined cost analysis queries, custom SQL execution, and schema documentation for multi-cloud cost optimization and FinOps practices.
    11
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language analysis of AWS costs, automated FinOps waste audits, and budget monitoring across multiple profiles and regions while keeping credentials secure locally.
    182
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables analyzing AWS cloud costs through natural language queries, providing cost summaries, anomaly detection, idle resource identification, rightsizing recommendations, and tagging compliance via Claude.
    10
    41
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prashantgupta123/aws-pillar-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server