Skip to main content
Glama
rsp2k
by rsp2k

๐ŸŒฉ๏ธ Vultr MCP

The Ultimate Model Context Protocol Server for Vultr Cloud Management

Transform your cloud infrastructure with natural language commands

Python 3.10+ PyPI version License: MIT MCP Compatible Downloads

๐Ÿš€ Quick Start โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿ› ๏ธ Features โ€ข ๐Ÿ’ก Examples โ€ข ๐Ÿค Contributing


๐ŸŽฏ What is Vultr MCP?

Vultr MCP is the most comprehensive Model Context Protocol server for Vultr cloud services, bringing 335+ management tools across 27 service modules to your fingertips. Manage your entire Vultr infrastructure through natural language conversations with Claude Code, Claude Desktop, or any MCP-compatible AI assistant.

โšก Why Choose Vultr MCP?

  • ๐ŸŽ›๏ธ Complete Control: Manage every aspect of your Vultr infrastructure

  • ๐Ÿง  AI-Native: Built specifically for natural language cloud management

  • ๐Ÿ” Smart Identifiers: Use human names instead of cryptic UUIDs

  • ๐Ÿš€ Enterprise Ready: Battle-tested with comprehensive error handling

  • ๐ŸŒ Full Coverage: From DNS to Kubernetes, databases to CDN

  • โœจ Beautiful CLI: Professional Rich UI with colors, tables, and real-time feedback


Related MCP server: CloudStack MCP Server

๐Ÿ› ๏ธ Features

๐ŸŒŸ Core Capabilities

๐ŸŽฏ Smart Management

  • ๐Ÿ”ค Human-readable identifiers

  • ๐Ÿ›ก๏ธ Intelligent validation

  • ๐Ÿ“Š Real-time analytics

  • ๐Ÿ”„ Bulk operations

โšก Developer Experience

  • ๐Ÿ Native Python API

  • ๐Ÿ–ฅ๏ธ Rich CLI interface

  • ๐Ÿ“š Comprehensive docs

  • ๐Ÿงช Full test coverage

๐ŸŽฏ Enterprise Features (v2.1.0)

๐ŸŽจ Beautiful CLI Interface

  • ๐ŸŒˆ Rich colors and professional tables

  • ๐Ÿ“Š Real-time performance metrics

  • ๐Ÿ”„ Loading spinners and progress bars

  • โœจ Branded panels and status indicators

๐Ÿ“ Structured Logging

  • ๐Ÿท๏ธ Contextual logging with service tags

  • โฑ๏ธ Request timing and performance data

  • ๐Ÿ” Debug-level API call tracing

  • ๐Ÿ“Š Error tracking with retry attempts

โšก Performance & Reliability

  • ๐Ÿ’พ Intelligent TTL-based caching (85%+ hit rate)

  • ๐Ÿ”„ Exponential backoff retry with jitter

  • ๐Ÿ“ˆ Real-time P95/P99 performance monitoring

  • ๐Ÿ›ก๏ธ Network timeout and error resilience

๐Ÿ”’ Security & Quality

  • ๐Ÿ›ก๏ธ Pre-commit hooks with 7 quality checks

  • ๐Ÿ” Bandit security scanning

  • ๐Ÿค– Dependabot automated updates

  • โšก Ruff lightning-fast linting

๐Ÿ—๏ธ Service Coverage (335+ Tools)

Service

Tools

Smart Identifiers

Instances

14

label, hostname

Bare Metal

18

label, hostname

Reserved IPs

11

IP address

SSH Keys

5

name

Snapshots

6

description

Backups

2

UUID

Regions

5

Region code

Plans

10

Plan ID

Service

Tools

Smart Identifiers

DNS Management

14

Domain name

VPCs & VPC 2.0

15

description

Load Balancers

16

name, label

CDN & Edge

15

Origin/CDN domain

Firewall

10

description

Service

Tools

Smart Identifiers

Managed Databases

41

name, label

Block Storage

12

label

Object Storage

12

name, label

Storage Gateways

14

name, label

Service

Tools

Smart Identifiers

Kubernetes

24

Cluster name/label

Container Registry

10

Registry name

Serverless Inference

10

Service name/label

Marketplace

11

App name

Service

Tools

Smart Identifiers

Billing & Account

12

Account info

Users & Subaccounts

23

Email, name

Startup Scripts

10

Script name

ISO Images

7

Filename

Operating Systems

8

OS name


๐Ÿš€ Quick Start

๐Ÿ“ฆ Installation

# ๐Ÿƒโ€โ™‚๏ธ Fast installation with uv (recommended)
uv add mcp-vultr

# ๐Ÿ“ฆ Traditional pip installation  
pip install mcp-vultr

โš™๏ธ Setup with Claude Code

# ๐Ÿ”‘ Set your Vultr API key
export VULTR_API_KEY="your-vultr-api-key"

# ๐Ÿ”Œ Add to Claude Code (one command!)
claude mcp add vultr vultr-mcp-server --env VULTR_API_KEY="${VULTR_API_KEY}"

๐ŸŽ‰ Start Managing!

# ๐Ÿš€ Launch the MCP server
vultr-mcp-server

That's it! You now have 335+ Vultr management tools available through natural language in Claude Code.


โœจ What's New in v2.1.0

๐ŸŽ‰ MAJOR ENTERPRISE UPGRADE - Complete transformation with professional-grade features:

๐ŸŽจ Beautiful CLI Interface

  • Rich Tables: Professional colored tables with borders and status indicators

  • Branded Panels: Stunning server startup with custom panels and emojis

  • Loading Feedback: Spinners, progress bars, and real-time status updates

  • Error Styling: Graceful error handling with contextual formatting

๐Ÿ“Š Performance Monitoring

  • Real-time Metrics: P95/P99 response times, cache hit rates, error tracking

  • Intelligent Caching: TTL-based caching with 85%+ hit rates for faster responses

  • System Monitoring: CPU, memory, network, and disk I/O tracking

  • Performance Tables: Beautiful metrics visualization with trend analysis

๐Ÿ“ Structured Logging

  • Context-Rich Logs: Service tags, request timing, and correlation IDs

  • Debug Tracing: Full API call tracing with request/response details

  • Error Tracking: Retry attempts, failure analysis, and recovery metrics

  • JSON Support: Machine-readable logs for log aggregation systems

๐Ÿ›ก๏ธ Enterprise Reliability

  • Exponential Backoff: Smart retry logic with jitter to prevent thundering herd

  • Network Resilience: Timeout protection and connection pooling

  • Error Recovery: Graceful degradation and automatic failover

  • Rate Limit Handling: Intelligent backoff when approaching API limits

๐Ÿ”’ Security & Quality

  • Pre-commit Hooks: Automated code quality checks on every commit

  • Security Scanning: Bandit security analysis and vulnerability detection

  • Dependency Management: Automated updates with Dependabot

  • Modern Tooling: Lightning-fast Ruff linting with comprehensive rule sets


๐Ÿ’ก Examples

๐Ÿ—ฃ๏ธ Natural Language Commands

๐Ÿง‘โ€๐Ÿ’ป "Create a web server instance called 'my-website' in New Jersey"
๐Ÿค– โœ… Created instance 'my-website' (Ubuntu 22.04, 1GB RAM) in ewr region

๐Ÿง‘โ€๐Ÿ’ป "Add a DNS record for blog.example.com pointing to my-website"  
๐Ÿค– โœ… Added A record: blog.example.com โ†’ 192.168.1.100 (TTL: 300)

๐Ÿง‘โ€๐Ÿ’ป "Scale my Kubernetes cluster to 5 nodes"
๐Ÿค– โœ… Scaled cluster 'production' node pool to 5 nodes

๐Ÿง‘โ€๐Ÿ’ป "Show me this month's billing breakdown by service"
๐Ÿค– ๐Ÿ“Š Monthly costs: Instances $45, Kubernetes $120, Storage $23...

๐Ÿ Python API

import asyncio
from mcp_vultr import VultrDNSClient, VultrDNSServer

async def deploy_website():
    """๐Ÿš€ Deploy a complete website infrastructure"""
    
    # High-level DNS client
    dns = VultrDNSClient("your-api-key")
    
    # Full API client with smart identifiers
    vultr = VultrDNSServer("your-api-key")
    
    # ๐ŸŒ Create domain and DNS records
    await dns.create_domain("mysite.com", "192.168.1.100") 
    await dns.add_a_record("mysite.com", "www", "192.168.1.100")
    await dns.add_mx_record("mysite.com", "@", "mail.mysite.com", 10)
    
    # ๐Ÿ–ฅ๏ธ Deploy instance with smart naming
    instance = await vultr.create_instance(
        region="ewr",
        plan="vc2-1c-1gb", 
        os_id=387,
        label="web-server",  # ๐Ÿท๏ธ Human-readable name!
        hostname="web.mysite.com"
    )
    
    # ๐Ÿ”ฅ Configure firewall by description
    firewall = await vultr.get_firewall_group("web-servers")
    
    # ๐Ÿ“Š Get real-time metrics
    stats = await vultr.get_instance_bandwidth("web-server")  # By name!
    
    print(f"โœ… Deployed {instance['label']} with {stats['incoming']}GB traffic")

asyncio.run(deploy_website())

๐Ÿ–ฅ๏ธ Enterprise CLI Experience

โœจ Beautiful Rich Interface with Professional Tables

# ๐ŸŒˆ Stunning domain overview with colors and status indicators
$ mcp-vultr domains list

                    Vultr DNS Domains (49 found)                     
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Domain                  โ”ƒ Created                   โ”ƒ DNSSEC      โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ api.mycompany.com       โ”‚ 2024-01-15T10:30:00+00:00 โ”‚ โœ… enabled  โ”‚
โ”‚ webapp.io               โ”‚ 2024-03-22T14:20:00+00:00 โ”‚ โŒ disabled โ”‚
โ”‚ blog.example.com        โ”‚ 2024-07-10T09:15:00+00:00 โ”‚ โœ… enabled  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

# ๐Ÿš€ Professional server startup with branded panels
$ mcp-vultr server
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Vultr MCP Server โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ ๐Ÿš€ Starting Vultr DNS MCP Server                                             โ”‚
โ”‚ ๐Ÿ”‘ API Key: your-key-abc123...                                               โ”‚
โ”‚ ๐Ÿ”„ Press Ctrl+C to stop                                                      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

# ๐Ÿ—๏ธ Infrastructure management with smart names  
mcp-vultr instances create --label "api-server" --region ewr --plan vc2-2c-4gb
mcp-vultr instances start api-server                    # Start by name!
mcp-vultr instances attach-volume api-server db-storage # Attach by names!

# ๐ŸŒ DNS management with real-time feedback
mcp-vultr domains create api.mycompany.com 192.168.1.200
mcp-vultr records add api.mycompany.com A @ 192.168.1.200
mcp-vultr setup-website api.mycompany.com 192.168.1.200 --ssl

# ๐Ÿณ Kubernetes cluster management  
mcp-vultr k8s create production-cluster --region ewr --nodes 3
mcp-vultr k8s scale production-cluster --nodes 5       # Scale by name!
mcp-vultr k8s get-costs production-cluster             # Cost analysis!

๐Ÿ“Š Real-time Performance Monitoring & Structured Logging

# ๐Ÿ“ˆ Live performance metrics and cache statistics
[info] API request completed    method=GET response_time=0.63s status_code=200
[debug] Cache set              cache_type=TTLCache endpoint=/domains hit_rate=85.2%
[debug] API call recorded      cache_hit=False duration=0.63s success=True

# ๐Ÿ“Š Beautiful performance tables with P95/P99 metrics
                         API Performance Metrics                         
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Endpoint      โ”ƒ Requests โ”ƒ Avg Time โ”ƒ    P95 โ”ƒ Cache Hit โ”ƒ Error Rate โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ GET /domains  โ”‚    1,247 โ”‚   0.234s โ”‚ 0.456s โ”‚     85.2% โ”‚       0.1% โ”‚
โ”‚ GET /records  โ”‚    3,891 โ”‚   0.189s โ”‚ 0.312s โ”‚     92.1% โ”‚       0.3% โ”‚
โ”‚ POST /records โ”‚      456 โ”‚   0.567s โ”‚ 1.234s โ”‚      0.0% โ”‚       2.1% โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŽฏ Smart Identifier Resolution

Stop wrestling with UUIDs! Vultr MCP's killer feature is smart identifier resolution - use human-readable names instead of cryptic UUIDs across all services.

๐Ÿท๏ธ Before vs After

# ๐Ÿ˜ค The old way (UUIDs everywhere)
vultr instance stop 00000000-0000-0000-0000-000000000001
vultr firewall rule add 00000000-0000-0000-0000-000000000002 --port 443

# ๐ŸŽ‰ The Vultr MCP way (human names!)
mcp-vultr instances stop web-server  
mcp-vultr firewall rules add web-servers --port 443

๐Ÿง  Smart Resolution Across All Services

Service

Smart Identifier

Example

๐Ÿ–ฅ๏ธ Instances

label, hostname

web-server, api.company.com

๐Ÿ”‘ SSH Keys

name

laptop-key, ci-deploy-key

๐Ÿ”ฅ Firewall Groups

description

web-servers, database-tier

๐Ÿ“ธ Snapshots

description

backup-2024-01, pre-upgrade

๐ŸŒ Reserved IPs

IP address

192.168.1.100

๐Ÿณ Container Registries

name

my-app-registry

๐Ÿ’พ Block Storage

label

database-storage

๐ŸŒ VPCs

description

production-network

๐Ÿ“œ Startup Scripts

name

docker-setup

๐Ÿ–ฅ๏ธ Bare Metal

label, hostname

db-server-01

๐ŸŒ CDN Zones

Origin/CDN domain

cdn.mysite.com

โ˜ธ๏ธ Kubernetes

name, label

prod-cluster

โš–๏ธ Load Balancers

name, label

api-lb

๐Ÿ—„๏ธ Databases

name, label

postgres-main

๐Ÿ’Ž Object Storage

name, label

media-bucket

๐Ÿš€ Inference Services

name, label

ml-api

๐Ÿšช Storage Gateways

name, label

file-gateway

๐Ÿ‘ฅ Subaccounts

name, email

dev-team

๐Ÿ‘ค Users

Email address

admin@company.com


๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๐Ÿค– AI Assistant                          โ”‚
โ”‚                     (Claude Code/Desktop)                       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚ Natural Language Commands
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ๐Ÿ“ก Vultr MCP Server                           โ”‚
โ”‚                      (335+ Tools)                               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐ŸŒ DNS  ๐Ÿ–ฅ๏ธ Compute  ๐Ÿณ K8s  ๐Ÿ—„๏ธ DB  ๐Ÿ”ฅ Security  ๐Ÿ’พ Storage    โ”‚
โ”‚  ๐Ÿ“Š Analytics  ๐ŸŒ CDN  โš–๏ธ LB  ๐Ÿš€ Serverless  ๐Ÿ‘ฅ Users          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚ Smart API Calls
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      โ˜๏ธ Vultr Cloud API                         โ”‚
โ”‚              (Complete Infrastructure Management)                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“– Documentation

๐Ÿš€ Getting Started

๐Ÿ“š API Reference

๐ŸŽ“ Tutorials & Examples


๐Ÿ› ๏ธ Development

๐Ÿƒโ€โ™‚๏ธ Quick Setup

# ๐Ÿ“ฅ Clone the repository
git clone https://git.supported.systems/MCP/mcp-vultr.git
cd mcp-vultr

# โšก Install with uv (recommended)
uv sync --extra dev

# ๐Ÿงช Run tests (multiple performance modes)
make test-fast          # โšก Quick tests (30-60s)
make test-parallel      # ๐Ÿš€ Parallel execution (60-120s) 
make test-coverage      # ๐Ÿ“Š Full coverage (180-300s)

# ๐ŸŽฏ Targeted testing
make test-unit          # Unit tests only
make test-mcp           # MCP server tests
make test-error         # Error handling tests

# ๐Ÿ“ˆ Performance monitoring
python test_performance_benchmark.py

# ๐ŸŽจ Format code  
uv run black src tests && uv run isort src tests

# ๐Ÿ” Type checking
uv run mypy src

๐Ÿ“ฆ Build & Publish

# ๐Ÿ—๏ธ Build package
uv build

# โœ… Check integrity
uv run twine check dist/*

# ๐Ÿš€ Publish to PyPI
uv run twine upload dist/*

๐Ÿค Contributing

We โค๏ธ contributions! Whether it's:

  • ๐Ÿ› Bug Reports: Found an issue? Let us know!

  • โœจ Feature Requests: Have ideas? We want to hear them!

  • ๐Ÿ“ Documentation: Help make our docs even better

  • ๐Ÿงช Testing: Add tests, improve coverage

  • ๐Ÿ’ป Code: Submit PRs for new features or fixes

๐Ÿš€ How to Contribute

  1. ๐Ÿด Fork the repository

  2. ๐ŸŒฟ Create a feature branch (git checkout -b feature/amazing-feature)

  3. โœ๏ธ Make your changes

  4. โœ… Test everything (make test-parallel or make test-coverage)

  5. ๐Ÿ“ Commit your changes (git commit -m 'Add amazing feature')

  6. ๐Ÿ“ค Push to the branch (git push origin feature/amazing-feature)

  7. ๐ŸŽ‰ Open a Pull Request


๐Ÿ“Š Project Stats

Metric

Value

๐Ÿ› ๏ธ MCP Tools

335+

๐Ÿ“ฆ Service Modules

27

๐Ÿ Python Support

3.10+

๐Ÿ“ˆ Test Coverage

90%+

๐Ÿ“š Documentation

Comprehensive

โšก Performance

Production Ready


๐Ÿ™ Acknowledgments

  • ๐ŸŒฉ๏ธ Vultr for their comprehensive cloud API

  • ๐Ÿค– Anthropic for the Model Context Protocol specification

  • ๐Ÿ Python Community for amazing tools and libraries

  • ๐Ÿš€ FastMCP for the excellent MCP framework

  • ๐Ÿ‘ฅ Contributors who make this project amazing


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


โญ Star us on GitLab if you find Vultr MCP useful!

Made with โค๏ธ for the cloud infrastructure community

๐Ÿš€ Get Started โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿ› Report Issues โ€ข ๐Ÿ’ฌ Discussions

Available Tools

265 tools
add_exportA

Add a new export to a storage gateway.

Smart identifier resolution: Use gateway label or ID.

Args: gateway_identifier: Gateway label or ID export_config: Export configuration with keys: - label: Export label - vfs_uuid: VFS UUID to export - pseudo_root_path: Pseudo root path (e.g., "/") - allowed_ips: List of allowed IP addresses

Returns: Created export information

ParametersJSON Schema
NameRequiredDescriptionDefault
gateway_identifierYes
export_configYes

TDQS

A4.1/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. It discloses that the tool creates an export ('Add a new export') and returns 'Created export information', but lacks details on permissions, rate limits, or error handling. It adds some behavioral context but is incomplete for a mutation tool.

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 purpose, followed by parameter details and return info. Every sentence adds value, with no wasted words, 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?

For a mutation tool with no annotations and no output schema, the description does well by explaining parameters and return values. However, it could improve by detailing behavioral aspects like authentication or side effects. Given the complexity, it's mostly complete but has minor gaps.

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 compensates fully. It explains both parameters: 'gateway_identifier' with 'Gateway label or ID' and 'export_config' with detailed sub-keys (label, vfs_uuid, pseudo_root_path, allowed_ips). 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 ('Add a new export') and resource ('to a storage gateway'), distinguishing it from sibling tools like 'delete_export' or 'get_gateway_status'. It precisely defines what the tool does without being tautological.

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 'Smart identifier resolution: Use gateway label or ID', suggesting when to use this tool, but lacks explicit guidance on when not to use it or alternatives. No prerequisites or comparisons to other tools are provided.

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

add_ip_whitelist_entryA

Add an IP address or subnet to a user's whitelist.

Args: user_id: The user ID (UUID) or email address subnet: The IP address or subnet to add (e.g., "8.8.8.0", "192.168.1.100") subnet_size: The subnet size (e.g., 24 for /24, 32 for single IP)

Returns: Status message confirming addition

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
subnetYes
subnet_sizeYes

TDQS

A3.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. It states the tool performs an addition but lacks details on permissions required, whether the change is reversible, rate limits, or error conditions. For a mutation 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose, followed by structured sections for args and returns. Every sentence adds value, though the 'Returns' section could be more specific (e.g., confirming what was added) rather than generic.

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?

For a mutation tool with no annotations and no output schema, the description covers parameters well but lacks behavioral context (e.g., side effects, permissions). It is partially complete but misses critical details needed for safe and effective use, given the tool's complexity and lack of structured metadata.

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 explaining all three parameters: 'user_id' (UUID or email), 'subnet' (IP address or subnet with examples), and 'subnet_size' (subnet size with examples). It adds essential 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 specific action ('Add an IP address or subnet') and resource ('to a user's whitelist'), distinguishing it from sibling tools like 'remove_ip_whitelist_entry' and 'get_ip_whitelist'. It precisely communicates the tool's function without being tautological.

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 adding entries to a whitelist but does not explicitly state when to use this tool versus alternatives like 'remove_ip_whitelist_entry' or 'get_ip_whitelist'. No exclusions or prerequisites are mentioned, leaving usage context partially inferred rather than clearly defined.

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

analyze_cdn_performanceB

Analyze CDN zone performance over the specified period. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID days: Number of days to analyze (default: 7)

Returns: Performance analysis including cache hit ratio, bandwidth usage, and recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes
daysNo

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 the full burden of behavioral disclosure. It mentions 'Smart identifier resolution' and the return content ('Performance analysis including cache hit ratio, bandwidth usage, and recommendations'), but fails to cover critical aspects like whether this is a read-only operation, if it requires specific permissions, rate limits, or how the analysis is generated (e.g., real-time vs. historical). For a tool with no annotations, 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 well-structured and front-loaded with the core purpose, followed by clear sections for 'Args' and 'Returns.' Every sentence adds value without redundancy, making it efficient for an AI agent to parse and understand quickly.

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 (2 parameters, no annotations, no output schema), the description is partially complete. It covers the purpose, parameters, and return content adequately, but lacks details on behavioral traits (e.g., safety, permissions) and doesn't fully explain the analysis methodology or output format, leaving room for improvement in guiding an AI agent.

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 significant meaning beyond the input schema, which has 0% description coverage. It explains that 'zone_identifier' accepts 'origin domain, CDN domain, or UUID' and that 'days' has a default of 7 with context ('Number of days to analyze'). This compensates well for the schema's lack of documentation, though it doesn't detail constraints like valid ranges for 'days'.

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: 'Analyze CDN zone performance over the specified period.' It specifies the verb ('analyze'), resource ('CDN zone performance'), and scope ('over the specified period'). However, it doesn't explicitly differentiate from sibling tools like 'get_cdn_zone_stats' or 'monitor_usage', which might offer similar functionality, preventing 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 Guidelines3/5

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

The description provides some implied usage context by mentioning 'Smart identifier resolution: use origin domain, CDN domain, or UUID,' which suggests when to use this tool for identifier flexibility. However, it lacks explicit guidance on when to choose this tool over alternatives like 'get_cdn_zone_stats' or 'analyze_costs,' and doesn't mention prerequisites or exclusions, leaving gaps for an AI agent.

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

analyze_costsC

Analyze costs and usage patterns for a subaccount.

Args: subaccount_id: The subaccount ID, name, email, or UUID analysis_days: Number of days to analyze (default: 30)

Returns: Detailed cost analysis including projections and recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
subaccount_idYes
analysis_daysNo

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 offers minimal behavioral insight. It mentions the tool returns 'detailed cost analysis including projections and recommendations' but doesn't disclose whether this is a read-only operation, what permissions are needed, whether it has side effects, rate limits, or how projections are calculated. For a tool with 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.

Conciseness4/5

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

The description is efficiently structured with clear sections for Args and Returns. The first sentence states the core purpose, followed by parameter details. There's minimal redundancy, though the 'Args' and 'Returns' labels are slightly redundant with the schema 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 2 parameters with 0% schema coverage and no output schema, the description provides basic parameter semantics and return value overview but lacks details about the analysis methodology, output format, error conditions, or authentication requirements. For a cost analysis tool with no annotations, this leaves significant gaps in understanding how to interpret results.

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 explains that 'subaccount_id' can be ID, name, email, or UUID and 'analysis_days' has a default of 30 days, adding useful semantic context beyond the bare schema. However, it doesn't cover parameter constraints, formats, or validation rules that would be needed for full understanding.

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 analyzes costs and usage patterns for a subaccount, specifying the resource (subaccount) and action (analyze costs/usage patterns). It distinguishes from some siblings like 'get_cost_analysis' or 'analyze_spending_trends' by focusing on subaccount-level analysis, though the distinction could be more explicit.

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_analysis', 'analyze_spending_trends', or 'analyze_kubernetes_cluster_costs'. It mentions the subaccount focus but doesn't explain why one would choose this over 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.

analyze_domainB

Analyze DNS configuration for a domain and provide recommendations.

Args: domain: The domain name to analyze

Returns: Analysis results with recommendations for improvements

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

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 full burden. It mentions 'analyze' and 'provide recommendations', implying a read-only diagnostic operation, but doesn't disclose behavioral traits like whether it requires specific permissions, has rate limits, returns structured vs. free-text results, or if it performs active probing. This is inadequate for a tool with zero 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.

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 brief Arg/Returns sections. There's no wasted text, though the structure could be more integrated (e.g., combining purpose and returns).

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 one parameter with 0% schema coverage and an output schema present, the description is minimally adequate. It covers the parameter semantics and return intent but lacks behavioral context (no annotations) and doesn't explain what 'recommendations' entail, though the output schema may address this. For a diagnostic tool, more operational guidance would be helpful.

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 meaningful context for the single parameter: 'domain: The domain name to analyze'. With 0% schema description coverage and only one parameter, this compensates well by clarifying the parameter's purpose and format. However, it doesn't specify constraints like valid TLDs or input examples.

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: 'Analyze DNS configuration for a domain and provide recommendations.' It specifies the verb ('analyze'), resource ('DNS configuration for a domain'), and outcome ('provide recommendations'). However, it doesn't explicitly differentiate from sibling tools like 'get_domain' or 'validate_record', which lowers it from 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, exclusions, or compare it to related tools like 'analyze_cdn_performance' or 'get_domain'. 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.

analyze_inference_usageB

Analyze usage patterns and provide optimization recommendations.

Args: subscription_id: The inference subscription ID or label

Returns: Comprehensive analysis including: - efficiency_score: Overall utilization efficiency (0-1) - recommendations: List of optimization suggestions - cost_optimization: Potential cost savings opportunities - usage_patterns: Detailed usage breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

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 mentions the tool provides 'comprehensive analysis' with specific return fields, but doesn't address critical behavioral aspects like whether this is a read-only operation, if it requires specific permissions, if it has rate limits, or if it triggers any side effects. For an analysis tool with zero annotation coverage, 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.

Conciseness4/5

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

The description is well-structured and appropriately sized. It starts with a clear purpose statement, then lists the single parameter with its meaning, and finally details the return structure. Every sentence adds value without unnecessary repetition 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 (analysis with optimization recommendations), lack of annotations, and no output schema, the description does a decent job but has gaps. It explains the parameter and return structure well, but doesn't address behavioral aspects like safety, permissions, or limitations. For a tool that presumably analyzes sensitive usage data, more context about access requirements would be helpful.

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 clear semantic meaning for the single parameter: 'subscription_id: The inference subscription ID or label.' With 0% schema description coverage and only one parameter, the description fully compensates by explaining what this parameter represents, making it easy for an agent to understand what to provide.

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: 'Analyze usage patterns and provide optimization recommendations.' It specifies the verb ('analyze'), resource ('usage patterns'), and outcome ('optimization recommendations'). However, it doesn't explicitly differentiate from sibling tools like 'analyze_costs' or 'optimize_inference_costs', which appear related but have different scopes.

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 several sibling tools with 'analyze' or 'optimize' in their names (e.g., 'analyze_costs', 'optimize_inference_costs'), but the description doesn't clarify when this specific tool is appropriate or what distinguishes it from those options.

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

analyze_kubernetes_cluster_costsB

Analyze the estimated costs of a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID

Returns: Cost analysis including per-node costs and total estimated monthly cost

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

TDQS

B3.3/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 'estimated costs' and 'cost analysis including per-node costs and total estimated monthly cost,' which gives some behavioral insight (e.g., it's a read-only analysis tool). However, it lacks details on permissions, rate limits, data freshness, or error handling. For a tool with no annotations, 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.

Conciseness4/5

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

The description is well-structured and front-loaded with the main purpose, followed by specific details in 'Args' and 'Returns' sections. It uses three concise sentences with no wasted words, making it easy to scan. However, the 'Args' and 'Returns' formatting, while helpful, slightly reduces efficiency compared to a single flowing paragraph.

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 no annotations, no output schema, and low schema coverage (0%), the description does a decent job by explaining the tool's purpose, parameter, and return value. However, it lacks details on behavioral aspects like error cases, authentication needs, or how the analysis is performed (e.g., real-time vs. cached). For a cost analysis tool, this leaves room for improvement in completeness.

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 1 parameter with 0% description coverage, so the description must compensate. It adds value by explaining 'cluster_identifier: The cluster label or ID' and noting 'Smart identifier resolution: use cluster label or UUID,' which clarifies the parameter's purpose and acceptable values beyond the schema's basic type. This effectively documents the single parameter, though it could specify format constraints more explicitly.

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: 'Analyze the estimated costs of a Kubernetes cluster.' It specifies the verb ('analyze') and resource ('Kubernetes cluster'), and distinguishes it from generic cost analysis tools like 'analyze_costs' by focusing on Kubernetes clusters. However, it doesn't explicitly differentiate from 'get_cost_analysis' or 'get_cost_breakdown_by_service', which are sibling tools.

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 provides some usage context by mentioning 'Smart identifier resolution: use cluster label or UUID,' which implies when to use this tool (for Kubernetes clusters). However, it doesn't explicitly state when to use this tool versus alternatives like 'analyze_costs' or 'get_cost_analysis', nor does it provide exclusions or prerequisites. The guidance is implied but not comprehensive.

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

analyze_user_permissionsB

Analyze a user's current permissions and provide recommendations.

Args: user_id: The user ID (UUID) or email address to analyze

Returns: Analysis of user permissions including: - current_permissions: List of current permissions - permission_analysis: Analysis of each permission - security_recommendations: Security recommendations - suggested_changes: Suggested permission changes

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

TDQS

B3/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 the tool provides analysis and recommendations, but doesn't disclose critical behavioral traits: whether this is a read-only operation, if it requires specific permissions, what format the analysis takes, or any rate limits. For an analysis 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.

Conciseness3/5

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

The description is reasonably concise with a clear purpose statement and structured return value documentation. However, the return value section is somewhat verbose and could be more efficiently integrated. It's front-loaded but includes redundant formatting.

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 (analysis with recommendations), no annotations, and no output schema, the description is partially complete. It covers the purpose and parameter well but lacks behavioral context and usage guidance. The return value documentation helps but doesn't fully compensate for missing operational details.

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 meaningful context for the single parameter: 'user_id: The user ID (UUID) or email address to analyze.' This clarifies acceptable input formats beyond what the schema provides (which has 0% coverage). Since there's only one parameter and the description fully documents it, this earns a high score.

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: 'Analyze a user's current permissions and provide recommendations.' It specifies the verb ('analyze'), resource ('user's current permissions'), and output type ('recommendations'). However, it doesn't explicitly differentiate from sibling tools like 'list_available_permissions' or 'setup_permissions', 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, appropriate contexts, or exclusions. With many sibling tools related to permissions and user management, 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.

attachB

Attach block storage volume to an instance.

Smart identifier resolution: Use volume label/ID and instance label/hostname/ID.

Args: volume_identifier: Volume label or ID to attach instance_identifier: Instance label, hostname, or ID to attach to live: Whether to attach without rebooting the instance (default: True)

Returns: Success confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
volume_identifierYes
instance_identifierYes
liveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/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 'smart identifier resolution' and the 'live' parameter with a default, which adds some behavioral context. However, it fails to disclose critical details such as required permissions, potential impacts on the instance (e.g., if 'live' is false, a reboot might be needed), rate limits, or error conditions, leaving significant gaps for a mutation 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 with a clear purpose statement, parameter explanations, and a return value note, all in a compact format. Every sentence adds value, but it could be slightly more front-loaded by moving the 'Args' and 'Returns' sections into a more integrated narrative for better readability.

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 that this is a mutation tool with no annotations and an output schema exists (implied by 'Returns: Success confirmation'), the description does an adequate job by covering parameters and basic behavior. However, it lacks details on error handling, side effects, and integration with sibling tools, making it incomplete for safe and effective use in complex scenarios.

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 meaningful semantics for all three parameters: 'volume_identifier' and 'instance_identifier' are explained with examples (label/ID/hostname), and 'live' is described with its default and effect ('attach without rebooting'). This adds substantial value beyond the bare schema, though it could include more details like format constraints.

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 ('Attach') and resource ('block storage volume to an instance'), making the purpose specific and understandable. However, it does not explicitly distinguish this tool from its sibling 'attach_to_instance', which appears to serve a similar function, leaving some ambiguity about differentiation.

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 through the mention of 'smart identifier resolution' for volume and instance identifiers, suggesting when to use this tool for attachment operations. However, it lacks explicit guidance on when to choose this tool over alternatives like 'attach_to_instance' or 'detach', and does not 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.

attach_to_instanceA

Attach VPC or VPC 2.0 to an instance.

Smart identifier resolution: Use VPC/instance description/label/hostname or ID.

Args: vpc_identifier: VPC/VPC 2.0 description or ID to attach instance_identifier: Instance label, hostname, or ID to attach to vpc_type: Type of VPC ("vpc" or "vpc2", defaults to "vpc")

Returns: Success confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
vpc_identifierYes
instance_identifierYes
vpc_typeNovpc

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'smart identifier resolution' which adds useful context about how the tool resolves identifiers, but it doesn't address important behavioral aspects like whether this is a destructive operation, what permissions are required, whether changes are reversible, or any rate limits. For a mutation tool with zero annotation coverage, 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 efficiently structured with a clear purpose statement followed by organized sections for Args and Returns. Every sentence serves a purpose, and there's no redundant information. The formatting makes it easy to scan and understand quickly.

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 that this is a mutation tool with no annotations, the description does a good job covering the essential aspects: purpose, parameters, and return value. The presence of an output schema means the description doesn't need to detail return values. However, it could provide more behavioral context about the mutation's implications and any constraints.

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 three parameters in the 'Args' section, clarifying what each parameter accepts (identifiers can be descriptions/labels/hostnames/IDs) and providing the default value for vpc_type. This adds meaningful semantic context beyond what the bare schema provides.

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 ('Attach') and resources involved ('VPC or VPC 2.0 to an instance'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'attach' or 'detach_from_instance', which appear to be related attachment/detachment operations.

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 provides some contextual guidance by mentioning 'smart identifier resolution' and listing acceptable identifier types (description/label/hostname/ID), which helps users understand how to use the tool. However, it doesn't specify when to use this tool versus alternatives like 'attach' or 'detach_from_instance', nor does it mention any prerequisites or exclusions.

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

compare_plansC

Compare multiple plans side by side.

Args: plan_ids: List of plan IDs to compare

Returns: List of plan details for comparison

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 'compare' suggests a read-only operation, the description doesn't clarify whether this requires specific permissions, has rate limits, what happens with invalid plan IDs, or the format of the comparison output. For a tool with zero annotation coverage, this represents 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.

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 Args and Returns sections. The two-sentence format is appropriately sized for this tool's complexity. However, the 'Returns' section is somewhat redundant given the existence of an output schema, which slightly reduces 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 tool's moderate complexity (single parameter, read operation), the description covers the basic purpose and parameter meaning. The existence of an output schema means the description doesn't need to explain return values. However, with no annotations and incomplete parameter documentation, the description should provide more behavioral context and usage guidance to be truly complete.

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 schema provides no parameter documentation. The description adds basic semantics: 'plan_ids: List of plan IDs to compare' explains what the parameter represents. However, it doesn't specify format requirements, constraints (minimum/maximum number of plans), or where to obtain valid plan IDs. The description compensates partially but not fully for the schema coverage 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: 'Compare multiple plans side by side.' This specifies the verb ('compare') and resource ('plans'), and the 'side by side' phrase adds useful context about the comparison format. However, it doesn't explicitly differentiate from sibling tools like 'get_plan' or 'list_plans', which is why it doesn't reach 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 like 'get_plan', 'list_plans', 'search_plans_by_specs', and 'find_regions_with_plan', there's no indication of when comparison is preferred over individual retrieval or listing. The description lacks any 'when-to-use' context or prerequisites.

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

configure_basic_web_lbB

Configure a basic web load balancer with standard HTTP/HTTPS rules.

Args: region: Region code (e.g., 'ewr', 'lax') label: Label for the load balancer backend_instances: List of instance IDs to attach enable_ssl: Enable SSL/Auto SSL ssl_redirect: Redirect HTTP to HTTPS domain_zone: Domain zone for Auto SSL domain_sub: Subdomain for Auto SSL

Returns: Created and configured load balancer information

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes
labelYes
backend_instancesYes
enable_sslNo
ssl_redirectNo
domain_zoneNo
domain_subNo

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. While 'configure' implies a write/mutation operation, the description doesn't specify whether this creates a new resource or modifies an existing one, what permissions are required, whether changes are reversible, or any rate limits. It mentions SSL/Auto SSL features but doesn't explain their implications or dependencies.

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 statement, parameter explanations, and return value. The 'Args' and 'Returns' sections are particularly helpful. While efficient, the opening sentence could be more specific about what 'basic' and 'standard' mean. No wasted sentences, but some opportunities for more precise language.

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?

For a 7-parameter mutation tool with no annotations and no output schema, the description provides adequate but incomplete coverage. The parameter explanations are helpful, but critical behavioral context is missing: mutation implications, error conditions, authentication requirements, and what the return value actually contains. The description mentions 'Created and configured load balancer information' but doesn't specify format or key fields.

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 for 7 parameters, the description provides meaningful semantic context for all parameters through the 'Args' section. Each parameter gets a brief explanation that clarifies its purpose (e.g., 'Region code', 'Label for the load balancer', 'Enable SSL/Auto SSL'). This significantly compensates for the lack of schema descriptions, though some details like format constraints or relationships between parameters (e.g., domain_zone/domain_sub dependency on enable_ssl) could be more explicit.

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: 'Configure a basic web load balancer with standard HTTP/HTTPS rules.' It specifies the verb ('configure'), resource ('web load balancer'), and scope ('basic' with 'standard HTTP/HTTPS rules'). However, it doesn't explicitly differentiate from sibling tools like 'create_forwarding_rule' or 'setup_web_server_rules' which might have overlapping functionality.

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's no mention of prerequisites, when this tool is appropriate versus other configuration methods, or what 'basic' means in contrast to more advanced options. The sibling list includes many related tools (create_forwarding_rule, setup_web_server_rules, etc.) but no differentiation is provided.

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

convert_instance_ipA

Convert an existing instance IP to a reserved IP.

Args: ip_address: The IP address to convert instance_id: The instance ID that owns the IP label: Optional label for the reserved IP

Returns: Created reserved IP information

This is useful when you want to keep an IP address even after destroying the instance. The IP will be converted to a reserved IP and remain attached to the instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
ip_addressYes
instance_idYes
labelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/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. It effectively discloses key behavioral traits: the tool performs a mutation (conversion), explains the outcome (IP becomes reserved and remains attached), and clarifies the use case (preservation after instance destruction). It doesn't mention permissions, rate limits, or error conditions, but covers the essential transformation behavior well.

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?

Perfectly structured with clear sections (Args, Returns, usage explanation). Every sentence earns its place: the first states the purpose, the parameter explanations are essential, the return statement is helpful, and the usage context is valuable. No wasted words.

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 no annotations, 0% schema coverage, but with an output schema present, the description provides strong context. It explains the transformation purpose, parameters, and return value at a high level. It could mention potential errors or constraints, but covers the essential operation well for a mutation 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?

Schema description coverage is 0%, so the description must compensate. It provides meaningful context for all three parameters: 'ip_address' is what gets converted, 'instance_id' identifies the owning instance, and 'label' is optional for the new reserved IP. This adds crucial semantic understanding beyond the bare schema 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 ('convert') on a specific resource ('existing instance IP to a reserved IP'), distinguishing it from siblings like 'create_ipv4' or 'delete_ipv4'. It precisely defines the transformation from one IP type to another.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool ('when you want to keep an IP address even after destroying the instance') and provides a clear alternative scenario (keeping IP attached vs. destroying). This directly addresses the core decision point for using this tool versus alternatives.

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

createA

Create a new user.

Args: email: User's email address first_name: User's first name last_name: User's last name password: User's password api_enabled: Enable API access for this user service_user: Create as service user (API-only, no portal login) acls: List of permissions to grant. Available permissions: - manage_users: Manage other users - subscriptions_view: View subscriptions - subscriptions: Manage subscriptions - provisioning: Provision resources - billing: Access billing information - support: Access support tickets - abuse: Handle abuse reports - dns: Manage DNS - upgrade: Upgrade plans - objstore: Manage object storage - loadbalancer: Manage load balancers - firewall: Manage firewalls - alerts: Manage alerts

Returns: Created user information, including API key if service_user is True

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
first_nameYes
last_nameYes
passwordYes
api_enabledNo
service_userNo
aclsNo

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 of behavioral disclosure. It effectively describes key traits: it's a write operation ('Create'), specifies that it returns user information including an API key under certain conditions, and outlines permission options via the ACLs list. However, it doesn't mention potential side effects, error conditions, or authentication requirements, leaving some behavioral aspects uncovered.

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 the ACLs list, enhancing readability. It's appropriately sized for a tool with 7 parameters, though the ACLs enumeration is lengthy but necessary for completeness. 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?

For a creation tool with 7 parameters, 0% schema coverage, no annotations, but an output schema present, the description does a strong job. It covers all parameters in detail, explains the return value, and provides context for key options like service users and permissions. The output schema existence means the description doesn't need to detail return structure, but it still mentions what's included (e.g., API key), making it largely complete for agent use.

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?

Given 0% schema description coverage, the description compensates fully by providing detailed semantics for all 7 parameters. It explains each parameter's purpose (e.g., 'email: User's email address'), clarifies boolean defaults indirectly through context, and enumerates available ACL permissions with descriptions, adding 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 ('Create a new user') and identifies the resource ('user'), making the purpose immediately evident. It distinguishes itself from sibling tools like 'create_user' by being a more generic 'create' tool, but the description explicitly clarifies it's for user creation, preventing confusion with other creation tools in the 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 through the parameter explanations (e.g., 'service_user: Create as service user (API-only, no portal login)'), suggesting when to set certain flags. However, it lacks explicit guidance on when to use this tool versus alternatives like 'setup_service_user' or 'setup_standard_user' from the sibling list, leaving the agent to infer context from parameter semantics alone.

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

create_bare_metal_serverC

Create a new bare metal server.

Args: region: Region to deploy in plan: Bare metal plan ID os_id: Operating system ID iso_id: ISO ID for custom installation script_id: Startup script ID ssh_key_ids: List of SSH key IDs label: Server label tag: Server tag user_data: Cloud-init user data enable_ipv6: Enable IPv6 enable_private_network: Enable private network attach_private_network: Private network IDs to attach attach_vpc: VPC IDs to attach attach_vpc2: VPC 2.0 IDs to attach enable_ddos_protection: Enable DDoS protection hostname: Server hostname persistent_pxe: Enable persistent PXE

Returns: Created bare metal server details

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes
planYes
os_idNo
iso_idNo
script_idNo
ssh_key_idsNo
labelNo
tagNo
user_dataNo
enable_ipv6No
enable_private_networkNo
attach_private_networkNo
attach_vpcNo
attach_vpc2No
enable_ddos_protectionNo
hostnameNo
persistent_pxeNo

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 it 'creates' without disclosing behavioral traits. It doesn't mention permissions required, cost implications, provisioning time, idempotency, or error handling. This is inadequate for a mutation tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose first, followed by parameter and return sections. Every sentence serves a purpose, though the parameter list is lengthy but necessary given the high parameter count.

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 complex creation tool with 17 parameters, no annotations, and no output schema, the description is incomplete. It lacks behavioral context, usage guidelines, and detailed parameter explanations, making it insufficient for safe and effective tool invocation.

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%, but the description lists all 17 parameters with brief labels, adding some semantic meaning beyond the bare schema. However, it doesn't explain parameter relationships (e.g., os_id vs iso_id), constraints, or 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 verb ('Create') and resource ('bare metal server'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'create' or 'create_serverless_inference', which also create resources but different 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 guidance is provided on when to use this tool versus alternatives like 'create' (generic) or other server creation tools. The description lacks context about prerequisites, dependencies, or typical use cases for bare metal servers.

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

create_cdn_ssl_certificateA

Upload SSL certificate for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID certificate: SSL certificate content (PEM format) private_key: Private key content (PEM format) certificate_chain: Certificate chain (optional, PEM format)

Returns: SSL certificate details

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes
certificateYes
private_keyYes
certificate_chainNo

TDQS

A3.5/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 'Upload SSL certificate' which implies a write/mutation operation, but doesn't address critical behavioral aspects like required permissions, whether this overwrites existing certificates, rate limits, or what happens on failure. The 'Returns' section mentions 'SSL certificate details' but provides no specifics about the response format.

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 upfront, followed by organized 'Args' and 'Returns' sections. Every sentence adds value with no redundant information, making it easy to scan and understand quickly.

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?

For a mutation tool with 4 parameters, 0% schema coverage, and no output schema, the description provides adequate parameter documentation but lacks critical behavioral context. It doesn't address authentication requirements, error conditions, or what 'SSL certificate details' includes in the return. The absence of annotations increases the need for more comprehensive description.

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 adds significant value by documenting all 4 parameters with clear names and format requirements (PEM format). It explains the 'zone_identifier' accepts multiple identifier types and notes 'certificate_chain' is optional. However, it doesn't provide examples or clarify what constitutes valid PEM content.

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 ('Upload SSL certificate') and target resource ('for a CDN zone'), with the 'Smart identifier resolution' clause providing important scope clarification. It distinguishes from sibling tools like 'delete_cdn_ssl_certificate' by specifying creation rather than deletion.

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 is provided. While the description mentions 'Smart identifier resolution' for zone identification, it doesn't specify prerequisites, when-not-to-use scenarios, or compare with related tools like 'disable_auto_ssl' or 'get_cdn_ssl_certificate'.

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

create_cdn_zoneB

Create a new CDN zone.

Args: origin_domain: Origin domain for the CDN origin_scheme: Origin scheme (http or https) cors_policy: CORS policy configuration gzip_compression: Enable gzip compression block_ai_bots: Block AI/crawler bots block_bad_bots: Block known bad bots block_ip_addresses: List of IP addresses to block regions: List of regions to enable CDN in

Returns: Created CDN zone details

ParametersJSON Schema
NameRequiredDescriptionDefault
origin_domainYes
origin_schemeNohttps
cors_policyNo
gzip_compressionNo
block_ai_botsNo
block_bad_botsNo
block_ip_addressesNo
regionsNo

TDQS

B3.3/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 it 'creates' without disclosing behavioral traits. It doesn't mention whether this is an idempotent operation, what permissions are required, whether it incurs costs, what happens on failure, or any rate limits. The description is minimal 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 well-structured with a clear purpose statement followed by organized parameter explanations and return value indication. It's appropriately sized for an 8-parameter tool, though the 'Args:' and 'Returns:' sections could be more integrated with the main description.

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?

For a creation tool with 8 parameters and no annotations or output schema, the description provides good parameter coverage but lacks important context about the operation's behavior, side effects, and typical usage patterns. The return value is mentioned but not described, which is problematic without an 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?

With 0% schema description coverage for 8 parameters, the description provides excellent parameter semantics by listing all parameters with brief explanations of what each controls. This fully compensates for the lack of schema documentation and gives meaningful context for each input field.

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 ('Create') and resource ('a new CDN zone'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'create_domain' or 'setup_cdn_for_website' beyond the obvious naming difference.

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 about when to use this tool versus alternatives like 'setup_cdn_for_website' or 'update_cdn_zone'. The description lacks context about prerequisites, dependencies, or typical use cases for CDN zone creation.

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

create_common_startup_scriptB

Create a common startup script from templates.

Args: script_type: Type of script ('docker_install', 'nodejs_install', 'security_updates', 'ssh_setup') ssh_port: SSH port to use for 'ssh_setup' script type (default: 22)

Returns: Created startup script details

ParametersJSON Schema
NameRequiredDescriptionDefault
script_typeYes
ssh_portNo

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 full burden. It states the tool creates something, implying a write/mutation operation, but doesn't disclose behavioral traits like permissions needed, whether it's idempotent, rate limits, or what happens on failure. 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.

Conciseness4/5

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

The description is appropriately sized with a clear main sentence followed by structured Args and Returns sections. It's front-loaded with the core purpose, though the 'Returns' section is vague ('Created startup script details') and could be more specific.

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 2 parameters with 0% schema coverage and an output schema exists, the description does a fair job explaining parameters but lacks behavioral context (no annotations). It's minimally adequate for a creation tool but misses details on error handling, side effects, or output structure despite the output schema.

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 meaningful semantics: 'script_type' with enumerated values ('docker_install', 'nodejs_install', 'security_updates', 'ssh_setup') and 'ssh_port' with its purpose and default for 'ssh_setup'. This adds substantial value beyond the bare schema, though it doesn't fully document all parameter details like constraints.

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 creates a common startup script from templates, specifying the verb 'create' and resource 'common startup script'. It distinguishes from sibling 'create_startup_script' by specifying 'common' and 'from templates', though the distinction could be more explicit about what makes it 'common' versus the sibling.

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 'create_startup_script' or other creation tools. The description mentions script types but doesn't provide context on when each type is appropriate or prerequisites for use.

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

create_connection_poolB

Create a new connection pool.

Args: database_id: The database ID or label name: Connection pool name database: Target logical database name username: Database username for the pool mode: Pool mode (session, transaction, statement) size: Pool size (number of connections)

Returns: Created connection pool information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
nameYes
databaseYes
usernameYes
modeYes
sizeYes

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 states it 'Create[s] a new connection pool' which implies a write operation, but doesn't mention permissions required, side effects (e.g., resource allocation), rate limits, or what 'Created connection pool information' includes. This leaves significant gaps for a mutation 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 with a clear header and bullet points for args and returns, making it easy to scan. It's concise with no redundant information, though the 'Returns' section is vague and could be more specific to enhance clarity.

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 output schema, the description compensates by listing parameters but lacks depth on behavior, usage, or output details. For a creation tool with no annotations, it's adequate but incomplete, missing critical context like error handling or integration with siblings.

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 lists all 6 parameters with brief explanations (e.g., 'Pool mode (session, transaction, statement)'), adding meaningful context beyond the schema's 0% coverage. It clarifies what each parameter represents, though it could provide more detail on constraints or examples for better usability.

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 'Create' and the resource 'connection pool', making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'create_logical_database' or 'create_read_replica' beyond the resource name, 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?

No guidance is provided on when to use this tool versus alternatives like 'create_logical_database' or 'update_connection_pool'. The description lacks context about prerequisites, dependencies, or typical scenarios for creating a connection pool, offering minimal usage direction.

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

create_domainB

Create a new DNS domain.

Args: domain: The domain name to create ip: The default IP address for the domain dns_sec: Enable DNSSEC (enabled/disabled, default: disabled)

Returns: Created domain information

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
ipYes
dns_secNodisabled

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 full burden but only states it 'Creates a new DNS domain' and returns 'Created domain information'. It lacks details on permissions required, rate limits, whether the operation is idempotent, what happens on conflicts, or other behavioral traits like error handling or side effects.

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 with the core purpose in the first sentence, followed by structured 'Args' and 'Returns' sections. It avoids unnecessary fluff, though the formatting with bullet-like sections is slightly verbose but still efficient.

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 covers return values), no annotations, and 3 parameters with 0% schema coverage, the description is moderately complete. It explains parameters well but lacks behavioral context and usage guidelines, making it adequate but with clear gaps for a creation 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 adds significant value beyond the input schema, which has 0% description coverage. It explains the meaning of all three parameters ('domain', 'ip', 'dns_sec'), including the default for 'dns_sec' and its allowed values ('enabled/disabled'), compensating well for the schema's lack of 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 verb 'Create' and resource 'DNS domain', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'create_cdn_zone' or 'create_record', which also create DNS-related resources, so it doesn't fully distinguish from 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 like 'create_cdn_zone' or 'create_record', nor does it mention prerequisites, exclusions, or context for usage. It only states what the tool does, not when to invoke it.

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

create_forwarding_ruleB

Create a forwarding rule for a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) frontend_protocol: Frontend protocol ('http', 'https', 'tcp') frontend_port: Frontend port number backend_protocol: Backend protocol ('http', 'https', 'tcp') backend_port: Backend port number

Returns: Created forwarding rule information

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes
frontend_protocolYes
frontend_portYes
backend_protocolYes
backend_portYes

TDQS

B3.2/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 it's a creation tool, implying a write operation, but doesn't mention permissions required, whether it's idempotent, error conditions, or what happens if a rule already exists. This leaves significant gaps for a mutation tool.

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: a clear purpose statement followed by a bulleted list of parameters and a brief returns statement. Every sentence adds value without redundancy, making it easy to scan and understand.

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?

For a creation tool with 5 parameters, no annotations, and no output schema, the description is minimally adequate. It covers the purpose and parameters well but lacks behavioral context, error handling, and output details. Given the complexity, it should provide more guidance on usage and outcomes.

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%, but the description compensates well by listing all 5 parameters with clear explanations of what each represents (e.g., 'load_balancer_id: The load balancer ID or label', 'frontend_protocol: Frontend protocol'). It adds meaningful context beyond the bare schema, though it doesn't specify format constraints like port ranges.

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 ('Create') and resource ('forwarding rule for a load balancer'), making the purpose unambiguous. It distinguishes from sibling tools like 'configure_basic_web_lb' or 'create_rule' by specifying the exact resource type, though it doesn't explicitly contrast with them.

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 'configure_basic_web_lb' or 'create_rule', nor does it mention prerequisites, dependencies, or typical use cases. The description assumes the user knows when forwarding rules are needed.

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

create_from_urlB

Create a snapshot from a URL.

Args: url: The URL of the snapshot to create (must be a valid snapshot URL) description: Description for the snapshot (optional)

Returns: Created snapshot information

Note: The URL must point to a valid Vultr snapshot file.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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. It states this creates a snapshot (implying a write operation) and notes the URL must be valid, adding some context. However, it lacks details on permissions, rate limits, idempotency, or error handling, leaving behavioral gaps for a mutation tool.

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 with clear sections (Args, Returns, Note), front-loaded purpose, and no wasted sentences. Each part adds value, 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.

Completeness3/5

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

For a mutation tool with no annotations, 0% schema coverage, but an output schema, the description is moderately complete. It covers parameters and basic behavior, but lacks guidance, error details, or deeper context. The output schema handles return values, so the description doesn't need to explain those.

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 explains both parameters: 'url' as the snapshot URL with a validity constraint, and 'description' as optional text. This adds meaningful semantics beyond the bare schema, though it could detail URL format or length limits.

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 ('Create') and resource ('snapshot from a URL'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'create_iso' or 'create' that might also create resources, though the URL-based creation is unique.

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 mentions the URL must be a valid Vultr snapshot file, but doesn't specify prerequisites, when to choose this over other creation tools, or any exclusions. Usage is implied but not explicit.

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

create_groupC

Create a new firewall group.

Args: description: Description for the firewall group

Returns: Created firewall group information

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYes

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 'Create' implies a write operation but doesn't mention permissions required, rate limits, idempotency, or error handling. This is insufficient for a mutation tool with zero 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.

Conciseness4/5

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

The description is front-loaded with the main purpose, followed by Args and Returns sections, making it structured and efficient. However, the 'Returns' section is redundant given the output schema, slightly reducing conciseness.

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?

For a mutation tool with no annotations and an output schema, the description covers the basic purpose and parameter but lacks details on behavioral aspects like side effects or error conditions. It's minimally adequate but has clear gaps in context.

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 mentions the 'description' parameter and its purpose, but doesn't explain constraints like length or format. Since there's only one parameter, the baseline is 4, but the lack of detailed semantics reduces it to 3.

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 ('Create') and resource ('firewall group'), making the purpose evident. However, it doesn't differentiate from sibling tools like 'create_rule' or 'update_group', which could also involve firewall groups, so it doesn't fully distinguish itself.

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 'create_rule' or 'update_group'. The description lacks context about prerequisites, such as whether a firewall group must be unique or if there are limits, leaving usage unclear.

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

create_ipv4B

Create a new IPv4 address for an instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) reboot: Whether to reboot the instance (default: True)

Returns: Created IPv4 information

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes
rebootNo

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, the description carries full burden. It states 'Create a new IPv4 address' implying a mutation, but lacks critical behavioral details: whether this requires admin permissions, if it's idempotent, potential side effects (e.g., network downtime), rate limits, or error conditions. The mention of reboot defaulting to True hints at impact but doesn't elaborate on consequences.

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 parameter and return sections. It's appropriately sized with no redundant sentences, though the 'Returns' line is somewhat generic and could be more specific if not for the output schema.

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 a mutation tool with no annotations, 0% schema coverage, but an output schema exists, the description is moderately complete. It covers the action and parameters well, but lacks behavioral context (permissions, side effects) and doesn't leverage the output schema to clarify return values. For a 2-parameter creation tool, it's adequate but has clear gaps in safety and operational guidance.

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 clear semantics for both parameters: 'instance_id' as an ID, label, or hostname with examples, and 'reboot' with its default and purpose. This adds significant value beyond the bare schema, though it doesn't cover edge cases (e.g., invalid instance formats).

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 'Create' and the resource 'IPv4 address for an instance', making the purpose specific and understandable. It distinguishes from obvious siblings like 'delete_ipv4' by focusing on creation, though it doesn't explicitly differentiate from other creation tools (e.g., 'create', 'create_record') beyond the IPv4 context.

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 (e.g., instance must exist, networking permissions), exclusions, or comparisons to sibling tools like 'attach_to_instance' or 'convert_instance_ip', leaving the agent to infer usage context.

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

create_isoC

Create a new ISO image from URL.

Args: url: The URL to create the ISO from

Returns: Created ISO details

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

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 'Create a new ISO image' implying a mutation, but lacks details on permissions, rate limits, side effects, or what 'Created ISO details' entails. This is inadequate for a mutation tool with zero 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.

Conciseness4/5

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

The description is front-loaded with the main purpose, followed by brief Arg/Return sections. It's efficient with no wasted sentences, though the structure could be more integrated (e.g., merging the Arg/Return into the main text) for optimal flow.

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 a mutation tool with no annotations, 0% schema coverage, and an output schema (which helps), the description is moderately complete. It covers the basic action and parameter but lacks behavioral context and usage guidelines, making it adequate but with clear gaps for safe tool invocation.

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%, but the description adds minimal value by specifying that 'url' is 'The URL to create the ISO from'. This clarifies the parameter's purpose beyond the schema, though it doesn't detail format constraints or examples. With one parameter, the baseline is 4, but the limited compensation for schema gaps reduces it to 3.

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 ('Create a new ISO image') and resource ('from URL'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'create_from_url' or 'create' which might have overlapping functionality, preventing 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 (e.g., 'create_from_url', 'create'), there's no indication of prerequisites, context, or exclusions, leaving usage ambiguous.

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

create_kafka_topicB

Create a Kafka topic (Kafka databases only).

Args: database_id: The Kafka database ID or label name: Topic name partitions: Number of partitions replication: Replication factor retention_hours: Retention time in hours retention_bytes: Retention size in bytes

Returns: Created topic information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
nameYes
partitionsNo
replicationNo
retention_hoursNo
retention_bytesNo

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. It states 'Create a Kafka topic', implying a write/mutation operation, but doesn't disclose behavioral traits like whether this is idempotent, what happens on duplicate names, required permissions, rate limits, or typical response time. The 'Returns: Created topic information' is vague and doesn't describe format 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 'Args:' and 'Returns:' sections. It's appropriately sized for a 6-parameter tool. However, the 'Args:' section could be more concise by integrating explanations into a single sentence rather than a bullet-like list, and the 'Returns:' line is overly vague.

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 output schema, the description does a fair job by listing all parameters and stating a return. However, it lacks details on constraints, defaults, error handling, and the structure of returned 'topic information'. For a mutation tool with no annotations, this leaves significant gaps in understanding how to use it 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?

Schema description coverage is 0%, so the description must compensate. It lists all 6 parameters with brief explanations (e.g., 'Topic name', 'Number of partitions'), adding meaningful semantics beyond the bare schema. However, it doesn't explain constraints (e.g., valid name patterns, partition/replication limits, retention unit details), and defaults are only in the schema, not mentioned in the description.

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 'Create' and the resource 'Kafka topic', with the clarifying scope '(Kafka databases only)'. It distinguishes from siblings like 'create_logical_database' or 'create_record' by specifying the Kafka context. However, it doesn't explicitly differentiate from 'update_kafka_topic' or 'delete_kafka_topic' in the description text.

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 minimal usage guidance with '(Kafka databases only)', which indicates a prerequisite context. However, it doesn't specify when to use this tool versus alternatives like 'update_kafka_topic' or 'delete_kafka_topic', nor does it mention any preconditions (e.g., database must exist, permissions required). No explicit when-not-to-use guidance is provided.

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

create_kubernetes_clusterA

Create a new Kubernetes cluster.

Args: label: Label for the cluster region: Region code (e.g., 'ewr', 'lax') version: Kubernetes version (use get_kubernetes_versions for available options) node_pools: List of node pool configurations, each containing: - node_quantity: Number of nodes (minimum 1, recommended 3+) - plan: Plan ID (e.g., 'vc2-2c-4gb') - label: Node pool label - tag: Optional tag - auto_scaler: Optional auto-scaling configuration - min_nodes: Minimum nodes for auto-scaling - max_nodes: Maximum nodes for auto-scaling enable_firewall: Enable firewall for cluster ha_controlplanes: Enable high availability control planes

Returns: Created cluster information

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
regionYes
versionYes
node_poolsYes
enable_firewallNo
ha_controlplanesNo

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 the full burden of behavioral disclosure. It states the tool creates a cluster but omits critical behavioral details: whether this is a long-running operation, what permissions are required, if it incurs costs, whether it's idempotent, or what happens on failure. The description adds minimal 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 well-structured with clear sections (Args, Returns) and uses bullet points for complex nested parameters, making it easy to parse. It's appropriately sized for a tool with 6 parameters, though the 'Returns' section is somewhat vague ('Created cluster information') and could be more specific.

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?

For a creation tool with no annotations and no output schema, the description does a good job with parameter semantics but falls short on behavioral context. It doesn't explain what 'Created cluster information' includes, doesn't mention error conditions or timeouts, and omits important operational details like whether the cluster starts automatically or requires additional setup steps.

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?

Given 0% schema description coverage, the description compensates fully by providing detailed semantic explanations for all 6 parameters. It clarifies what each parameter represents (e.g., 'region code (e.g., 'ewr', 'lax')'), provides usage guidance ('use get_kubernetes_versions for available options'), and documents nested structure for 'node_pools' with sub-parameter details and recommendations ('minimum 1, recommended 3+').

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 ('Create a new Kubernetes cluster') and identifies the resource ('Kubernetes cluster'), making the purpose immediately evident. It distinguishes itself from sibling tools like 'create_kubernetes_node_pool' or 'update_kubernetes_cluster' by focusing on initial cluster creation rather than modification or component addition.

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 provides some implied usage guidance by referencing 'get_kubernetes_versions' for available options, suggesting when to gather prerequisite information. However, it lacks explicit guidance on when to use this tool versus alternatives like 'setup_kubernetes_cluster_for_workload' or 'create_kubernetes_node_pool', and does not mention prerequisites such as account permissions or cost implications.

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

create_kubernetes_node_poolA

Create a new node pool in a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID node_quantity: Number of nodes (minimum 1, recommended 3+) plan: Plan ID (e.g., 'vc2-2c-4gb') label: Node pool label (must be unique within cluster) tag: Optional tag for the node pool auto_scaler: Enable auto-scaling for this node pool min_nodes: Minimum nodes for auto-scaling max_nodes: Maximum nodes for auto-scaling labels: Map of key/value pairs to apply to all nodes

Returns: Created node pool information

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
node_quantityYes
planYes
labelYes
tagNo
auto_scalerNo
min_nodesNo
max_nodesNo
labelsNo

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 'Create' which implies a write/mutation operation, but doesn't address critical behavioral aspects like required permissions, whether this is idempotent, rate limits, costs, or what happens if the cluster doesn't exist. The description adds minimal 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 well-structured with clear sections (purpose statement, parameter details, return statement) and every sentence adds value. It could be slightly more concise by integrating the 'Smart identifier resolution' note into the parameter section, but overall it's efficiently organized.

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?

For a creation tool with 9 parameters, no annotations, and no output schema, the description provides good parameter documentation but lacks important contextual information. It doesn't explain error conditions, authentication requirements, or what the 'Created node pool information' return value contains. The description is adequate but has clear gaps for a complex mutation tool.

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 9 parameters (4 required), the description provides excellent parameter semantics. It clearly explains each parameter's purpose, provides examples ('vc2-2c-4gb'), specifies constraints ('minimum 1, recommended 3+'), and clarifies optional vs. required parameters. 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 specific action ('Create a new node pool') and resource ('in a Kubernetes cluster'), distinguishing it from sibling tools like 'create_kubernetes_cluster' or 'scale_kubernetes_node_pool'. It provides precise verb+resource+scope information.

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 includes 'Smart identifier resolution: use cluster label or UUID' which provides some context for parameter usage, but it doesn't explicitly state when to use this tool versus alternatives like 'update_kubernetes_node_pool' or 'delete_kubernetes_node_pool'. Usage is implied rather than explicitly guided.

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

create_logical_databaseC

Create a new logical database within a managed database instance.

Args: database_id: The database ID or label name: Name for the new logical database

Returns: Created logical database information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
nameYes

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 it's a creation tool, implying mutation, but doesn't disclose behavioral traits like required permissions, whether the operation is idempotent, rate limits, or what happens on failure. This leaves significant gaps for a mutation 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 appropriately sized and front-loaded, with the core purpose stated first, followed by parameter and return sections. It avoids unnecessary verbosity, though the parameter explanations could be more detailed given the low schema coverage.

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 a creation tool with no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It lacks information on behavioral aspects, error handling, and detailed parameter usage, making it inadequate for safe and effective tool invocation.

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 the two parameters with brief explanations ('database_id: The database ID or label', 'name: Name for the new logical database'), adding basic meaning beyond the schema's type definitions. However, it doesn't provide details like format constraints or examples, leaving room for improvement.

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 ('Create') and resource ('new logical database within a managed database instance'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'create_database' or 'create' that might exist in the list, though those aren't exact matches.

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 any context about when this creation is appropriate compared to other database-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.

create_read_replicaC

Create a read replica of a database.

Args: database_id: The source database ID or label label: Label for the read replica region: Region for the read replica plan: Plan ID for the read replica

Returns: Information about the created read replica

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
labelYes
regionYes
planYes

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 creates a read replica, implying a write/mutation operation, but does not disclose critical traits such as permissions required, whether it's idempotent, rate limits, costs, or what happens if the source database is unavailable. The description adds minimal 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 well-structured and appropriately sized, with a clear purpose statement followed by 'Args' and 'Returns' sections. It avoids unnecessary details and is front-loaded with the main action. However, the 'Args' section could be more integrated into the flow, and some redundancy exists (e.g., repeating parameter names without added value), but overall it is efficient.

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 (a mutation tool with 4 required parameters), no annotations, and no output schema, the description is moderately complete. It covers the purpose and parameters at a high level but lacks details on behavioral traits, error handling, and output specifics. The 'Returns' section is vague ('Information about the created read replica'), which is insufficient without an output schema. It meets minimum viability 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?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The description lists the parameters in an 'Args' section with brief labels (e.g., 'database_id: The source database ID or label'), adding basic semantics beyond the schema. However, it does not explain formats, constraints, or examples (e.g., valid regions or plans), leaving significant gaps. With 0% coverage, the description compensates partially 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: 'Create a read replica of a database.' It specifies the verb ('Create') and resource ('read replica of a database'), making the action explicit. However, it does not differentiate from sibling tools like 'fork_database' or 'create_logical_database', which might have overlapping or related functionality, so it 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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an existing database), exclusions, or comparisons to siblings like 'fork_database' or 'create_logical_database'. Usage is implied only by the tool's name and purpose, with no explicit context.

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

create_recordA

Create a new DNS record.

Args: domain: The domain name record_type: Record type (A, AAAA, CNAME, MX, TXT, NS, SRV) name: Record name/subdomain data: Record data/value ttl: Time to live in seconds (default: 300) priority: Priority for MX/SRV records

Returns: Created record information

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
record_typeYes
nameYes
dataYes
ttlNo
priorityNo

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?

With no annotations provided, the description carries full burden for behavioral disclosure. While it correctly identifies this as a creation operation, it doesn't mention authentication requirements, rate limits, error conditions, whether the operation is idempotent, or what happens if a duplicate record is attempted. For a mutation tool with zero annotation coverage, this represents 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.

Conciseness4/5

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

The description is well-structured with clear sections for the main purpose, arguments, and returns. While efficient, the 'Args:' and 'Returns:' headings could be more concise, and the parameter explanations could be slightly more compact while maintaining 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 (6 parameters, mutation operation) and absence of annotations, the description does well by documenting all parameters and mentioning the return value. However, it lacks behavioral context about permissions, side effects, and error handling. The presence of an output schema helps, but more operational guidance would improve 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?

With 0% schema description coverage for 6 parameters, the description fully compensates by providing clear documentation for all parameters. It explains each parameter's purpose, provides examples for record_type, clarifies priority's specific use cases, and documents the default value for ttl. 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 ('Create a new DNS record') and resource ('DNS record'), distinguishing it from sibling tools like 'create_domain' or 'update_record'. It uses precise technical terminology that leaves no ambiguity about what the 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 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 'create_domain', 'delete_record', 'update_record', and 'list_records', there's no mention of prerequisites, dependencies, or appropriate contexts for DNS record creation versus other DNS operations.

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

create_ruleA

Create a new firewall rule.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) ip_type: IP type (v4 or v6) protocol: Protocol (tcp, udp, icmp, gre) subnet: IP subnet (use "0.0.0.0" for any IPv4, "::" for any IPv6) subnet_size: Subnet size (0-32 for IPv4, 0-128 for IPv6) port: Port or port range (e.g., "80" or "8000:8999") - required for tcp/udp source: Source type (e.g., "cloudflare") - optional notes: Notes for the rule - optional

Returns: Created firewall rule information

Examples: # Allow HTTP from anywhere create_rule(group_id, "v4", "tcp", "0.0.0.0", 0, port="80")

# Allow SSH from specific subnet
create_rule(group_id, "v4", "tcp", "192.168.1.0", 24, port="22", notes="Office network")

# Allow ping from anywhere
create_rule(group_id, "v4", "icmp", "0.0.0.0", 0)
ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes
ip_typeYes
protocolYes
subnetYes
subnet_sizeYes
portNo
sourceNo
notesNo

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?

With no annotations provided, the description carries the full burden. It discloses that this is a creation/mutation tool ('Create a new firewall rule') and provides parameter constraints (e.g., port required for certain protocols), but lacks critical behavioral details like required permissions, whether the rule takes effect immediately, rate limits, 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 clear sections (Args, Returns, Examples) and front-loaded purpose. While comprehensive, some details in the parameter explanations could be more concise, but overall it avoids 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?

For a creation tool with 8 parameters, 0% schema coverage, no annotations, but with an output schema, the description does well by thoroughly documenting parameters and providing examples. However, it lacks behavioral context (permissions, side effects) that would be important for a mutation tool, keeping it from a perfect score.

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?

Given 0% schema description coverage, the description fully compensates by explaining all 8 parameters with clear semantics, examples, and constraints (e.g., 'subnet_size: Subnet size (0-32 for IPv4, 0-128 for IPv6)', 'port: Port or port range... - required for tcp/udp'). 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 ('Create a new firewall rule') and identifies the resource ('firewall rule'). It distinguishes from sibling tools like 'delete_rule', 'get_firewall_rule', and 'list_firewall_rules' by specifying creation rather than retrieval or deletion.

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 through parameter documentation (e.g., 'required for tcp/udp') and examples showing specific scenarios, but lacks explicit guidance on when to use this tool versus alternatives like 'setup_web_server_rules' or 'delete_rule'. 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.

create_serverless_inferenceC

Create a new serverless inference subscription.

Args: label: A descriptive label for the inference subscription (e.g., "production-chatbot", "dev-testing")

Returns: Created inference subscription with ID, API key, and configuration details

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes

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 must fully disclose behavioral traits. It states the tool creates a subscription and returns details like ID and API key, but doesn't cover critical aspects: whether this is a mutating operation (implied by 'Create'), authentication requirements, rate limits, costs, or side effects (e.g., if it provisions resources or affects billing). The description adds minimal 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 well-structured and appropriately sized, with a clear purpose statement followed by 'Args' and 'Returns' sections. It avoids unnecessary details and front-loads the main action. Every sentence adds value, though the 'Returns' section could be slightly more concise by integrating with the purpose statement.

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 creating a serverless inference subscription (a mutating operation with potential costs and resource implications), the description is incomplete. No annotations are provided to cover safety or behavioral traits, and there's no output schema, so the description doesn't explain return values beyond a brief mention. It lacks context on permissions, errors, or integration with sibling tools, making it inadequate for informed tool selection.

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 adds some meaning for the single parameter 'label', explaining it's 'a descriptive label for the inference subscription' with examples like 'production-chatbot'. However, schema description coverage is 0%, and the description doesn't fully compensate by detailing constraints (e.g., length, allowed characters) or optional parameters. With one parameter and partial semantic enhancement, it meets the baseline for moderate 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: 'Create a new serverless inference subscription.' It specifies the verb ('Create') and resource ('serverless inference subscription'), making the action explicit. However, it doesn't distinguish this from sibling tools like 'create' or 'create_bare_metal_server', which are also creation tools but for different 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. It doesn't mention prerequisites (e.g., needing an account or specific permissions), exclusions (e.g., when not to create a subscription), or comparisons with sibling tools like 'update_serverless_inference' or 'delete_serverless_inference'. Usage is implied only by the tool name and description, lacking explicit context.

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

create_startup_scriptC

Create a new startup script.

Args: name: Name for the startup script script: The script content script_type: Type of script ('boot' or 'pxe')

Returns: Created startup script details

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
scriptYes
script_typeNoboot

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 this is a creation operation but doesn't mention permissions required, whether the script becomes active immediately, what happens on duplicate names, or any rate limits. For a mutation 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.

Conciseness4/5

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

The description is well-structured with clear sections for Args and Returns. It's appropriately sized with no redundant information. However, the 'Returns' section could be more specific given that an output schema exists, making that part slightly less efficient.

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?

For a creation tool with 3 parameters, 0% schema coverage, no annotations, but with an output schema, the description provides basic information but lacks important context. It covers what the tool does and lists parameters, but doesn't address behavioral aspects like permissions, side effects, or error conditions that would be crucial for safe invocation.

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 three parameters with brief explanations, but with 0% schema description coverage, it doesn't fully compensate. It mentions 'script_type' can be 'boot' or 'pxe' which adds value, but doesn't explain format requirements for 'script' content, naming constraints for 'name', or the implications of the 'boot' default value. The description adds some semantic context but leaves 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 creates a new startup script, specifying the action and resource. It distinguishes from siblings like 'create_common_startup_script' by not mentioning 'common' and from 'update_startup_script' by specifying 'new'. However, it doesn't explicitly differentiate from all sibling tools with similar naming 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. There's no mention of prerequisites, when not to use it, or comparisons with sibling tools like 'create_common_startup_script' or 'update_startup_script'. The description only states what the tool does, not when to use it.

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

create_userB

Create a new database user.

Args: database_id: The database ID or label username: Username for the new user password: Password (auto-generated if not provided) encryption: Password encryption type (MySQL: caching_sha2_password, mysql_native_password) access_level: Permission level (Kafka: admin, read, write, readwrite)

Returns: Created user information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
usernameYes
passwordNo
encryptionNo
access_levelNo

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 the full burden of behavioral disclosure. While 'Create' implies a mutation, it lacks details on permissions required, whether the operation is idempotent, potential side effects (e.g., if username exists), or error handling. The description mentions returns but gives no behavioral context, leaving significant gaps for a mutation 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 with clear sections ('Args', 'Returns') and front-loaded purpose. It avoids unnecessary fluff, though the encryption and access-level examples could be more concise. Every sentence adds value, making it efficient for an agent 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 complexity (mutation tool with 5 parameters, no annotations, no output schema), the description is partially complete. It covers parameters well but lacks behavioral context (e.g., permissions, errors) and output details (only mentions 'Created user information' vaguely). For a user-creation tool, this leaves the agent with insufficient guidance on execution and results.

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 by explaining all 5 parameters in the 'Args' section, adding meaning beyond the bare schema. It clarifies 'database_id' as 'ID or label', notes auto-generation for 'password', and provides examples for 'encryption' and 'access_level' values, which is helpful despite some ambiguity (e.g., unclear if examples are exhaustive).

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 ('Create a new database user') and identifies the resource ('database user'), making the purpose immediately evident. It distinguishes from siblings like 'delete_user' (for removal) and 'update_user' (for modifications), establishing a clear functional boundary.

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 prerequisites (e.g., needing database access), exclusions (e.g., when not to create users), or compare with sibling tools like 'setup_service_user' or 'setup_standard_user', leaving the agent without contextual usage direction.

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

create_vpc2A

Create a new VPC 2.0 network.

Args: region: Region code where the VPC 2.0 will be created (e.g., "ewr", "lax", "fra") description: Description/label for the VPC 2.0 ip_type: IP type ("v4" or "v6", defaults to "v4") ip_block: IP block for the VPC 2.0 (e.g., "10.0.0.0", defaults to auto-assigned) prefix_length: Prefix length (e.g., 24 for /24, defaults to 24)

Returns: Created VPC 2.0 information including ID and IP block details

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes
descriptionYes
ip_typeNov4
ip_blockNo
prefix_lengthNo

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 states the tool creates a VPC 2.0 network but does not mention critical behavioral aspects like whether this is a destructive operation (likely not, as it creates), authentication requirements, rate limits, or potential side effects. The description adds minimal context beyond the basic action, leaving 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.

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 'Args' and 'Returns' sections, making it easy to parse. It is appropriately sized with no redundant information, though the 'Returns' section could be slightly more detailed. Every sentence earns its place by providing essential information, but minor verbosity in formatting slightly reduces efficiency.

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 (5 parameters, creation operation), no annotations, and an output schema present (implied by 'Returns' section), the description is reasonably complete. It covers the purpose, parameters, and return values adequately. However, it lacks context on usage guidelines and behavioral traits, which are important for a creation tool, preventing a perfect score.

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%, meaning the input schema provides no descriptions for parameters. The description compensates fully by detailing each parameter's purpose, including examples (e.g., 'ewr' for region, 'v4' for ip_type) and defaults (e.g., ip_type defaults to 'v4', ip_block defaults to auto-assigned). This adds substantial meaning beyond the bare schema, making parameter usage clear and actionable.

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 ('Create a new VPC 2.0 network') and resource ('VPC 2.0'), distinguishing it from sibling tools like 'get_vpc2', 'list_vpc2', 'update_vpc2', and 'delete_vpc2' by its creation function. It precisely communicates what the tool does without being vague or tautological.

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 prerequisites, such as required permissions or account status, nor does it differentiate from similar tools like 'create' or 'create_network_info' in the sibling list. Usage context is implied only by the tool name and description, with no explicit when/when-not statements.

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

deleteC

Delete a user.

Args: user_id: The user ID (UUID) or email address to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

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. While it correctly indicates this is a destructive operation ('Delete'), it fails to mention critical behavioral aspects such as whether deletion is permanent, requires admin permissions, affects associated resources, or has rate limits. This is a significant gap for a destructive 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 concise, with a clear purpose statement followed by brief sections for arguments and returns. Every sentence serves a functional purpose, though the 'Args' and 'Returns' labels could be slightly more integrated into the flow.

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 destructive tool with no annotations, 0% schema description coverage, and no output schema (though 'Returns' is mentioned), the description is incomplete. It lacks essential context about safety, permissions, side effects, and error handling, making it inadequate for reliable agent use despite its conciseness.

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 adds minimal semantic value beyond the input schema. It specifies that 'user_id' can be a UUID or email address, which isn't captured in the schema (0% coverage), but this is a basic clarification. With only one parameter and low schema coverage, the description doesn't fully compensate by explaining format constraints or validation rules.

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 with a specific verb ('Delete') and resource ('a user'), making it immediately understandable. However, it doesn't distinguish this from the sibling 'delete_user' tool, which appears to serve a similar function, preventing 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 like 'delete_user' or other deletion tools in the sibling list. It lacks context about prerequisites, permissions needed, or any 'when-not-to-use' warnings, leaving the agent with insufficient usage direction.

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

delete_bare_metal_serverB

Delete a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID to delete

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

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. It states the action ('Delete') and mentions 'smart identifier resolution' for inputs, but fails to disclose critical behavioral traits such as whether deletion is irreversible, requires confirmation, has dependencies, or affects billing. This is a significant gap for a destructive operation.

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 front-loaded with the core purpose, followed by specific details in a structured format (Args, Returns). Every sentence adds value 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.

Completeness2/5

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

For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks information on consequences, error conditions, permissions needed, or what the 'Success message' entails. Given the complexity and risk of deletion, more behavioral context is required.

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 and only one parameter, the description compensates well by explaining that 'server_identifier' accepts 'server label, hostname, or UUID', adding meaningful context beyond the basic string type in the schema. However, it doesn't detail format constraints or examples.

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 ('Delete') and resource ('a bare metal server'), making the purpose unambiguous. It distinguishes from siblings like 'delete' (generic) and 'delete_bare_metal_server' (specific), though it doesn't explicitly contrast with other deletion tools like 'delete_kubernetes_cluster'.

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 sibling tools include other deletion tools (e.g., 'delete_kubernetes_cluster'), the description doesn't specify prerequisites, conditions, or exclusions for use, leaving the agent to infer context.

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

delete_cdn_ssl_certificateA

Remove SSL certificate from a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes

TDQS

A3.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. It mentions 'Smart identifier resolution' which adds useful context about input flexibility, but fails to disclose critical behavioral traits such as whether this operation is destructive, irreversible, requires specific permissions, or has side effects. For a deletion tool with zero 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 front-loaded with the core purpose, followed by brief but informative sections for Args and Returns. Every sentence earns its place with no wasted words, making it highly 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 a deletion tool with no annotations, 0% schema coverage, and no output schema, the description is moderately complete. It covers the purpose and parameter semantics well but lacks behavioral transparency and detailed usage guidelines, leaving gaps in understanding the tool's full context and implications.

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 and only 1 parameter, the description adds substantial value by explaining that 'zone_identifier' accepts 'origin domain, CDN domain, or UUID'. This clarifies the parameter's semantics beyond the basic schema type, though it doesn't detail format constraints or examples.

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 ('Remove SSL certificate') and resource ('from a CDN zone'), distinguishing it from siblings like 'delete_cdn_zone' or 'delete_ssl'. It precisely defines what the tool does without being vague or tautological.

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 removing SSL certificates from CDN zones but doesn't explicitly state when to use this tool versus alternatives like 'disable_auto_ssl' or 'delete_ssl'. It provides some context through 'Smart identifier resolution' but lacks explicit when/when-not guidance or named alternatives.

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

delete_cdn_zoneB

Delete a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID to delete

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes

TDQS

B3.2/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 action is 'Delete' and mentions 'Success message' as a return, but fails to disclose critical traits like whether deletion is irreversible, requires specific permissions, has side effects on related resources, or involves rate limits. This is a significant gap for a destructive 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 front-loaded with the core purpose, followed by structured sections for Args and Returns, making it efficient and easy to parse. Every sentence adds value without redundancy. A slight improvement could be integrating the smart resolution note more seamlessly, but overall it's well-structured.

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 destructive nature, no annotations, no output schema, and a single parameter with low schema coverage, the description is incomplete. It lacks details on behavioral risks, error conditions, or what 'Success message' entails, which are crucial for safe invocation. More context is needed to adequately guide an agent.

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 schema has 0% description coverage for its single parameter, but the description compensates by explaining 'zone_identifier' as 'The CDN zone origin domain, CDN domain, or ID to delete' and adds 'Smart identifier resolution' context. This provides meaningful semantics beyond the bare schema, though it could detail format constraints or examples for higher clarity.

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 ('Delete') and resource ('a CDN zone'), making the purpose unambiguous. It distinguishes from siblings like 'purge_cdn_zone' by focusing on deletion rather than cache purging. However, it doesn't explicitly contrast with other deletion tools like 'delete_domain' or 'delete_record', keeping it from 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 Guidelines3/5

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

The description implies usage through 'Smart identifier resolution' for the zone_identifier, suggesting when to use this tool based on available identifiers. However, it lacks explicit guidance on when to choose this over alternatives like 'purge_cdn_zone' or prerequisites such as confirmation steps, leaving room for improvement.

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

delete_connection_poolB

Delete a connection pool.

Args: database_id: The database ID or label pool_name: The connection pool name to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
pool_nameYes

TDQS

B3/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 this is a deletion operation, implying it's destructive and irreversible, but doesn't specify required permissions, side effects (e.g., impact on connected applications), error conditions, or confirmation prompts. This leaves significant gaps for a mutation 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 appropriately sized and front-loaded with the core action. The 'Args' and 'Returns' sections add structure, though they could be integrated more seamlessly. Every sentence serves a purpose with minimal waste.

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 this is a destructive mutation tool with no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks critical details like error handling, return value structure beyond 'status message', safety warnings, or dependencies, making it inadequate for safe and effective use by an agent.

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 schema description coverage is 0%, so the description must compensate. It adds meaningful context by explaining that 'database_id' can be an ID or label and 'pool_name' is the specific pool to delete, which clarifies beyond the bare schema. However, it doesn't cover format examples or constraints (e.g., length, allowed characters).

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 ('Delete') and resource ('a connection pool'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'delete_logical_database' or 'delete_record', which also delete resources but different 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?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing an existing connection pool), exclusions, or comparisons to sibling tools like 'update_connection_pool' or 'list_connection_pools' for related operations.

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

delete_domainB

Delete a DNS domain and all its records.

Args: domain: The domain name to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

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 states the tool deletes a domain and all its records, implying a destructive, irreversible action, but lacks details on permissions required, rate limits, error conditions, or confirmation prompts. This is inadequate for a high-stakes mutation 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 front-loaded with the core action in the first sentence, followed by brief Arg/Return sections. It avoids redundancy and wastes no words, though the structure is slightly informal with 'Args'/'Returns' labels instead of integrated prose.

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 destructive nature, lack of annotations, and presence of an output schema (which covers return values), the description is minimally adequate but incomplete. It explains what the tool does and the parameter but omits critical behavioral details like safety warnings or usage context, leaving gaps for the agent.

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 meaningful context for the single parameter 'domain' by specifying it as 'The domain name to delete', which clarifies its purpose beyond the schema's basic string type. With 0% schema description coverage and only one parameter, this compensation is sufficient, though not exhaustive (e.g., no format examples).

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 ('Delete') and resource ('a DNS domain and all its records'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'delete_record' or 'delete_cdn_zone', which reduces clarity about when to choose this specific deletion tool.

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 'delete_record' or 'delete_cdn_zone', nor does it mention prerequisites, consequences, or appropriate contexts. The agent must infer usage from the name and description alone without explicit direction.

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

delete_exportB

Delete an export from a storage gateway.

Smart identifier resolution: Use gateway label or ID.

Args: gateway_identifier: Gateway label or ID export_id: Export ID to delete

Returns: Success confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
gateway_identifierYes
export_idYes

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 'Smart identifier resolution' for gateway identification, which adds some context, but fails to cover critical aspects like permissions needed, whether deletion is permanent or reversible, rate limits, or error handling. The mention of 'Success confirmation' hints at the return but is vague.

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 parameter details and return information. Every sentence adds value 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.

Completeness2/5

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

Given the complexity of a destructive operation with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., permanence, auth needs), error cases, and the exact format of the success confirmation. For a delete tool, this gap is significant.

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 schema description coverage is 0%, so the description must compensate. It effectively explains both parameters: 'gateway_identifier' as 'Gateway label or ID' with smart resolution, and 'export_id' as 'Export ID to delete'. This adds clear meaning beyond the bare schema, though it could benefit from examples or format details.

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 ('Delete') and resource ('export from a storage gateway'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'delete' or other delete_* tools, 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, such as other delete operations or related tools like 'add_export'. It lacks context about prerequisites, consequences, or typical scenarios for deletion.

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

delete_forwarding_ruleB

Delete a forwarding rule from a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) forwarding_rule_id: The forwarding rule ID

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes
forwarding_rule_idYes

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. It states the tool deletes a forwarding rule, implying a destructive mutation, but does not disclose critical behavioral traits like required permissions, whether the deletion is irreversible, potential side effects (e.g., impact on traffic routing), or error handling. This leaves significant gaps for safe and effective use.

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 clear sections for arguments and returns. 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.

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 as a destructive operation with no annotations and no output schema, the description is moderately complete. It covers the basic purpose and parameters but lacks details on behavioral aspects, error cases, and the full implications of deletion, which are crucial for safe operation in a production environment.

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 meaningful context beyond the input schema, which has 0% description coverage. It clarifies that 'load_balancer_id' can be a label or UUID with examples ('web-lb', 'api-load-balancer'), and 'forwarding_rule_id' is the rule ID, compensating for the schema's lack of details. However, it does not fully explain parameter formats or constraints beyond basic examples.

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 ('Delete') and target resource ('a forwarding rule from a load balancer'), providing specific verb+resource pairing. However, it does not explicitly differentiate from sibling tools like 'delete_rule' or 'delete_record', which might handle different resource types, leaving some ambiguity about uniqueness.

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 when to delete a forwarding rule compared to modifying it or using other deletion tools for different resources. It lacks context about prerequisites, dependencies, or typical scenarios for invocation.

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

delete_groupB

Delete a firewall group.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID)

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes

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. It states the tool deletes a firewall group but doesn't disclose critical behavioral traits like whether deletion is permanent, requires specific permissions, has side effects (e.g., removing associated rules), or any rate limits. This is a significant gap for a destructive 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 appropriately sized and front-loaded: the first sentence states the purpose, followed by structured sections for Args and Returns. However, the 'Returns' section could be integrated more seamlessly, and some redundancy exists (e.g., 'Args' label).

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 (destructive operation), lack of annotations, and presence of an output schema (which handles return values), the description is minimally adequate. It covers the purpose and parameter semantics but misses key behavioral details like safety warnings or prerequisites, leaving gaps for informed use.

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 meaningful semantics beyond the schema: it explains that 'firewall_group_id' can be either an ID or a description (e.g., 'web-servers' or UUID), which clarifies the parameter's usage. With 0% schema description coverage and only one parameter, this adequately compensates.

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 ('Delete') and resource ('a firewall group'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling deletion tools like 'delete_rule' or 'delete_group' (if 'create_group' exists), though the resource type is implied.

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 lacks context about prerequisites (e.g., whether the group must be empty), exclusions, or comparisons to other deletion 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.

delete_ipv4B

Delete an IPv4 address from an instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ipv4: The IPv4 address to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes
ipv4Yes

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 the destructive action ('Delete') but doesn't specify whether this requires special permissions, if the deletion is reversible, what happens to network connectivity during/after deletion, or any rate limits. For a mutation 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.

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 Args and Returns sections. It's front-loaded with the core action and avoids unnecessary fluff. The only minor inefficiency is repeating 'delete' in the purpose and returns, but overall it's appropriately sized.

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?

For a destructive mutation tool with no annotations, the description covers the basic purpose and parameters adequately, and the output schema exists (so return values are documented elsewhere). However, it lacks critical behavioral context like permissions, reversibility, and side effects, which is a significant gap for a deletion operation.

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 schema description coverage is 0%, but the description compensates by clearly explaining both parameters: 'instance_id' accepts ID, label, or hostname with examples, and 'ipv4' specifies the address to delete. This adds meaningful context beyond the bare schema, though it doesn't cover validation rules (e.g., IPv4 format).

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 ('Delete an IPv4 address') and the target resource ('from an instance'), which distinguishes it from sibling tools like 'delete' (general deletion) or 'delete_record' (DNS record deletion). The verb+resource combination is precise 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 like 'convert_instance_ip' or 'detach_from_instance', nor does it mention prerequisites (e.g., the instance must be running, the IP must be assigned). It only states what the tool does, not when it's appropriate.

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

delete_isoC

Delete an ISO image.

Args: iso_id: The ISO ID to delete

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
iso_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 states 'Delete' implying a destructive mutation, but doesn't disclose critical behavioral traits: whether deletion is permanent/reversible, if it requires specific permissions, rate limits, or error conditions. The mention of a 'Success message' return is 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.

Conciseness4/5

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

The description is appropriately brief and front-loaded with the core purpose. The Args/Returns sections are structured but minimal. No wasted sentences, though the 'Returns' line adds little value beyond what might be inferred.

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?

For a destructive tool with no annotations, 0% schema coverage, but an output schema (implied by 'Has output schema: true'), the description is moderately complete. It covers the basic action and parameter meaning but lacks critical context: no warnings, no prerequisites, no error handling, and minimal behavioral disclosure. The output schema may document the return structure, reducing the burden slightly.

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 schema provides no parameter documentation. The description adds basic semantics for 'iso_id' ('The ISO ID to delete'), explaining what the parameter represents. However, it doesn't specify format, constraints, or where to obtain the ID (e.g., from 'get_iso' or 'list_isos'), 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 action ('Delete') and resource ('an ISO image'), making the purpose immediately understandable. However, it doesn't differentiate from sibling deletion tools (like delete_bare_metal_server, delete_domain, etc.) beyond specifying 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?

No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., whether the ISO must be unattached), consequences, or when not to use it. Sibling tools like 'delete' (generic) and 'get_iso' exist, but no comparison is made.

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

delete_kafka_topicC

Delete a Kafka topic.

Args: database_id: The Kafka database ID or label topic_name: The topic name to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
topic_nameYes

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 this is a deletion operation but doesn't mention whether it's irreversible, requires specific permissions, has side effects (e.g., data loss), or any rate limits. The return value is mentioned but not detailed.

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 minimal sentences. The first sentence directly states the purpose, and subsequent lines efficiently document parameters and return value 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?

For a destructive tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks critical information about safety (irreversibility), permissions, error conditions, and detailed return format, which are essential for an agent to use this tool correctly.

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 schema provides no parameter documentation. The description adds basic semantics by explaining 'database_id' as 'The Kafka database ID or label' and 'topic_name' as 'The topic name to delete', which clarifies what each parameter represents. However, it doesn't provide format examples, constraints, or validation rules.

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 ('Delete') and resource ('Kafka topic'), making the purpose unambiguous. However, it doesn't differentiate from sibling deletion tools like 'delete_domain' or 'delete_record', which follow the same pattern for different 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?

No guidance is provided on when to use this tool versus alternatives. While there's a sibling 'create_kafka_topic' and 'update_kafka_topic', the description doesn't mention prerequisites, dependencies, or when deletion is appropriate versus other operations.

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

delete_kubernetes_clusterB

Delete a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID to delete

Returns: Deletion status message

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

TDQS

B3/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. While it mentions 'Smart identifier resolution' (accepting label or UUID), it doesn't describe critical behavioral aspects: whether deletion is permanent/reversible, what permissions are required, whether associated resources are also deleted, or what happens to running workloads. For a destructive operation 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.

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 Args and Returns sections. All sentences earn their place, though the 'Smart identifier resolution' note could be more integrated with the parameter description rather than as a separate introductory sentence.

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 destructive deletion tool with no annotations and no output schema, the description is incomplete. It doesn't address critical context like irreversible consequences, required permissions, error conditions, or what the 'Deletion status message' actually contains. The presence of a sibling deletion tool with different behavior further highlights the incompleteness.

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 schema has 0% description coverage for its single parameter, but the description compensates well by explaining that 'cluster_identifier' accepts either 'cluster label or UUID' and provides the 'Smart identifier resolution' context. This adds meaningful semantic information beyond the bare schema type definition.

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 'Delete' and resource 'Kubernetes cluster', making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from its sibling 'delete_kubernetes_cluster_with_resources', which appears to be a similar deletion tool with different behavior.

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's no mention of prerequisites, consequences, or comparison with the sibling 'delete_kubernetes_cluster_with_resources' tool, leaving the agent with no usage context 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.

delete_kubernetes_cluster_with_resourcesB

Delete a Kubernetes cluster and all related resources. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID to delete

Returns: Deletion status message

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

TDQS

B3.3/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. It mentions 'Delete... and all related resources' which implies destructive behavior, but doesn't disclose critical details like whether this is irreversible, requires specific permissions, has confirmation steps, rate limits, or what happens to dependent services. The 'Smart identifier resolution' hint adds minor context but insufficient for a high-risk 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 efficiently structured with a clear purpose statement, parameter explanation, and return value note in three concise lines. Every sentence adds value, though the 'Args:' and 'Returns:' formatting could be more integrated with the main description.

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 high-risk destructive operation with no annotations and no output schema, the description is inadequate. It doesn't cover behavioral aspects like irreversibility, permissions, error conditions, or what 'all related resources' entails. The return value note is minimal ('Deletion status message'), leaving the agent uncertain about response format.

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 and only 1 parameter, the description adds significant value by explaining 'cluster_identifier' accepts 'cluster label or UUID' and mentioning 'Smart identifier resolution.' This clarifies parameter usage beyond the bare schema, though it doesn't detail format constraints or examples.

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 ('Delete a Kubernetes cluster and all related resources') and distinguishes from the sibling 'delete_kubernetes_cluster' by explicitly mentioning 'with_resources' in the name and 'all related resources' in the description. This provides precise verb+resource+scope 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 like 'delete_kubernetes_cluster' (which appears to delete just the cluster without resources) or other deletion tools. There are no prerequisites, warnings about irreversible actions, or context for selection.

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

delete_kubernetes_nodeA

Delete a specific node from a node pool. Smart identifier resolution: use cluster/node pool/node labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID node_identifier: The node label or ID to delete

Returns: Deletion status message

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes
node_identifierYes

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. It mentions 'Delete' and 'Deletion status message', implying a destructive operation, but does not disclose critical behavioral traits such as whether deletion is irreversible, requires specific permissions, has side effects on workloads, or involves rate limits. This is a significant gap for a destructive tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose, followed by structured sections for Args and Returns. Every sentence adds value, though the 'Smart identifier resolution' note could be more integrated. It avoids unnecessary verbosity.

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 destructive nature, 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It covers parameters but lacks critical behavioral details (e.g., irreversibility, permissions, effects) and output specifics beyond a vague 'Deletion status message'. More context is needed for safe and effective use.

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%, but the description compensates by explaining all three parameters in the 'Args' section, adding meaning beyond the bare schema. It clarifies that identifiers can be labels or UUIDs and specifies their purposes (cluster, node pool, node), though it lacks format examples or constraints. This is above baseline for 0% coverage.

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 ('Delete a specific node from a node pool') and resource ('node'), distinguishing it from sibling tools like 'delete_kubernetes_cluster' or 'delete_kubernetes_node_pool' by specifying node-level deletion. It provides a precise verb+resource combination.

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 through 'Smart identifier resolution' (labels or UUIDs) but does not explicitly state when to use this tool versus alternatives like 'recycle_kubernetes_node' or other deletion tools. It provides some context but lacks explicit when/when-not guidance or named alternatives.

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

delete_kubernetes_node_poolB

Delete a node pool from a Kubernetes cluster. Smart identifier resolution: use cluster/node pool labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID to delete

Returns: Deletion status message

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes

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 full burden. It states the action is a deletion but doesn't disclose critical behavioral traits: whether this is destructive (likely, but not confirmed), if it requires specific permissions, what happens to nodes in the pool, if it's reversible, or any rate limits. The return value is mentioned but not detailed.

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: a clear purpose statement, identifier resolution note, and separate Args/Returns sections. Every sentence adds value with no redundancy, making it easy to parse and front-loaded with key information.

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 destructive deletion tool with no annotations and no output schema, the description is incomplete. It lacks critical context: safety warnings, permission requirements, impact on cluster resources, error conditions, or detailed return format. The sibling list includes similar tools, but no differentiation is provided.

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 explicitly lists both parameters with brief semantics ('cluster label or ID', 'node pool label or ID to delete') and adds value with 'smart identifier resolution' explaining label/UUID usage. This covers the two parameters adequately 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 ('Delete') and resource ('a node pool from a Kubernetes cluster'), and distinguishes from siblings like 'delete_kubernetes_cluster' or 'delete_kubernetes_node' by specifying the exact resource type. The mention of 'smart identifier resolution' adds precision about how identifiers work.

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 'delete_kubernetes_cluster_with_resources' or 'scale_kubernetes_node_pool'. It mentions identifier resolution but doesn't specify prerequisites, exclusions, or contextual triggers for deletion.

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

delete_logical_databaseC

Delete a logical database.

Args: database_id: The database ID or label db_name: The logical database name to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
db_nameYes

TDQS

C2.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. While 'Delete' implies a destructive operation, the description doesn't mention whether this deletion is permanent, reversible, requires specific permissions, affects dependent resources, or has rate limits. The return value description is minimal ('Status message confirming deletion'), which adds some context but insufficient for a mutation 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 appropriately concise with three clear sections (purpose, args, returns). Each sentence earns its place, though the parameter explanations could be more informative. The structure is front-loaded with the main purpose first.

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 destructive mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It covers the basic purpose and lists parameters but lacks critical information about behavioral traits, usage context, parameter relationships, and detailed return values. The description doesn't compensate for the missing structured information.

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 lists the two parameters with brief explanations ('database_id: The database ID or label' and 'db_name: The logical database name to delete'), which adds some semantic meaning beyond the bare schema. However, it doesn't clarify the relationship between these two parameters (are both required? which takes precedence?) 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.

Purpose3/5

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

The description states 'Delete a logical database' which provides a clear verb+resource combination, but it doesn't differentiate from sibling tools like 'delete_database' or 'delete_record' (though none exist in the sibling list). The purpose is clear but lacks specificity about what distinguishes this deletion from other deletion operations in the system.

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's no mention of prerequisites, consequences, or when other deletion tools might be more appropriate. The sibling list includes many other 'delete_' tools, but no differentiation is provided.

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

delete_recordC

Delete a DNS record.

Args: domain: The domain name record_id: The record ID to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
record_idYes

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 the tool deletes a DNS record, implying a destructive operation, but doesn't mention critical aspects like whether deletion is permanent, requires specific permissions, or has rate limits. This leaves significant gaps for safe agent usage.

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 Args and Returns sections, making it easy to parse. It's concise with no wasted words, though the lack of richer context prevents a perfect score.

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 destructive nature of the tool, no annotations, and an output schema (implied by 'Returns'), the description is minimally adequate. It covers the basic action and parameters but misses important context like safety warnings, dependencies on other tools, or error handling, which is crucial for a deletion operation.

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 schema provides no parameter details. The description adds basic semantics by explaining 'domain' as 'The domain name' and 'record_id' as 'The record ID to delete', which clarifies their roles. However, it doesn't specify format constraints (e.g., domain syntax, ID sources), keeping the score at baseline for partial compensation.

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 ('Delete') and resource ('a DNS record'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'delete_domain' or 'delete_record' (if multiple delete tools exist), 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?

No guidance is provided on when to use this tool versus alternatives (e.g., 'update_record' for modifications or 'delete_domain' for broader deletions). The description lacks context about prerequisites, such as needing the record ID from 'list_records' or 'get_record'.

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

delete_ruleB

Delete a firewall rule.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) firewall_rule_id: The firewall rule ID to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes
firewall_rule_idYes

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 full burden for behavioral disclosure. It states this is a deletion operation (implying destructive), but doesn't mention whether deletion is permanent, reversible, requires confirmation, affects system stability, or has rate limits. The description adds minimal behavioral context beyond the obvious destructive nature.

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 with three clear sections (purpose, args, returns). The purpose statement is front-loaded and direct. The Args section efficiently explains both parameters. No wasted sentences, though the Returns section could be slightly 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?

For a destructive operation with 2 parameters and no annotations, the description is minimally adequate. It explains what the tool does and what parameters mean, but lacks important context about permissions, consequences, error conditions, and relationship to sibling tools. The existence of an output schema means return values don't need explanation, but behavioral context is incomplete.

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 clear semantic meaning for both parameters: 'firewall_group_id' is described as 'The firewall group ID or description' with examples, and 'firewall_rule_id' as 'The firewall rule ID to delete'. This adds significant value beyond the bare schema, though it doesn't explain format constraints or validation rules.

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 ('Delete') and resource ('a firewall rule'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other delete operations in the sibling list (like delete_record, delete_domain, etc.) beyond specifying 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. There's no mention of prerequisites (like needing specific permissions), when deletion is appropriate, or what happens to related resources. The sibling list includes 'get_firewall_rule' and 'list_firewall_rules', but no comparison is made.

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

delete_serverless_inferenceA

Delete a serverless inference subscription.

Warning: This action is irreversible and will immediately terminate the subscription.

Args: subscription_id: The inference subscription ID or label to delete

Returns: Confirmation of deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

TDQS

A3.9/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 effectively discloses critical behavioral traits: the action is 'irreversible' and causes 'immediate termination', which are essential for a destructive operation. However, it lacks details on permissions, error conditions, or response format beyond confirmation.

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 a warning, and then parameter and return details. Every sentence adds value 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.

Completeness3/5

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

For a destructive tool with no annotations and no output schema, the description does a decent job by warning about irreversibility and specifying the parameter. However, it lacks details on prerequisites (e.g., authentication), error handling, or what the 'confirmation of deletion' entails, leaving some gaps in completeness.

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 adds meaningful context for the single parameter 'subscription_id', clarifying it can be an 'ID or label', which goes beyond the schema's basic string type. This adequately covers the parameter semantics given the low schema coverage.

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 ('Delete') and resource ('serverless inference subscription'), distinguishing it from sibling tools like 'create_serverless_inference' or 'update_serverless_inference'. It precisely defines what the tool does without ambiguity.

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 'delete' (generic) or other deletion tools. It mentions the action is irreversible, which is a caution but not usage guidance. No explicit when/when-not or alternative tool references are included.

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

delete_sslC

Delete SSL certificate from a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)

Returns: Status message confirming SSL deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes

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 the action is a deletion, implying a destructive operation, but doesn't mention critical details like required permissions, whether the deletion is reversible, potential impacts on load balancer availability, or error conditions. This leaves significant gaps for safe and effective use.

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 the main purpose, arguments, and returns, making it easy to scan. It's concise with no redundant information, though the 'Returns' section could be more specific (e.g., detailing the status message format) to enhance utility without adding bulk.

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 destructive tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., side effects, error handling), and while it covers the parameter, it doesn't provide enough context for safe operation in a production environment, given the tool's potential impact.

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 schema description coverage is 0%, but the description includes an 'Args' section that documents the single parameter 'load_balancer_id' with examples (e.g., 'web-lb', UUID), adding meaningful context beyond the bare schema. However, it doesn't fully compensate for the lack of schema descriptions, as it doesn't explain format constraints or validation rules.

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 ('Delete SSL certificate') and target resource ('from a load balancer'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'delete_cdn_ssl_certificate' or other delete operations, which would require explicit comparison to achieve 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?

No guidance is provided on when to use this tool versus alternatives, such as other SSL-related tools (e.g., 'delete_cdn_ssl_certificate') or general load balancer management tools. The description lacks context about prerequisites, consequences, or typical scenarios for invocation.

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

delete_startup_scriptA

Delete a startup script. Smart identifier resolution: use script name or UUID.

Args: script_identifier: The startup script name or ID to delete

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
script_identifierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It states the tool deletes a startup script, implying a destructive mutation, but fails to disclose critical behavioral traits like required permissions, whether deletion is permanent/reversible, or error handling. The mention of 'Success message' hints at output but lacks detail on failure cases or side effects.

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 front-loaded with the core purpose, followed by structured Args and Returns sections. It's efficient with minimal waste, though the 'Smart identifier resolution' note could be more integrated. Overall, it's appropriately sized and well-organized for quick understanding.

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 a destructive tool with no annotations, 0% schema coverage, but an output schema exists, the description is moderately complete. It covers the action and parameter semantics but lacks crucial context like safety warnings, auth needs, or error behaviors. The output schema handles return values, but more behavioral disclosure is needed for a mutation 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?

Schema description coverage is 0%, but the description compensates by explaining the 'script_identifier' parameter as accepting 'script name or UUID' and providing 'Smart identifier resolution'. This adds meaningful semantics beyond the bare schema, clarifying input format and resolution behavior, though it doesn't detail constraints like length or patterns.

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 ('Delete') and resource ('a startup script'), distinguishing it from sibling tools like 'create_startup_script' and 'update_startup_script'. It provides precise verb+resource pairing with no ambiguity about what the 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 through the 'Smart identifier resolution' note, suggesting when to use name vs. UUID, but lacks explicit guidance on when to choose this tool over alternatives like 'delete' (general deletion) or prerequisites. It provides some context but no clear exclusions or sibling comparisons.

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

delete_userC

Delete a database user.

Args: database_id: The database ID or label username: The username to delete

Returns: Status message confirming deletion

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
usernameYes

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 action is a deletion but doesn't disclose critical behavioral traits like whether it's irreversible, requires specific permissions, has side effects (e.g., cascading deletions), or rate limits. This is a significant gap for a destructive 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 appropriately sized and front-loaded with the core purpose. The Args and Returns sections are structured clearly, though the 'Returns' part could be more concise. Overall, it's efficient with minimal waste.

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 destructive nature, lack of annotations, no output schema, and low schema coverage, the description is incomplete. It should address safety warnings, error conditions, or confirmation steps to be adequate for a deletion tool in this context.

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 schema provides no parameter details. The description adds basic semantics by naming the parameters ('database_id' and 'username') and their roles, but doesn't explain formats, constraints, or examples. It partially compensates for the coverage gap 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 verb 'Delete' and the resource 'database user', making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'delete', 'delete_record', or 'delete_group', which also perform deletions on different 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?

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, dependencies, or scenarios where this deletion is appropriate compared to other deletion 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.

delete_vpc2B

Delete a VPC 2.0 network.

Smart identifier resolution: Use VPC 2.0 description or ID.

Args: vpc2_identifier: VPC 2.0 description or ID to delete

Returns: Success confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
vpc2_identifierYes

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. It states 'Delete a VPC 2.0 network', implying a destructive mutation, but lacks details on permissions required, whether deletion is reversible, side effects (e.g., impact on attached instances), rate limits, or error conditions. The 'Returns' section mentions 'Success confirmation', but doesn't describe failure cases or output format.

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 with three sentences: purpose, parameter guidance, and return info. It's front-loaded with the main action. However, the 'Args:' and 'Returns:' sections are slightly redundant with structured fields, and the second sentence could be integrated more smoothly.

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 a destructive tool with no annotations, 0% schema coverage, but an output schema (implied by 'Has output schema: true'), the description is minimally adequate. It covers the basic action and parameter semantics but lacks critical behavioral context like safety warnings, prerequisites, or error handling. The output schema may detail return values, reducing the burden, but overall completeness is limited.

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 significant meaning beyond the input schema, which has 0% coverage. It explains that 'vpc2_identifier' accepts either a 'VPC 2.0 description or ID' and mentions 'Smart identifier resolution', clarifying the parameter's purpose and format. With only one parameter, this compensates well for the schema gap, though it could specify format constraints (e.g., ID pattern).

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 ('Delete') and resource ('a VPC 2.0 network'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'delete' (generic) or 'delete_vpc2' vs 'delete' (if 'delete' handles other resources), though 'VPC 2.0 network' implies a specific 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?

No guidance is provided on when to use this tool versus alternatives. The description mentions 'Smart identifier resolution' for input, but this is parameter semantics, not usage context. There's no mention of prerequisites, dependencies, or when not to use it (e.g., if the VPC has attached resources).

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

detachB

Detach block storage volume from its instance.

Smart identifier resolution: Use volume label or ID.

Args: volume_identifier: Volume label or ID to detach live: Whether to detach without rebooting the instance (default: True)

Returns: Success confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
volume_identifierYes
liveNo

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 the 'live' parameter's default behavior and smart identifier resolution, but doesn't disclose important behavioral aspects like: whether this operation requires specific permissions, whether it's reversible, what happens to data on the volume, potential side effects on the instance, or any rate limits. For a destructive detachment operation, 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 efficiently structured with a clear purpose statement first, followed by parameter explanations in a labeled format. Every sentence adds value: the main action, identifier resolution guidance, and parameter semantics. No wasted words or 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 that this is a destructive operation with no annotations and an output schema exists (implied by 'Returns: Success confirmation'), the description is moderately complete. It covers the basic operation and parameters but lacks important context about permissions, side effects, and error conditions. The existence of an output schema means return values don't need explanation, but behavioral transparency gaps remain significant.

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 adds substantial value by explaining both parameters. It clarifies that 'volume_identifier' accepts either label or ID with smart resolution, and explains that 'live' controls whether to detach without rebooting (with a default value). This compensates well for the schema's lack of descriptions, though it doesn't provide format examples for identifiers.

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: 'Detach block storage volume from its instance' - a specific verb (detach) and resource (block storage volume). It distinguishes from sibling 'attach' and 'detach_from_instance' by focusing on volume detachment specifically. However, it doesn't explicitly differentiate from 'detach_from_instance' which appears to be a similar operation.

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 provides implied usage context through the mention of 'smart identifier resolution' and the 'live' parameter's default behavior. However, it doesn't explicitly state when to use this tool versus alternatives like 'detach_from_instance' or what prerequisites might be needed. No explicit when-not-to-use guidance is provided.

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

detach_from_instanceB

Detach VPC or VPC 2.0 from an instance.

Smart identifier resolution: Use VPC/instance description/label/hostname or ID.

Args: vpc_identifier: VPC/VPC 2.0 description or ID to detach instance_identifier: Instance label, hostname, or ID to detach from vpc_type: Type of VPC ("vpc" or "vpc2", defaults to "vpc")

Returns: Success confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
vpc_identifierYes
instance_identifierYes
vpc_typeNovpc

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/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 'smart identifier resolution' and a success confirmation return, but fails to disclose critical traits: whether this is a destructive/mutative operation (implied by 'detach' but not stated), permission requirements, potential side effects (e.g., network disruption), rate limits, or error conditions. This leaves significant gaps for safe agent invocation.

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 a clear purpose statement, followed by a note on identifier resolution, and then lists args and returns in a bullet-like format. Every sentence adds value, with no redundant information. However, the 'Args:' and 'Returns:' sections could be integrated more seamlessly into prose.

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 (a mutative operation with 3 parameters), no annotations, and an output schema (implied by 'Returns: Success confirmation'), the description is partially complete. It covers parameters well but lacks behavioral context (e.g., safety, permissions) and doesn't elaborate on the output schema's details. For a detach operation, more guidance on implications is needed.

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 adds meaningful context beyond the bare schema: it explains that 'vpc_identifier' and 'instance_identifier' accept descriptions, labels, hostnames, or IDs, and clarifies 'vpc_type' as 'vpc' or 'vpc2' with a default. This covers all three parameters effectively, though it doesn't detail format constraints (e.g., ID patterns).

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 with a specific verb ('detach') and resources ('VPC or VPC 2.0 from an instance'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'detach' (which might be a generic version) or 'attach_to_instance' (the inverse operation), though the name itself suggests specialization.

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 mentioning 'smart identifier resolution' for VPCs and instances, suggesting it should be used when you have identifiers like descriptions, labels, hostnames, or IDs. However, it lacks explicit guidance on when to choose this tool over alternatives (e.g., vs. 'detach' or other network management tools) or any prerequisites or exclusions.

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

disable_auto_sslC

Disable Auto SSL for a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)

Returns: Status message confirming Auto SSL disabled

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes

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 mentions the action ('Disable') and a return value, but lacks critical behavioral details: whether this is a destructive change, if it requires specific permissions, potential side effects (e.g., downtime, SSL certificate removal), or error conditions. The description is minimal and doesn't compensate for the missing 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 clear sections (purpose, args, returns) and uses minimal sentences. It's front-loaded with the core action and avoids unnecessary details, though it could be slightly more concise by integrating the parameter explanation into a single sentence.

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 (a mutation tool disabling a security feature), lack of annotations, and no output schema, the description is incomplete. It doesn't address safety, permissions, or operational impact, which are crucial for an agent to use this tool correctly in context. The return value is mentioned but not detailed, and behavioral transparency is lacking.

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 adds value by explaining the 'load_balancer_id' parameter with examples (e.g., 'web-lb', 'api-load-balancer', or UUID), which clarifies acceptable formats beyond the schema's 'type: string'. However, it doesn't cover other potential nuances like validation rules or constraints, leaving some 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 verb ('Disable') and resource ('Auto SSL for a load balancer'), making the purpose specific and understandable. However, it doesn't distinguish this tool from potential siblings like 'enable_auto_ssl' or 'configure_auto_ssl' (which aren't listed but could exist conceptually), so it's not fully differentiated.

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. Given the sibling tools list includes many configuration and management tools (e.g., 'configure_basic_web_lb', 'update'), there's no indication of how this fits into broader workflows or when it's appropriate.

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

export_zone_fileC

Export domain records as standard DNS zone file format.

Args: domain: The domain name to export

Returns: DNS zone file content as string

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 mentions the action ('export') and output ('DNS zone file content as string'), but fails to describe critical behaviors: whether this requires specific permissions, if it's a read-only operation, what happens if the domain doesn't exist, or any rate limits. The description is minimal and lacks necessary 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 and concise, with a clear purpose statement followed by 'Args' and 'Returns' sections. Every sentence earns its place by defining the tool's function and parameters. However, it could be slightly more front-loaded by integrating the parameter info into the main description, but overall it's efficient with zero waste.

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 low complexity (one parameter) and the presence of an output schema (implied by 'Returns' in description), the description is moderately complete. It covers the basic action and parameter but lacks depth in behavioral aspects like error handling or permissions. Without annotations and with minimal param details, it's adequate but has clear gaps for a read/export operation.

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 schema description coverage is 0%, but the description compensates by documenting the single parameter 'domain' with a brief explanation ('The domain name to export'). This adds meaning beyond the bare schema, which only specifies a string type. However, it doesn't provide details like format constraints (e.g., valid TLDs) or examples, leaving some gaps. With one parameter and partial coverage, a baseline 3 is appropriate.

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: 'Export domain records as standard DNS zone file format.' It specifies the verb ('export'), resource ('domain records'), and output format ('DNS zone file'), making the action unambiguous. However, it does not explicitly differentiate from sibling tools like 'import_zone_file' or 'list_domains', which is why it doesn't score 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, such as whether the domain must exist or be managed, nor does it compare with siblings like 'get_domain' or 'list_records'. The only implied usage is for exporting DNS data, but no explicit context or exclusions are provided.

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

find_by_emailC

Find subaccounts by email address.

Args: email: Email address to search for

Returns: List of matching subaccounts

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

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 'Returns: List of matching subaccounts' which gives basic output information, but lacks critical behavioral details: whether this is a read-only operation, if it requires specific permissions, how it handles partial/no matches, rate limits, or authentication requirements. For a search tool with zero annotation coverage, 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.

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 Args and Returns sections. Every sentence earns its place, though the 'Args' and 'Returns' labels could be more integrated. The information is front-loaded with the core purpose first, making it easy to scan.

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?

For a single-parameter search tool with no annotations and no output schema, the description provides basic purpose and parameter documentation. It covers what the tool does and what it returns, but lacks important context about search behavior (exact vs partial matching, case sensitivity), error handling, and how it differs from similar search tools. The absence of annotations means more behavioral disclosure would be beneficial.

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 schema provides no parameter documentation. The description adds value by documenting the single parameter: 'email: Email address to search for'. This clarifies the parameter's purpose and format beyond the bare schema. However, it doesn't specify email format requirements, case sensitivity, or validation rules that would be helpful for a search parameter.

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 subaccounts by email address.' It specifies the verb ('Find'), resource ('subaccounts'), and search criteria ('by email address'). However, it doesn't explicitly differentiate from sibling tools like 'find_by_name' or 'find_by_region', which follow similar patterns but search by different 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. With sibling tools like 'find_by_name' and 'find_by_region' available, there's no indication of when email-based searching is appropriate versus name-based or region-based searching. No prerequisites, exclusions, or comparison to other search methods are mentioned.

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

find_by_nameA

Find subaccounts by name (partial match).

Args: name: Name to search for (case-insensitive partial match)

Returns: List of matching subaccounts

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

A3.6/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. It discloses key behavioral traits: the search is a partial match and case-insensitive, and it returns a list. However, it doesn't mention pagination, rate limits, authentication requirements, error conditions, or what happens with no matchesโ€”leaving gaps for a read operation.

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 clear Arg and Returns sections. Every sentence adds value with no redundancy. It's appropriately sized for a single-parameter tool, making it easy to scan and understand quickly.

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 no annotations, 0% schema coverage, and no output schema, the description is moderately complete. It covers the basic operation, parameter intent, and return type. However, for a search tool, it lacks details on result format (e.g., fields in subaccounts), pagination, error handling, and performance considerations, leaving room for improvement.

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 adds meaningful semantics: the 'name' parameter is for searching with partial matching and case-insensitivity. This goes beyond the schema's basic type information. However, it doesn't specify format constraints (e.g., length, special characters) or examples, preventing a perfect score.

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 subaccounts by name (partial match).' It specifies the verb ('Find'), resource ('subaccounts'), and search criteria ('by name'). However, it doesn't explicitly differentiate from sibling tools like 'find_by_email' or 'find_by_region', 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 Guidelines3/5

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

The description implies usage context through 'partial match' and 'case-insensitive' qualifiers, suggesting this is for fuzzy name searches. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'find_by_email' or 'list' 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_by_regionA

Find all Object Storage instances in a specific region.

Args: region: Region code (e.g., "ewr", "lax", "fra")

Returns: List of Object Storage instances in the specified region

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes

TDQS

A3.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. It states the tool 'Find[s] all Object Storage instances', which implies a read-only operation, but doesn't disclose behavioral traits like whether it requires authentication, rate limits, pagination, error handling, or what 'all' entails (e.g., if there's a limit). The description is minimal and lacks critical 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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by structured 'Args' and 'Returns' sections. Every sentence earns its place with no wasted words, making it easy to scan and understand quickly.

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 low complexity (1 parameter, no output schema, no annotations), the description is complete enough for basic use. It covers purpose, parameter, and return value. However, without annotations or output schema, it lacks details on behavioral aspects (e.g., safety, performance) and the structure of the returned list, which could be important for an agent.

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 the parameter 'region' with an example ('ewr', 'lax', 'fra'), adding meaning beyond the schema's type-only definition. However, it doesn't specify if these are the only valid codes or where to find them, leaving some ambiguity. For a single parameter, this is good but not exhaustive.

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 ('Object Storage instances'), and it distinguishes from siblings by specifying the filtering criterion ('in a specific region'). It's not a tautology and provides meaningful differentiation from tools like 'list' or 'find_by_name'.

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 stating 'in a specific region', which suggests when to use this tool (for region-based filtering). However, it doesn't explicitly mention when not to use it or name alternatives (e.g., 'list' for all instances or 'find_by_name' for name-based filtering). The guidance is present but not comprehensive.

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

find_regions_with_planB

Find all regions where a specific plan is available.

Args: plan_id: The plan ID to search for (e.g., "vc2-1c-1gb")

Returns: List of regions where the plan is available, with region details

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 states the tool returns a 'List of regions where the plan is available, with region details,' which implies a read-only operation, but doesn't clarify permissions, rate limits, pagination, or error handling. For a tool with zero annotation coverage, this leaves significant behavioral gaps unaddressed.

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: the first sentence states the purpose clearly, followed by separate 'Args' and 'Returns' sections. Every sentence earns its place with no wasted words, making it easy for an agent to parse quickly and efficiently.

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 low complexity (1 parameter, no nested objects) and the presence of an output schema (which handles return values), the description is minimally adequate. It covers the basic purpose and parameter semantics but lacks behavioral details (e.g., error cases, performance) and usage guidelines, leaving room for improvement in context.

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 schema description coverage is 0%, but the description compensates by explaining the single parameter: 'plan_id: The plan ID to search for (e.g., "vc2-1c-1gb").' This adds meaning beyond the bare schema (which only specifies type: string) by clarifying it's an ID for searching and providing an example. However, it doesn't detail format constraints or valid values, keeping the score at baseline.

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 all regions where a specific plan is available.' It uses a specific verb ('Find') and resource ('regions'), and the example plan_id ('vc2-1c-1gb') adds concreteness. However, it doesn't explicitly differentiate from sibling tools like 'get_plans_by_region_availability' or 'list_by_region', which might have overlapping functionality.

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, constraints, or compare it to sibling tools like 'get_plans_by_region_availability' (which might list plans by region) or 'list_by_region' (which might list resources by region). The absence of usage context leaves the agent guessing about appropriate scenarios.

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

fork_databaseB

Fork a database to create a copy.

Args: database_id: The source database ID or label label: Label for the forked database region: Region for the new database plan: Plan ID for the new database vpc_id: VPC ID for the new database

Returns: Information about the forked database

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
labelYes
regionYes
planYes
vpc_idNo

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 states the tool creates a copy but doesn't mention whether this is a destructive operation on the source, what permissions are required, whether it incurs additional costs, how long it takes, or what happens if parameters are invalid. For a mutation tool with zero 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 efficiently structured with a clear purpose statement followed by parameter and return sections. Every sentence serves a purpose: the first explains the tool's function, and the subsequent lines document inputs and outputs. It could be slightly more front-loaded by integrating parameter hints into the main description, but overall it's well-organized with minimal waste.

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 (5 parameters, mutation operation), no annotations, and no output schema, the description is moderately complete. It covers the basic purpose and parameters but lacks behavioral details (costs, timing, permissions) and output specifics. For a database forking operation, more context about what 'Information about the forked database' includes would be helpful, making this adequate but with clear 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?

Schema description coverage is 0%, so the description must compensate. It lists all 5 parameters with brief explanations that add meaningful context beyond the schema's type definitions (e.g., 'source database ID or label', 'Region for the new database'). This clarifies what each parameter represents, though it doesn't provide format details, constraints, or examples. Given the coverage gap, this is strong compensation.

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 ('Fork a database') and outcome ('to create a copy'), which is specific and unambiguous. It distinguishes this from siblings like 'create_logical_database' or 'create_read_replica' by focusing on copying an existing database. However, it doesn't explicitly differentiate from 'restore_from_backup' or other copy-like operations, preventing 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 like 'create_logical_database', 'create_read_replica', or 'restore_from_backup'. It lacks context about prerequisites (e.g., source database must exist), cost implications, or typical use cases (e.g., testing, migration). This leaves the agent without direction on appropriate usage scenarios.

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

generate_docker_credentialsA

Generate Docker credentials for container registry access.

Smart identifier resolution: Use registry name or ID.

Args: registry_identifier: Registry name or ID expiry_seconds: Expiration time in seconds (optional, default: no expiry) read_write: Whether to grant read-write access (default: True, False for read-only)

Returns: Docker credentials including username, password, and registry URL

ParametersJSON Schema
NameRequiredDescriptionDefault
registry_identifierYes
expiry_secondsNo
read_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden. It clearly describes the core behavior (generating credentials with optional expiry and access control) and mentions the return format. However, it lacks details on permissions required, rate limits, security implications, or whether credentials are stored or transient, which are important for a credential-generation tool.

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, parameter explanations in a bullet-like format, and a returns section. Every sentence adds value, with no redundant or vague phrasing, making it easy to parse quickly.

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 (credential generation with 3 parameters), no annotations, and an output schema (implied by 'Returns'), the description does well by covering purpose, parameters, and return values. However, it could be more complete by addressing authentication requirements or security notes, which are relevant for this type of tool.

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 explaining all three parameters in detail: 'registry_identifier' (name or ID with smart resolution), 'expiry_seconds' (optional expiration, default no expiry), and 'read_write' (boolean for access level, default True). This adds crucial 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 ('Generate Docker credentials') and resource ('for container registry access'), with the title reinforcing this. It distinguishes from siblings like 'get_docker_login_command' (which likely retrieves existing credentials) by focusing on credential generation.

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 provides clear context for usage ('for container registry access') and mentions 'Smart identifier resolution' as a helpful feature. However, it doesn't explicitly state when NOT to use this tool or name specific alternatives among siblings, such as when to use 'get_docker_login_command' instead.

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

generate_kubernetes_credentialsA

Generate Kubernetes credentials for container registry access.

Smart identifier resolution: Use registry name or ID.

Args: registry_identifier: Registry name or ID expiry_seconds: Expiration time in seconds (optional, default: no expiry) read_write: Whether to grant read-write access (default: True, False for read-only) base64_encode: Whether to base64 encode the credentials (default: True)

Returns: Kubernetes secret YAML configuration for registry access

ParametersJSON Schema
NameRequiredDescriptionDefault
registry_identifierYes
expiry_secondsNo
read_writeNo
base64_encodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden. It discloses that the tool generates credentials (implying a write/mutation operation) and returns a YAML configuration, but lacks details on permissions required, rate limits, side effects, or error conditions. It adds some behavioral context but is incomplete for a credential-generation tool.

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, parameter explanations in a bullet-like format, and a returns statement. Every sentence adds value without redundancy, and it is appropriately sized for the tool's complexity.

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, no annotations, 0% schema coverage, but with an output schema (implied by 'Returns'), the description is mostly complete. It covers purpose, parameters, and output format well, but lacks behavioral details like authentication requirements or error handling that would be helpful for safe invocation.

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 fully compensate. It provides detailed semantics for all 4 parameters: explains 'registry_identifier' accepts name or ID, clarifies optionality and defaults for 'expiry_seconds', 'read_write', and 'base64_encode', and adds meaning beyond the bare schema 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 ('Generate Kubernetes credentials') and the resource ('for container registry access'), distinguishing it from sibling tools like 'generate_docker_credentials' or 'get_kubernetes_cluster_config'. It precisely defines the tool's function without being tautological.

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 provides clear context for when to use this tool ('for container registry access') and mentions smart identifier resolution ('Use registry name or ID'), but does not explicitly state when not to use it or name specific alternatives among sibling tools like 'get_docker_login_command' or 'get_registry_info'.

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

getA

Get detailed information about a specific user.

Args: user_id: The user ID (UUID) or email address (e.g., "user@example.com" or UUID)

Returns: Detailed user information including permissions and settings

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

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 carries the full burden. It indicates a read operation ('Get') and specifies the return content, but lacks details on permissions required, rate limits, error conditions, or whether the operation is idempotent. For a read tool with zero annotation coverage, this is a moderate gap, though the description does add some behavioral context about the return format.

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 followed by Args and Returns sections. Every sentence adds value: the first states the tool's function, the second clarifies parameter input, and the third specifies return content. No redundant or verbose language is present.

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 simplicity (1 parameter, read-only operation) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, parameter semantics, and return content at a high level. However, for a user retrieval tool in a system with many sibling tools, more explicit differentiation from alternatives would enhance completeness.

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%, but the description compensates by explaining the 'user_id' parameter accepts either a UUID or email address, which is crucial semantic information not in the schema. With only one parameter, this clarification is highly valuable, though it doesn't cover all possible edge cases or formats beyond the examples given.

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 verb ('Get detailed information') and resource ('about a specific user'), making the purpose explicit. It distinguishes from sibling tools like 'list_users' (which returns multiple users) and 'find_by_email' (which might search rather than retrieve detailed info). The specificity of 'detailed information including permissions and settings' further clarifies scope.

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 when detailed user info is needed, but lacks explicit guidance on when to use this tool versus alternatives like 'get_user' (which appears to be a sibling) or 'find_by_email'. No prerequisites, exclusions, or comparison to siblings are provided, leaving the agent to infer context from tool names alone.

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

get_account_infoB

Get account information including billing details.

Returns: Account information and billing details

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/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 for behavioral disclosure. It states what the tool returns but doesn't mention whether this requires authentication, what permissions are needed, whether it's a read-only operation, or any rate limits. The description adds minimal behavioral context beyond the basic function.

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

Conciseness3/5

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

The description is brief but somewhat redundant, with the second sentence essentially repeating the first. The structure is front-loaded with the main purpose, but the 'Returns:' section adds little value beyond what's already implied. It could be more efficiently worded as a single sentence.

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 that this is a read operation with 0 parameters and an output schema exists, the description provides adequate basic information. However, for a tool that likely requires authentication and returns sensitive billing information, the description should ideally mention authentication requirements or permission levels, especially since no annotations are provided.

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 tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description doesn't need to compensate for any parameter gaps, and it appropriately doesn't discuss parameters. Baseline for 0 parameters with full coverage is 4.

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 with a specific verb ('Get') and resource ('account information including billing details'), making it immediately understandable. However, it doesn't explicitly differentiate itself from potential sibling tools that might retrieve other types of account data, though the sibling list shows no obvious direct alternatives for this specific function.

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 contextual constraints. While the sibling list includes many tools, none appear to be direct alternatives for retrieving account information, but the description doesn't clarify this or provide any usage context.

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

get_applicationC

Get detailed information about a specific application.

Args: app_id: The application ID, name, short_name, or image_id (e.g., "wordpress", "openlitespeed-wordpress")

Returns: Detailed application information

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes

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 this is a read operation ('Get'), implying it's non-destructive, but doesn't mention authentication requirements, rate limits, error conditions, or what 'detailed information' includes. For a tool with zero 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.

Conciseness4/5

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

The description is well-structured and concise, with a clear purpose statement followed by 'Args' and 'Returns' sections. Each sentence adds value without redundancy. It's appropriately sized for a single-parameter tool, though the 'Returns' section is somewhat vague ('Detailed application 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 low complexity (1 parameter, no output schema, no annotations), the description is moderately complete. It covers the basic purpose and parameter semantics but lacks behavioral details and usage guidelines. For a read operation, this might be minimally adequate, but it doesn't fully address what the tool returns or how to handle errors, leaving room for improvement.

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 adds some semantic context for the single parameter 'app_id', explaining it can be 'The application ID, name, short_name, or image_id (e.g., "wordpress", "openlitespeed-wordpress")'. This provides examples and clarifies acceptable formats, which is valuable since schema description coverage is 0%. However, it doesn't fully compensate for the lack of schema descriptions, as it doesn't detail constraints or validation rules.

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 detailed information about a specific application.' It specifies the verb ('Get'), resource ('application'), and scope ('detailed information about a specific application'). However, it doesn't explicitly differentiate from sibling tools like 'get' or 'list_applications', which likely serve different purposes (general retrieval vs. listing multiple applications).

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 for usage, or compare it to sibling tools such as 'get' (which might be more general) or 'list_applications' (which likely lists multiple applications). 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.

get_application_deployment_guideC

Get deployment guidance for an application.

Args: app_id: The application ID, name, short_name, or image_id

Returns: Deployment guidance including application details and requirements

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes

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 this is a read operation ('Get'), but doesn't cover important aspects like authentication requirements, rate limits, error handling, or whether it returns structured data. For a tool with zero 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.

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 uses bullet points effectively and avoids unnecessary words. However, the 'Returns' section could be more specific, and the overall length is appropriate for the tool's 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 has no annotations, no output schema, and low schema description coverage (0%), the description does an adequate job by explaining the parameter and return value at a high level. However, it lacks details on authentication, error cases, and the structure of the deployment guidance, which would be important for an agent to use it effectively in a broader context.

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 includes an 'Args' section that documents the single parameter 'app_id' with semantic meaning ('The application ID, name, short_name, or image_id'), which is helpful since schema description coverage is 0%. However, it doesn't provide examples, format details, or validation rules. With only one parameter and some semantic clarification, it meets the baseline but could be more informative.

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 deployment guidance for an application.' It specifies the verb ('Get') and resource ('deployment guidance for an application'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'get_application' or 'get_deployment_examples', which could provide similar information.

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., after selecting an application), or compare it to siblings like 'get_application' or 'get_inference_deployment_guide'. Without this, an agent might struggle to choose the right tool.

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

get_applications_by_vendorB

Get all applications from a specific vendor.

Args: vendor: Vendor name (e.g., "vultr", "LiteSpeed_Technologies")

Returns: List of applications from the specified vendor

ParametersJSON Schema
NameRequiredDescriptionDefault
vendorYes

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 returns a 'List of applications' but does not describe pagination, rate limits, authentication requirements, error handling, or what 'applications' entail (e.g., types, fields). For a read operation with zero annotation coverage, this is inadequate, warranting a score of 2.

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 concise, with a clear purpose statement followed by 'Args' and 'Returns' sections. Each sentence adds value without redundancy. However, it could be slightly more front-loaded by integrating the parameter explanation into the main description, so it scores 4 instead of 5.

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 low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It explains the purpose and parameter but lacks details on behavioral aspects like pagination or error handling. Without annotations or output schema, it should provide more context, but it meets basic requirements, resulting in a score of 3.

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 1 parameter with 0% description coverage. The description compensates by explaining the 'vendor' parameter as 'Vendor name (e.g., "vultr", "LiteSpeed_Technologies")', adding semantic meaning and examples. Since there are no other parameters, this effectively covers the single parameter, earning a score of 4.

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 all applications from a specific vendor.' It specifies the verb ('Get'), resource ('applications'), and scope ('from a specific vendor'). However, it does not differentiate from sibling tools like 'list_applications' or 'search_applications', which limits its score to 4.

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 mentions the 'vendor' parameter but does not specify prerequisites, exclusions, or compare it to sibling tools like 'list_applications' or 'search_applications'. This lack of contextual guidance results in a score of 2.

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

get_availabilityB

Get availability information for a specific region.

Args: region_id: The region ID to check availability for (e.g., "ewr", "lax")

Returns: Availability information including: - available_plans: List of available plan IDs in this region

This is useful for checking which instance plans are available in a specific region before creating instances.

ParametersJSON Schema
NameRequiredDescriptionDefault
region_idYes

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. It states this is a read operation ('get') and mentions the return structure, but lacks critical behavioral details: whether it requires authentication, rate limits, error conditions (e.g., invalid region_id), pagination, or caching behavior. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it 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 well-structured with clear sections (Args, Returns) and front-loaded purpose. Every sentence adds value: the first states the core function, the Args and Returns clarify I/O, and the final sentence explains utility. It could be slightly more concise by integrating the utility note into the opening, but overall it's efficient with minimal waste.

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 low complexity (1 parameter, read-only operation) and the presence of an output schema (which covers return values), the description is reasonably complete. It explains the purpose, parameter semantics, and usage context. The main gap is lack of behavioral transparency (e.g., auth needs), but for a simple lookup tool, the description provides sufficient context for basic use.

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 the only documentation for the single parameter 'region_id', including its purpose ('to check availability for') and examples ('ewr', 'lax'). This adds meaningful context beyond the bare schema type. However, it doesn't specify constraints like valid region IDs or format requirements, leaving some ambiguity.

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 availability information for a specific region' with the specific resource being 'availability information' and the verb 'get'. It distinguishes itself from siblings like 'find_regions_with_plan' or 'get_plans_by_region_availability' by focusing on checking availability for a single region rather than searching or listing across regions. However, it doesn't explicitly contrast with these similar tools, preventing 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 Guidelines3/5

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

The description provides implied usage context: 'This is useful for checking which instance plans are available in a specific region before creating instances.' This suggests when to use it (before instance creation) but doesn't explicitly state when not to use it or name alternatives like 'find_regions_with_plan' for reverse lookups. The guidance is helpful but not comprehensive.

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

get_balance_summaryB

Get a summary of all subaccount balances and charges.

Returns: Summary of subaccount financial status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 returns a summary but doesn't specify format (e.g., JSON structure), whether it's read-only (implied by 'Get' but not explicit), authentication requirements, rate limits, or potential side effects. For a financial tool with zero 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 brief and front-loaded, with the core purpose stated in the first sentence. The second sentence ('Returns: Summary of subaccount financial status') is somewhat redundant but adds slight clarification. Overall, it's efficient with minimal waste, though the redundancy slightly reduces its impact.

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 financial data and lack of annotations or output schema, the description is incomplete. It doesn't explain what 'summary' entails (e.g., aggregated totals, breakdowns), return format, or error conditions. For a tool that likely provides critical billing information, more context is needed to ensure the agent can use it 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?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied since the schema fully covers the absence of parameters, and the description doesn't need 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 a summary of all subaccount balances and charges.' It specifies the verb ('Get') and resource ('summary of all subaccount balances and charges'), making the action explicit. However, it doesn't differentiate from sibling tools like 'get_current_balance' or 'get_last_month_summary', which might offer similar financial data but with different scopes or timeframes.

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., for billing reviews), or exclusions (e.g., not for real-time balances). With siblings like 'get_current_balance' and 'get_last_month_summary', the lack of differentiation leaves the agent uncertain about the best choice for specific financial summary needs.

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

get_bandwidthB

Get bandwidth usage statistics for an instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)

Returns: Bandwidth usage information

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes

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 the tool retrieves statistics, implying a read-only operation, but doesn't specify whether it requires authentication, has rate limits, returns real-time or historical data, or details the format of the returned information. For a 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 efficiently structured with a clear purpose statement followed by parameter and return sections. Every sentence adds value: the first defines the tool, the second explains the parameter with examples, and the third outlines the return. There's no redundant or verbose content, making it 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 has one parameter with low schema coverage (0%) but good description compensation, no annotations, and an output schema exists (which handles return values), the description is minimally adequate. It covers the purpose and parameter semantics but lacks behavioral details and usage guidelines, leaving room for improvement in completeness for effective agent use.

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 meaningful context for the single parameter 'instance_id' by explaining it can be an ID, label, or hostname with examples ('web-server', 'db.example.com', or UUID). Since schema description coverage is 0% and there's only one parameter, this compensates well, providing clarity beyond the basic schema type. However, it doesn't cover edge cases or validation rules.

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 bandwidth usage statistics for an instance.' It specifies the verb ('Get') and resource ('bandwidth usage statistics'), and distinguishes it from siblings by focusing on bandwidth metrics rather than other instance attributes. However, it doesn't explicitly differentiate from similar tools like 'get_bare_metal_bandwidth' or 'get_usage' that might also retrieve usage data.

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 for selecting this over other bandwidth or usage tools, or any exclusions. The agent must infer usage from the purpose alone, which is insufficient for optimal tool selection.

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

get_bare_metal_bandwidthB

Get bandwidth usage for a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: Bandwidth usage information

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

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 must fully disclose behavioral traits. It mentions 'Smart identifier resolution,' which adds context on how the server is identified, but fails to describe other critical aspects such as whether this is a read-only operation, potential rate limits, authentication needs, or the format of the returned 'Bandwidth usage information.' 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 well-structured and concise, with no wasted words. It starts with the core purpose, adds a key usage note, and clearly lists args and returns in a formatted manner. Every sentence serves a specific purpose, making it easy to scan and understand quickly.

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 lack of annotations and output schema, the description provides basic context but is incomplete. It covers the purpose and parameter semantics adequately, but misses details on behavioral traits (e.g., safety, performance) and the structure of the return value. For a tool with no structured support, more comprehensive information would be needed for full completeness.

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, but the description compensates by explaining the 'server_identifier' parameter: 'The bare metal server label, hostname, or ID.' This adds meaningful semantics beyond the schema's type definition, clarifying what the parameter accepts. However, it does not detail constraints or examples, slightly limiting its effectiveness.

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 bandwidth usage for a bare metal server.' It specifies the verb ('Get') and resource ('bandwidth usage for a bare metal server'), making it easy to understand. However, it does not explicitly differentiate from sibling tools like 'get_bandwidth' or 'get_usage', which might have overlapping or similar functions, preventing 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 Guidelines3/5

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

The description provides some implied usage guidance by mentioning 'Smart identifier resolution: use server label, hostname, or UUID,' which suggests when to use this tool for identifying servers. However, it lacks explicit instructions on when to choose this tool over alternatives (e.g., 'get_bandwidth' or 'get_usage') or any prerequisites, making the guidance incomplete.

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

get_bare_metal_neighborsA

Get neighbors (other servers on same physical host) for a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: List of neighboring servers

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

TDQS

A4/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 'smart identifier resolution' behavior (accepting label, hostname, or UUID) which is valuable context beyond basic functionality. However, it doesn't mention authentication requirements, rate limits, error conditions, or whether this is a read-only operation (though 'Get' implies it).

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 followed by 'Args' and 'Returns' sections. Every sentence adds value with no redundant information. The two-sentence main description front-loads the essential 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?

For a single-parameter read operation with no annotations or output schema, the description provides adequate context. It explains what the tool does, parameter semantics, and return type. However, it lacks details about the return format (structure of neighbor objects) and any limitations or edge cases.

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 and only 1 parameter, the description compensates well by explaining the 'server_identifier' parameter accepts multiple formats (label, hostname, or ID). This adds meaningful semantic context beyond the schema's basic string type, though it doesn't specify format examples 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 ('Get neighbors') and resource ('for a bare metal server'), with explicit scope ('other servers on same physical host'). It distinguishes from siblings like 'get_bare_metal_server' by focusing on neighbor relationships rather than individual server details.

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 when needing neighbor information for a bare metal server, but provides no explicit guidance on when to use this tool versus alternatives like 'list_bare_metal_servers' or 'get_bare_metal_server_summary'. No exclusions or prerequisites are mentioned.

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

get_bare_metal_planC

Get details of a specific bare metal plan.

Args: plan_id: The plan ID

Returns: Bare metal plan details

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes

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 this is a 'Get' operation (implying read-only), but doesn't mention authentication requirements, rate limits, error conditions, or what 'details' include. For a 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.

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 Args and Returns sections. Every sentence earns its place, though the 'Returns' line is somewhat vague ('Bare metal plan details'). It could be slightly more informative without losing conciseness.

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 1 parameter with 0% schema coverage and no output schema, the description provides basic parameter semantics and return indication. However, for a tool that likely returns structured data about infrastructure plans, more context on authentication, error handling, or example outputs would improve completeness. It's minimally 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?

Schema description coverage is 0%, so the description must compensate. It documents the single parameter 'plan_id' and its purpose ('The plan ID'), which adds meaning beyond the bare schema. However, it doesn't explain format constraints, examples, or where to find plan IDs, leaving some semantic gaps. Baseline 3 is appropriate given it covers the parameter but incompletely.

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 details') and resource ('specific bare metal plan'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'get_plan', 'get_plan_by_type_and_spec', or 'list_bare_metal_plans', which reduces its score from a perfect 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 like 'get_plan' or 'list_bare_metal_plans'. It mentions 'specific bare metal plan' which implies usage when you have a plan ID, but offers no explicit when/when-not instructions 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.

get_bare_metal_serverB

Get details of a specific bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: Bare metal server details

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

TDQS

B3.3/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 'Smart identifier resolution' which adds some context about input flexibility, but it doesn't describe what 'details' are returned (e.g., status, configuration, usage), whether this is a read-only operation (implied by 'Get' but not explicit), or any potential errors or limitations. For a tool with 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded, with the core purpose stated first, followed by additional context and parameter details. It uses bullet points for 'Args' and 'Returns' for structure, making it easy to scan. However, the 'Returns' section is vague ('Bare metal server details'), which slightly reduces 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 tool's low complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It explains the parameter well but lacks details on return values, error handling, or behavioral traits. Without annotations or output schema, the agent might struggle to understand what 'details' entail or how to handle edge cases, making this minimally adequate but not fully 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 schema description coverage is 0%, so the description must compensate. It adds meaningful semantics by explaining that 'server_identifier' accepts 'server label, hostname, or UUID,' which clarifies the parameter's purpose and valid formats beyond the schema's basic string type. However, it doesn't provide examples or constraints (e.g., format requirements), leaving some ambiguity.

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 details of a specific bare metal server.' It uses a specific verb ('Get') and resource ('bare metal server'), making the action explicit. However, it doesn't distinguish itself from potential sibling tools like 'get_bare_metal_server_summary' or 'list_bare_metal_servers', which might provide different levels or scopes of server information.

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 provides implied usage guidance by mentioning 'Smart identifier resolution: use server label, hostname, or UUID,' which suggests when to use this tool (when you have one of those identifiers). However, it doesn't explicitly state when to use this tool versus alternatives like 'list_bare_metal_servers' for broader queries or 'get_bare_metal_server_summary' for different detail levels, nor does it mention any 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_bare_metal_server_summaryB

Get a comprehensive summary of a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: Comprehensive server summary including status, specs, and usage

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

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 'Smart identifier resolution' which adds useful context, but fails to cover critical aspects like whether this is a read-only operation, potential rate limits, authentication needs, or error handling. For a tool with zero 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 efficiently structured with a clear purpose statement, identifier resolution note, and separate Args/Returns sections. Every sentence adds value without redundancy, making it easy to scan and understand quickly.

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 no annotations, no output schema, and a single parameter with 0% schema coverage, the description does an adequate job by explaining the parameter and return value. However, it lacks details about the 'comprehensive summary' content, error conditions, or behavioral traits, leaving room for improvement in completeness.

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 schema has 0% description coverage for the single parameter, but the description compensates well by explaining 'server_identifier: The bare metal server label, hostname, or ID' and adding 'Smart identifier resolution'. This provides clear meaning beyond the basic schema, though it could specify format constraints or examples.

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 a comprehensive summary of a bare metal server' with the verb 'Get' and resource 'bare metal server summary'. It distinguishes from siblings like 'get_bare_metal_server' by specifying 'summary' rather than full details, though the distinction could be more 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 through 'Smart identifier resolution: use server label, hostname, or UUID', suggesting when to use this tool for flexible identification. However, it lacks explicit guidance on when to choose this over similar tools like 'get_bare_metal_server' or 'list_bare_metal_servers', leaving some ambiguity.

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

get_bare_metal_user_dataB

Get user data for a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: User data information

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

TDQS

B3.3/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 describes the tool as a 'Get' operation, implying it's read-only, but doesn't specify permissions required, rate limits, error conditions, or what 'user data' entails (e.g., metadata, configuration, or usage data). The mention of 'Smart identifier resolution' adds some context, but overall, the behavioral details are insufficient for a mutation-free tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded, with the core purpose stated first, followed by parameter and return details. It avoids unnecessary fluff, but the 'Returns' section is vague ('User data information') and could be more specific to enhance clarity without adding bulk.

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 1 parameter with 0% schema coverage and no output schema, the description provides basic context but is incomplete. It explains the parameter semantics and implies read-only behavior, but lacks details on output format, error handling, and how it differs from sibling tools. For a simple read tool, this is minimally adequate but has clear 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 schema description coverage is 0%, so the description must compensate. It explains the 'server_identifier' parameter by stating it can be 'server label, hostname, or ID,' which adds meaningful semantics beyond the schema's basic string type. However, it doesn't detail the format or constraints (e.g., UUID format, label conventions), leaving some 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 verb ('Get') and resource ('user data for a bare metal server'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_bare_metal_server' or 'get_bare_metal_server_summary', which might also retrieve server-related information.

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 provides some implied usage guidance by mentioning 'Smart identifier resolution: use server label, hostname, or UUID,' which suggests when to use this tool (when you have one of those identifiers). However, it lacks explicit guidance on when to use this tool versus alternatives like 'get_bare_metal_server' or other sibling tools, and doesn't mention any exclusions or prerequisites.

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

get_cdn_available_regionsB

Get list of available CDN regions.

Returns: List of available CDN regions with details

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 the return type ('List of available CDN regions with details'), which adds some behavioral context, but fails to disclose critical traits like whether this is a read-only operation, if it requires authentication, rate limits, or error conditions. The description doesn't contradict annotations, but provides minimal behavioral insight.

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 brief and front-loaded, with the core purpose stated first. The second sentence about returns adds value without being redundant. However, it could be more structured (e.g., separating purpose from returns with formatting) and slightly more informative to improve 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 tool's simplicity (0 parameters, no annotations, no output schema), the description is incomplete. It lacks context on authentication needs, rate limits, error handling, and how the returned list is structured (e.g., pagination, format). For a tool in a complex server with many siblings, more guidance would help an agent use it correctly.

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 tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to explain parameters, so it appropriately avoids redundancy. A baseline of 4 is justified since there are no parameters to document, and the description doesn't introduce confusion.

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 with a specific verb ('Get') and resource ('list of available CDN regions'), making it immediately understandable. However, it doesn't explicitly differentiate from potential siblings like 'list_cdn_zones' or 'get_cdn_zone', which might provide overlapping or related information about CDN 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. With many sibling tools related to CDN (like 'get_cdn_zone', 'list_cdn_zones', 'setup_cdn_for_website'), there's no indication of context, prerequisites, or exclusions to help an agent choose appropriately.

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

get_cdn_ssl_certificateB

Get SSL certificate information for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID

Returns: SSL certificate information including expiry and status

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes

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 the full burden. It mentions 'Smart identifier resolution' which adds some behavioral context, but fails to disclose critical traits such as whether this is a read-only operation, if it requires specific permissions, rate limits, or error handling. For a tool with no annotations, 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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by a brief behavioral note and structured Args/Returns sections. Every sentence adds value 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.

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 (single parameter, no output schema, no annotations), the description is adequate but has gaps. It explains the parameter well and hints at behavior, but lacks details on output format (e.g., what 'SSL certificate information' includes beyond expiry and status), error cases, or authentication requirements. This makes it minimally viable but not fully 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 schema description coverage is 0%, but the description compensates by explaining the parameter 'zone_identifier' in the Args section: 'The CDN zone origin domain, CDN domain, or ID.' This adds meaningful semantics beyond the bare schema, clarifying acceptable input formats. With only one parameter, this is sufficient to earn a high score despite 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: 'Get SSL certificate information for a CDN zone.' It specifies the verb ('Get'), resource ('SSL certificate information'), and scope ('for a CDN zone'). However, it does not explicitly differentiate from sibling tools like 'get_cdn_zone' or 'get_cdn_zone_summary', which focus on different aspects of CDN zones.

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 provides implied usage guidance by mentioning 'Smart identifier resolution: use origin domain, CDN domain, or UUID,' which suggests when to use this tool (when you need certificate details) and hints at parameter flexibility. However, it lacks explicit guidance on when to choose this tool over alternatives like 'get_cdn_zone' or 'analyze_domain,' and does not state any 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_cdn_zoneB

Get details of a specific CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID

Returns: CDN zone details

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes

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. It states this is a 'Get' operation, implying it's likely read-only, but doesn't confirm this or disclose other behavioral traits such as authentication requirements, rate limits, error conditions, or what 'details' include. The description adds minimal 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 concise and well-structured: it starts with the core purpose, adds a helpful note on identifier resolution, and briefly outlines args and returns. Each sentence adds value without redundancy. It could be slightly more front-loaded by integrating the identifier note into the first sentence, but overall it's efficient.

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 low complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It explains the parameter semantics and return type ('CDN zone details'), but without annotations or output schema, it lacks details on behavior, error handling, or the structure of returned details. This makes it adequate but not fully comprehensive for agent use.

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 input schema has 1 parameter with 0% description coverage. The description adds semantic value by explaining that 'zone_identifier' can be 'origin domain, CDN domain, or UUID,' which clarifies the parameter's purpose beyond the schema. However, it doesn't provide examples, format details, or constraints, so it only partially compensates 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: 'Get details of a specific CDN zone.' It specifies the verb ('Get details') and resource ('CDN zone'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'get_cdn_zone_summary' or 'list_cdn_zones', which is why it doesn't reach a score of 5.

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 provides some implied usage guidance by mentioning 'Smart identifier resolution: use origin domain, CDN domain, or UUID,' which suggests when to use this tool for retrieving details of a specific zone. However, it lacks explicit guidance on when to choose this over alternatives like 'get_cdn_zone_summary' or 'list_cdn_zones,' and doesn't mention any exclusions or prerequisites.

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

get_cdn_zone_logsB

Get access logs for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID start_date: Start date for logs (ISO format: YYYY-MM-DD) end_date: End date for logs (ISO format: YYYY-MM-DD) per_page: Number of items per page (default: 25)

Returns: CDN zone access logs with request details

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes
start_dateNo
end_dateNo
per_pageNo

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 the tool retrieves 'access logs with request details' but doesn't address important behavioral aspects like whether this is a read-only operation (implied by 'Get' but not explicit), potential rate limits, authentication requirements, pagination behavior beyond the per_page parameter, or what happens when date ranges are unspecified (since start_date and end_date have null defaults).

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 followed by organized sections for Args and Returns. Every sentence earns its place by providing essential information without redundancy. The formatting with bullet-like sections enhances readability while maintaining brevity.

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?

For a tool with 4 parameters, 0% schema coverage, no annotations, and no output schema, the description provides adequate basic information about what the tool does and parameter semantics. However, it lacks important contextual details about the return format (beyond 'access logs with request details'), pagination behavior, error conditions, or authentication requirements that would be needed for comprehensive understanding.

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?

Given the 0% schema description coverage, the description compensates well by providing clear semantic information for all 4 parameters. It explains what zone_identifier accepts (origin domain, CDN domain, or UUID), specifies date format requirements for start_date and end_date, and indicates per_page is a count with a default value. 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.

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 with a specific verb ('Get') and resource ('access logs for a CDN zone'), making it immediately understandable. However, it doesn't explicitly differentiate from potential siblings like 'get_cdn_zone_stats' or 'get_cdn_zone_summary' that might provide different types of CDN zone data.

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 provides some usage context by mentioning 'Smart identifier resolution' for the zone_identifier parameter, which helps users understand how to identify the target zone. However, it doesn't offer explicit guidance on when to use this tool versus alternatives like 'get_cdn_zone' or 'get_cdn_zone_stats' from the sibling list, nor does it specify any 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_cdn_zone_statsB

Get statistics for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID

Returns: CDN zone statistics including bandwidth, requests, and cache hit ratio

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes

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 the tool retrieves statistics (implying read-only) and describes the return content, but doesn't address important behavioral aspects like authentication requirements, rate limits, error conditions, or whether this is a real-time or aggregated data source. The description adds some value but leaves significant gaps for a tool with zero 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 efficiently structured with a clear purpose statement, parameter guidance, and return information in just three sentences. Each sentence adds value: the first states what the tool does, the second explains parameter flexibility, and the third describes the return content. No wasted words or 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?

For a single-parameter read tool with no annotations and no output schema, the description provides basic purpose, parameter semantics, and return content. However, it lacks important contextual details like authentication requirements, rate limits, time range parameters (if statistics are time-bound), or whether this provides real-time vs historical data. The description is minimally adequate but has clear 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?

With 0% schema description coverage for the single parameter, the description provides crucial semantic information by explaining that 'zone_identifier' accepts 'origin domain, CDN domain, or UUID' and mentioning 'Smart identifier resolution.' This adds meaningful context beyond the bare schema type, though it doesn't specify format constraints or provide examples.

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 with a specific verb ('Get statistics') and resource ('for a CDN zone'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_cdn_zone' or 'get_cdn_zone_summary', which appear to provide different types of CDN zone information.

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 provides some usage context by mentioning 'Smart identifier resolution' and listing acceptable identifier types (origin domain, CDN domain, or UUID), which helps guide parameter usage. However, it doesn't specify when to use this tool versus alternatives like 'get_cdn_zone' or 'get_cdn_zone_summary' from the sibling list, nor does it mention any 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_cdn_zone_summaryA

Get a comprehensive summary of a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID

Returns: Comprehensive CDN zone summary including configuration, stats, and SSL info

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes

TDQS

A4.2/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 that the tool returns a 'comprehensive summary' including configuration, stats, and SSL info, which adds behavioral context. However, it lacks details on permissions, rate limits, or error handling. The description does not contradict any annotations, as there are none.

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 purpose clearly, followed by a brief note on identifier resolution, and then structured sections for Args and Returns. Every sentence earns its place with no wasted words, 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 tool's moderate complexity (single parameter, no output schema, no annotations), the description is fairly complete. It covers purpose, parameter semantics, and return content. However, it lacks details on behavioral aspects like authentication or error cases, which would be beneficial for a read operation in a server with many siblings.

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 adds significant meaning by explaining that 'zone_identifier' accepts 'origin domain, CDN domain, or UUID' and mentions 'Smart identifier resolution', which clarifies the parameter's semantics beyond the basic schema. This effectively documents the single parameter, though it could specify format examples 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 verb 'Get' and resource 'comprehensive summary of a CDN zone', making the purpose specific. It distinguishes from siblings like 'get_cdn_zone' (likely more basic) and 'get_cdn_zone_stats' (stats-only) by emphasizing 'comprehensive' coverage including configuration, stats, and SSL info.

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 provides clear context for when to use this tool: to obtain a comprehensive CDN zone summary. It mentions 'Smart identifier resolution' for the parameter, which is helpful guidance. However, it does not explicitly state when not to use it or name alternatives among siblings, such as 'get_cdn_zone' or 'get_cdn_zone_stats', which could be more specific options.

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

get_cheapest_planC

Get the cheapest available plan.

Args: plan_type: Optional plan type filter

Returns: Cheapest plan details

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_typeNo

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 'Get' implies a read-only operation, the description doesn't mention any behavioral traits like whether this requires authentication, what happens when no plans are available, whether results are cached, or if there are rate limits. For a 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.

Conciseness4/5

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

The description is appropriately sized with a clear purpose statement followed by structured Args and Returns sections. Every sentence earns its place, though the 'Returns' section is somewhat redundant given the presence of an output schema (which would document return values).

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 handles return value documentation) and only one parameter with adequate documentation in the description, the description is reasonably complete for a simple retrieval tool. However, the lack of behavioral context (especially with no annotations) and missing usage guidelines relative to siblings are notable 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 includes an 'Args' section that documents the single parameter 'plan_type' as an 'Optional plan type filter', which adds meaningful context beyond the schema (which has 0% description coverage and only shows the parameter is optional with string/null types). This adequately compensates for the low schema coverage by explaining what the parameter does.

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 ('Get the cheapest available plan') which is a clear verb+resource combination, but it doesn't distinguish this tool from potential siblings like 'compare_plans' or 'search_plans_by_specs' that might also involve plan comparisons. The purpose is understandable 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. With siblings like 'compare_plans', 'get_plan', 'get_plan_by_type_and_spec', and 'search_plans_by_specs' available, there's no indication of when this specific cheapest-plan retrieval is preferred over those other plan-related tools.

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

get_configuration_summaryC

Get a comprehensive configuration summary for a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)

Returns: Detailed configuration summary

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes

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 'comprehensive configuration summary' but fails to specify if this is a read-only operation, what permissions are required, or any rate limits. This leaves critical behavioral traits undocumented for a tool that likely accesses system configurations.

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 front-loaded with the main purpose in the first sentence, followed by structured sections for Args and Returns. It avoids unnecessary verbosity, though the 'Returns' section is vague ('Detailed configuration summary') and could be more informative without adding bulk.

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 no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It covers the basic purpose and parameter semantics partially but misses behavioral context, detailed return values, and usage guidelines, making it inadequate for a tool that likely involves system configuration access.

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 schema provides no parameter details. The description adds value by explaining that 'load_balancer_id' can be an ID, label, or UUID, and gives examples like 'web-lb'. However, it doesn't fully compensate for the coverage gap, as it lacks details on format constraints or validation rules.

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 ('configuration summary for a load balancer'), making the purpose specific. However, it doesn't explicitly differentiate from sibling tools like 'get' or 'get_status_overview' that might also retrieve load balancer information, though the focus on 'comprehensive configuration summary' provides some 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. The description lacks context about prerequisites, such as whether the load balancer must be active, or comparisons to other get-related tools in the sibling list, 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.

get_connection_poolC

Get information about a connection pool.

Args: database_id: The database ID or label pool_name: The connection pool name

Returns: Connection pool information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
pool_nameYes

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 for behavioral disclosure. It states this is a read operation ('Get information'), implying it's non-destructive, but doesn't cover authentication needs, rate limits, error conditions, or what 'Connection pool information' includes (e.g., configuration details, status). For a tool with zero 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.

Conciseness4/5

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

The description is well-structured and concise, using a clear heading and bullet points for Args and Returns. It avoids unnecessary words, though the 'Args' and 'Returns' sections could be integrated more smoothly. Every sentence serves a purpose, making it efficient for quick comprehension.

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 (2 required parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameters but lacks details on usage context, behavioral traits, and output structure. Without annotations or an output schema, the agent must guess about permissions, errors, and return values, leaving room for improvement in completeness.

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 schema provides no parameter documentation. The description adds minimal value: it names the parameters ('database_id', 'pool_name') and states they're for identifying a specific pool, but doesn't explain formats (e.g., ID vs. label), examples, or constraints. This partially compensates for the schema gap but remains basic, aligning with the baseline when schema coverage is low.

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 information about a connection pool.' It specifies the verb ('Get') and resource ('connection pool'), making the intent unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'list_connection_pools' or 'create_connection_pool', which would require more specific scope details.

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 compare it to related tools like 'list_connection_pools' (which might retrieve multiple pools) or 'update_connection_pool' (which modifies pools). 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.

get_cost_analysisC

Get cost analysis and projections for a storage gateway.

Smart identifier resolution: Use gateway label or ID.

Args: gateway_identifier: Gateway label or ID

Returns: Detailed cost analysis and projections

ParametersJSON Schema
NameRequiredDescriptionDefault
gateway_identifierYes

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. While it mentions 'Smart identifier resolution' for gateway identification, it doesn't address important behavioral aspects like whether this is a read-only operation, what permissions are required, whether it makes external API calls, or how projections are calculated. The description provides minimal behavioral context beyond basic functionality.

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 three clear sections: purpose statement, identifier guidance, and return value. Each sentence serves a distinct purpose with minimal redundancy. The 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.

Completeness2/5

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

For a tool with no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It doesn't explain what 'detailed cost analysis and projections' includes, how data is formatted, whether there are rate limits, authentication requirements, or error conditions. The description leaves too many contextual questions unanswered for proper tool invocation.

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 adds meaningful context about the single parameter ('gateway_identifier') by explaining that it accepts 'Gateway label or ID' and mentioning 'Smart identifier resolution.' However, with 0% schema description coverage, it doesn't fully compensate by providing format examples, length constraints, or validation rules. The parameter information is helpful but incomplete.

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 with a specific verb ('Get') and resource ('cost analysis and projections for a storage gateway'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'analyze_costs' or 'get_cost_breakdown_by_service', which appear related but have different scopes.

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 multiple sibling tools related to cost analysis (analyze_costs, analyze_spending_trends, get_cost_breakdown_by_service), there's no indication of when this specific gateway-focused analysis is appropriate versus broader cost tools.

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

get_cost_breakdown_by_serviceC

Get cost breakdown by service for the specified period.

Args: days: Number of days to analyze (default: 30)

Returns: Service-wise cost breakdown with percentages

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo

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 mentions the tool returns a 'service-wise cost breakdown with percentages,' which gives some output context, but lacks critical details such as whether this is a read-only operation, any authentication requirements, rate limits, or data freshness. For a tool with zero 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.

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 clear sections for arguments and returns. It's concise with no wasted words, though the formatting with separate sections could be slightly more integrated for optimal readability.

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 low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the purpose, parameter, and return value, but lacks depth in behavioral context and usage guidelines, which are important for a cost analysis tool in a server with many siblings. It meets basic needs but doesn't fully compensate for the absence of structured data.

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 includes an 'Args' section that explains the 'days' parameter as 'Number of days to analyze (default: 30),' adding meaning beyond the input schema, which has 0% description coverage. However, with only one parameter, the baseline is high, and this explanation is adequate but not exceptional, as it doesn't cover edge cases or units beyond what's implied.

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 cost breakdown by service for the specified period.' It uses a specific verb ('Get') and resource ('cost breakdown by service'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'analyze_costs' or 'get_cost_analysis', which appear related, 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. With sibling tools like 'analyze_costs' and 'get_cost_analysis' present, there's no indication of how this tool differs or when it should be preferred, leaving the agent to guess based on names alone.

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

get_current_balanceB

Get current account balance and payment information.

Returns: Current balance, pending charges, and payment history

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 full burden for behavioral disclosure. It states what data is returned (balance, pending charges, payment history) but doesn't mention whether this requires authentication, has rate limits, returns real-time vs cached data, or any error conditions. For a financial data tool with zero annotation coverage, this is insufficient 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.

Conciseness4/5

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

The description is efficiently structured with two sentences: the first states the purpose, the second specifies the return values. There's no wasted text, though it could be slightly more front-loaded by combining both ideas into a single sentence for better scanning.

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?

For a zero-parameter tool with no annotations and no output schema, the description provides basic but incomplete context. It tells what data is returned but doesn't cover authentication requirements, data freshness, error handling, or format of the payment history. The description compensates somewhat for the missing output schema by listing return values, but more behavioral context would be helpful.

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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the empty parameter set. The description appropriately doesn't discuss parameters since none exist. It focuses instead on what the tool returns, which is valuable context given the lack of output 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 with 'Get current account balance and payment information' - a specific verb ('Get') and resource ('account balance and payment information'). It distinguishes itself from most siblings (like 'get_balance_summary' or 'get_payment_summary') by focusing on current balance specifically, though the distinction isn't explicitly articulated.

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's no mention of when this tool is appropriate versus other balance/payment-related tools like 'get_balance_summary' or 'get_payment_summary' that appear in the sibling list. The agent must infer usage context 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_current_month_summaryB

Get current month usage and cost summary.

Returns: Current month usage summary with service breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 the tool returns a 'summary with service breakdown', which adds some behavioral context, but fails to disclose critical details like whether it's read-only, requires authentication, has rate limits, or what the output format entails. For a 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.

Conciseness4/5

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

The description is front-loaded with the core purpose in the first sentence and adds a brief return statement. It's appropriately sized with no wasted words, though the return statement could be integrated more seamlessly. Overall, it's efficient and well-structured.

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 (a summary retrieval with no output schema) and lack of annotations, the description is incomplete. It mentions the return includes a 'service breakdown', but doesn't specify data format, timezone, or what 'usage and cost' entails. Without annotations or output schema, more detail is needed for the agent to use it 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?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the inputs. The description doesn't need to add parameter semantics, and it appropriately avoids discussing parameters. A baseline of 4 is given since no parameters exist, and the description doesn't introduce confusion.

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 with a specific verb ('Get') and resource ('current month usage and cost summary'), and distinguishes it from siblings like 'get_last_month_summary' by specifying 'current month'. However, it doesn't fully differentiate from 'get_monthly_usage_summary' or 'get_usage' in terms of scope or detail.

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_last_month_summary', 'get_monthly_usage_summary', or 'get_usage'. It lacks context about prerequisites, timing, or specific use cases, leaving the agent with no usage differentiation.

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

get_deployment_examplesB

Get examples of how to deploy popular marketplace applications.

Returns: Dictionary with deployment examples and common use cases

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 mentions that the tool returns a 'Dictionary with deployment examples and common use cases,' which gives some insight into the output format. However, it doesn't address other behavioral aspects like whether this is a read-only operation, potential rate limits, authentication needs, or error conditions. For a tool with zero 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.

Conciseness4/5

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

The description is concise and front-loaded, with the main purpose stated in the first sentence and additional return information in the second. Both sentences earn their place by providing essential details without unnecessary elaboration. However, it could be slightly more structured by explicitly separating purpose from return values.

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 that the tool has no parameters, no annotations, and no output schema, the description provides basic completeness by stating the purpose and return format. However, it lacks details on behavioral traits, usage context, and potential limitations, which are important for a tool that might involve complex deployment examples. This makes it adequate but with clear 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 tool has 0 parameters, and schema description coverage is 100%. The description doesn't need to explain any parameters, which is appropriate. Since there are no parameters to document, a baseline score of 4 is justified, as the description doesn't add parameter semantics but doesn't need to.

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 examples of how to deploy popular marketplace applications.' It specifies the verb ('Get examples') and resource ('popular marketplace applications'), making the function understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_popular_marketplace_apps' or 'get_application_deployment_guide', which could provide similar or related information.

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 any prerequisites, context for usage, or exclusions. Given the many sibling tools related to applications and deployment, this lack of differentiation leaves the agent without clear usage instructions.

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

get_docker_login_commandA

Generate Docker login command for easy CLI access.

Smart identifier resolution: Use registry name or ID.

Args: registry_identifier: Registry name or ID expiry_seconds: Expiration time in seconds (optional, default: no expiry) read_write: Whether to grant read-write access (default: True, False for read-only)

Returns: Docker login command and credentials information

ParametersJSON Schema
NameRequiredDescriptionDefault
registry_identifierYes
expiry_secondsNo
read_writeNo

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 full burden. It mentions 'Smart identifier resolution' and optional parameters with defaults, but doesn't disclose critical behavioral traits like authentication requirements, rate limits, error conditions, or whether this operation is idempotent. For a tool that generates login credentials, this is a significant gap in safety and 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 a purpose statement, key feature, parameter details, and return info in four concise sentences. It's front-loaded with the main purpose and avoids redundancy. However, the 'Args:' and 'Returns:' sections could be integrated more smoothly, and some sentences are slightly verbose.

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 no annotations, 0% schema coverage, but an output schema exists, the description is moderately complete. It covers parameters well and mentions returns, but lacks behavioral details like security implications or error handling. The output schema reduces the need to explain return values, but more context on usage scenarios would improve completeness for this credential-generating tool.

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 explaining all three parameters: 'registry_identifier' (name or ID), 'expiry_seconds' (optional expiration time), and 'read_write' (access level with default). It adds meaningful context beyond the bare schema, such as the smart resolution feature and default values, making parameters clear and actionable.

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: 'Generate Docker login command for easy CLI access.' It specifies the verb ('Generate') and resource ('Docker login command'), and distinguishes it from sibling tools like 'generate_docker_credentials' by focusing on CLI command generation rather than credential creation. However, it doesn't explicitly contrast with all siblings, so it's not a perfect 5.

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 'Smart identifier resolution: Use registry name or ID,' suggesting when to use this tool for registry access. However, it lacks explicit guidance on when to choose this over alternatives like 'generate_docker_credentials' or other authentication methods, and doesn't mention prerequisites or exclusions, leaving some ambiguity.

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

get_domainC

Get details for a specific DNS domain.

Args: domain: The domain name to get details for

Returns: Domain details including creation date and DNSSEC status

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

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 'Get details' implies a read-only operation, it doesn't specify whether this requires authentication, has rate limits, or what happens on errors (e.g., invalid domain). The description mentions return values, but since an output schema exists, this adds minimal value. For a tool with zero annotation coverage, more behavioral context is needed.

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 concise and well-structured. It front-loads the purpose in the first sentence, followed by clear 'Args' and 'Returns' sections. There's no wasted text, and the information is organized for quick scanning. It could be slightly more efficient by integrating the parameter explanation into the main sentence, but overall it's very good.

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 low complexity (1 parameter) and the presence of an output schema, the description is somewhat complete but has gaps. It covers the basic purpose and parameter, but lacks usage guidelines and sufficient behavioral transparency (e.g., error handling, authentication). With no annotations and simple schema, the description should do more to compensate, making it adequate but not fully comprehensive.

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 adds minimal parameter semantics beyond the input schema. It states 'domain: The domain name to get details for,' which clarifies the parameter's purpose but doesn't provide format examples (e.g., 'example.com'), validation rules, or constraints. With 0% schema description coverage, this partially compensates but doesn't fully address the gap. The baseline is 3 since the description at least names and briefly explains the single parameter.

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 details for a specific DNS domain.' It uses a specific verb ('Get') and resource ('DNS domain'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'analyze_domain' or 'list_domains', 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 sibling tools like 'analyze_domain' and 'list_domains' available, there's no indication of when this specific 'get' operation is appropriate versus analysis or listing operations. The description lacks any context about 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_firewall_ruleC

Get details of a specific firewall rule.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) firewall_rule_id: The firewall rule ID

Returns: Firewall rule details

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes
firewall_rule_idYes

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 it's a read operation ('Get details'), implying it's non-destructive, but doesn't cover critical aspects like authentication requirements, rate limits, error conditions, or response format details. For a 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.

Conciseness4/5

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

The description is well-structured and appropriately sized. It front-loads the purpose in the first sentence, followed by clear sections for Args and Returns. There's no wasted text, though the Returns section is minimal and could be more informative.

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 (2 required parameters, no annotations, no output schema), the description is incomplete. It lacks behavioral context (e.g., permissions, errors), detailed parameter guidance, and output specifics. For a tool that retrieves security-related resources, more context is needed to ensure safe and effective use.

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 schema provides no parameter documentation. The description adds basic semantics by naming the parameters ('load_balancer_id', 'firewall_rule_id') and giving examples for load_balancer_id (e.g., 'web-lb', UUID). However, it doesn't explain what a firewall_rule_id is, format requirements, or where to find these IDs, leaving gaps in usability.

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 details of a specific firewall rule.' It uses a specific verb ('Get') and resource ('firewall rule'), making the action explicit. However, it doesn't distinguish from sibling tools like 'list_firewall_rules' or 'get_rule', which could be ambiguous without context.

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 a load balancer ID), differentiate from similar tools (e.g., 'list_firewall_rules' for multiple rules), or specify use cases. 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.

get_forwarding_ruleC

Get details of a specific forwarding rule.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) forwarding_rule_id: The forwarding rule ID

Returns: Forwarding rule details

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes
forwarding_rule_idYes

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 states it 'Get details' (implying a read-only operation) but doesn't disclose behavioral traits like authentication requirements, error handling (e.g., if IDs are invalid), rate limits, or whether it returns partial data. For a read tool with zero annotation coverage, this leaves significant gaps in understanding how it 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 appropriately sized and front-loaded: the first sentence states the purpose clearly. The 'Args' and 'Returns' sections are structured but slightly redundant (parameters are already in the schema). Every sentence adds value, though it could be more concise by integrating the parameter hints into the main description.

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 low complexity (2 required parameters, no nested objects) and lack of annotations/output schema, the description is minimally complete. It covers the basic purpose and parameters but misses usage guidelines, behavioral context, and detailed parameter semantics. For a simple read tool, this is adequate but has clear gaps that could hinder effective use.

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 schema provides no parameter descriptions. The description adds minimal semantics: it names the parameters ('load_balancer_id', 'forwarding_rule_id') and gives examples for load_balancer_id (e.g., 'web-lb', UUID), but doesn't explain forwarding_rule_id format or where to find these IDs. This partially compensates but leaves key details undocumented, warranting a baseline score.

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 details of a specific forwarding rule.' It specifies the verb ('Get details') and resource ('forwarding rule'), and distinguishes it from siblings like 'list_forwarding_rules' (which lists multiple) and 'create_forwarding_rule' (which creates). However, it doesn't explicitly differentiate from other 'get_' tools (e.g., 'get_firewall_rule'), though the resource name makes it fairly 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 (e.g., needing a load balancer ID), compare it to 'list_forwarding_rules' for broader queries, or specify use cases like troubleshooting or configuration review. The agent must infer usage from the tool name and parameters alone.

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

get_gateway_statusA

Get comprehensive status information for a storage gateway.

Smart identifier resolution: Use gateway label or ID.

Args: gateway_identifier: Gateway label or ID

Returns: Detailed status including health, exports, and network configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
gateway_identifierYes

TDQS

A4.1/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. It indicates this is a read operation ('Get') and describes what information will be returned (health, exports, network configuration). However, it doesn't disclose important behavioral aspects like authentication requirements, rate limits, error conditions, or whether this operation has side effects.

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 front-loaded. The first sentence states the core purpose, followed by specific guidance about identifier resolution, then clearly separated sections for Args and Returns. Every sentence earns its place with no wasted words.

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?

For a single-parameter read tool with no annotations and no output schema, the description provides adequate basic information about purpose and parameters. However, it could be more complete by mentioning authentication requirements, error handling, or providing examples of the returned status structure beyond the high-level categories listed.

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 significant value beyond the schema. With 0% schema description coverage for the single parameter, the description explains that 'gateway_identifier' accepts either a 'gateway label or ID' and mentions 'Smart identifier resolution.' This provides crucial semantic context that the bare schema lacks.

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 ('comprehensive status information for a storage gateway'). It distinguishes itself from siblings like 'get_health_status' or 'get_status_overview' by specifying it's for storage gateways and includes exports and network configuration details.

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 provides clear context for when to use this tool ('for a storage gateway') and mentions smart identifier resolution (label or ID). However, it doesn't explicitly state when NOT to use it or name specific alternatives among the many sibling tools, though the specificity implies it's for storage gateways only.

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

get_groupB

Get information about a specific firewall group.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID)

Returns: Firewall group information

ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes

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. It states it 'Get[s] information' but doesn't disclose behavioral traits like whether this is a read-only operation (implied but not stated), authentication requirements, rate limits, error conditions, or what happens if the group doesn't exist. For a tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose in the first sentence. The Args and Returns sections are structured clearly. Every sentence adds value, with no wasted words, though it could be slightly more concise by integrating the parameter explanation into the main description.

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 low complexity (single parameter, no nested objects) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the purpose, parameter semantics, and return intent. However, it lacks behavioral context (e.g., error handling) which would be beneficial despite the output schema.

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 adds valuable semantics: it explains that 'firewall_group_id' can be either an ID or description, providing examples ('web-servers' or UUID). This clarifies parameter usage beyond the bare schema. However, it doesn't detail format constraints or validation rules.

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 ('information about a specific firewall group'), making the purpose explicit. It distinguishes this from siblings like 'list_groups' (which likely lists multiple groups) by specifying retrieval of a single group. However, it doesn't explicitly contrast with other get_* tools for different resources.

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 when you need information about a specific firewall group, given the parameter requirement. It doesn't explicitly state when NOT to use it (e.g., vs 'list_groups' for multiple groups) or name alternatives, leaving some inference needed. The context is clear but lacks explicit exclusions.

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

get_health_statusC

Get health status and monitoring information for a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)

Returns: Health status and configuration information

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes

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 mentions the tool 'Get health status and monitoring information', implying a read-only operation, but fails to specify critical details like whether authentication is required, rate limits, error handling, or the format of returned data. This leaves significant gaps in understanding how the tool behaves beyond its basic function.

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 'Args' and 'Returns' sections, making it front-loaded and easy to parse. It avoids unnecessary verbosity, though the 'Returns' section is somewhat vague ('Health status and configuration information'), which slightly reduces efficiency.

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 lack of annotations, 0% schema description coverage, and no output schema, the description is incomplete for a tool that retrieves health data. It provides basic parameter semantics but misses behavioral details like authentication needs, rate limits, and specific return formats, which are crucial for effective use in a monitoring context.

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 includes an 'Args' section that documents the single parameter 'load_balancer_id' with examples (e.g., 'web-lb', 'api-load-balancer', or UUID), adding meaningful context beyond the schema's 0% coverage. However, it does not fully compensate for the lack of schema descriptions by explaining constraints or validation rules, keeping it at a baseline level of adequacy.

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 the resource 'health status and monitoring information for a load balancer', making the purpose specific and understandable. However, it does not explicitly distinguish this tool from potential siblings like 'get_status_overview' or 'get_availability', which might also provide health-related data, leaving room for ambiguity in 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, such as other health or status tools in the sibling list (e.g., 'get_status_overview', 'get_availability'). It lacks explicit context, prerequisites, or exclusions, offering only basic parameter information without usage instructions.

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

get_inference_deployment_guideA

Get deployment guidance and best practices for an inference subscription.

Args: subscription_id: The inference subscription ID or label

Returns: Deployment guide with: - api_endpoints: Available API endpoints and documentation - authentication: How to use the API key - best_practices: Optimization and usage recommendations - examples: Sample code and integration patterns

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

TDQS

A3.5/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 of behavioral disclosure. While it mentions the tool retrieves guidance (implying read-only), it doesn't specify authentication requirements, rate limits, error conditions, or whether the subscription must be active. The return format is described but lacks details about response structure or pagination.

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 followed by organized sections for Args and Returns. Every sentence adds value with no redundant information. The bullet points in the Returns section make the output expectations 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?

For a single-parameter read tool with no output schema, the description provides adequate coverage of purpose and return format. However, without annotations and with sibling tools that might overlap, it lacks sufficient behavioral context about authentication, error handling, and differentiation from similar tools.

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 for the single parameter, the description adds crucial semantic context by explaining that 'subscription_id' can be either an ID or label. This compensates well for the schema's lack of documentation, though it could provide more detail about format constraints or examples.

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 ('deployment guidance and best practices for an inference subscription'). It distinguishes from siblings like 'get_inference_usage' or 'get_application_deployment_guide' by focusing specifically on inference subscription deployment guidance.

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 is provided. The description doesn't mention prerequisites, timing considerations, or differentiate from similar tools like 'get_application_deployment_guide' or 'get_deployment_examples' that might overlap in functionality.

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

get_inference_usageB

Get usage statistics for a serverless inference subscription.

Args: subscription_id: The inference subscription ID or label

Returns: Detailed usage information including: - chat: Token usage for chat/completion models - audio: Character usage for text-to-speech models - monthly_allotment: Total tokens/characters allocated - overage: Usage exceeding the monthly limit

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

TDQS

B3.4/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 of behavioral disclosure. It implies a read-only operation ('Get') and details the return structure, which adds value. However, it doesn't mention potential errors (e.g., invalid subscription_id), rate limits, authentication requirements, or whether the data is real-time or cached. For a tool with no annotations, this leaves 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 well-structured and concise, with no wasted words. It starts with a clear purpose statement, followed by 'Args:' and 'Returns:' sections that efficiently document inputs and outputs. Every sentence adds value, making it easy to scan and understand quickly.

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 no annotations, 0% schema description coverage, and no output schema, the description does a decent job by explaining the parameter and return values. However, it lacks details on error handling, authentication, rate limits, and data freshness. For a tool that retrieves usage statistics, these are important contextual gaps that could affect reliability and usage decisions.

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, with one parameter 'subscription_id' undocumented in the schema. The description compensates by explaining 'subscription_id: The inference subscription ID or label', adding semantic meaning beyond the schema's type information. This clarifies the parameter's purpose, though it doesn't specify format constraints (e.g., length, allowed characters).

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 usage statistics for a serverless inference subscription.' It specifies the verb ('Get') and resource ('usage statistics for a serverless inference subscription'), making the action and target explicit. However, it doesn't distinguish this tool from sibling tools like 'analyze_inference_usage' or 'monitor_usage', which might have overlapping or similar purposes, so it doesn't achieve full 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, such as needing an active subscription, or compare it to sibling tools like 'analyze_inference_usage' or 'monitor_usage' that might serve related purposes. Without this context, users 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.

get_invoiceB

Get details of a specific invoice.

Args: invoice_id: The invoice ID

Returns: Invoice details including line items

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYes

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 retrieves details but doesn't mention whether this is a read-only operation (implied by 'Get'), authentication requirements, error handling (e.g., for invalid IDs), rate limits, or response format beyond 'Invoice details including line items'. For a tool with zero 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.

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 brief sections for Args and Returns. It avoids unnecessary words, though the Returns section could be more specific (e.g., mentioning fields like amount, date). Overall, it's efficient and easy to scan.

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 low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameter but lacks details on usage context, behavioral traits, and output specifics. For a simple read operation, this might suffice, but it doesn't fully compensate for the absence of annotations or output schema.

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 meaningful context for the single parameter 'invoice_id' by specifying it as 'The invoice ID', which clarifies its purpose beyond the schema's type declaration (string). With 0% schema description coverage and only one parameter, this adequately compensates, though it doesn't detail format constraints (e.g., numeric, alphanumeric).

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 with a specific verb ('Get details') and resource ('a specific invoice'), making it immediately understandable. However, it doesn't differentiate from potential siblings like 'list_invoices' or 'get_invoice_items' that might exist in the broader context, though those aren't in the provided 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 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 an existing invoice ID), exclusions, or comparisons to other tools like 'list_invoices' for browsing. The agent must infer usage solely from the name and description.

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

get_ip_whitelistA

Get the IP whitelist for a user.

Args: user_id: The user ID (UUID) or email address

Returns: List of IP whitelist entries with subnet, subnet_size, date_added, and ip_type

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

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. While it states this is a read operation ('Get'), it doesn't mention authentication requirements, rate limits, error conditions, or whether the operation is idempotent. 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.

Conciseness5/5

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

The description is perfectly structured and concise. It starts with a clear purpose statement, followed by well-organized 'Args' and 'Returns' sections. Every sentence adds value with no redundancy or fluff, 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.

Completeness4/5

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

For a simple read tool with one parameter and no output schema, the description is mostly complete. It explains the purpose, parameter semantics, and return format. However, it lacks behavioral details like authentication or error handling, and doesn't reference sibling tools, leaving some gaps in contextual understanding.

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 beyond the schema. The schema only indicates 'user_id' is a required string, but the description clarifies it can be 'The user ID (UUID) or email address,' explaining the acceptable formats. With 0% schema description coverage, this fully compensates by adding crucial usage details not in 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 tool's purpose: 'Get the IP whitelist for a user.' It uses a specific verb ('Get') and resource ('IP whitelist') with a clear target ('for a user'). However, it doesn't explicitly distinguish itself from sibling tools like 'get_ip_whitelist_entry' or 'add_ip_whitelist_entry', which would require mentioning it retrieves the entire whitelist rather than individual entries.

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_ip_whitelist_entry' (for single entries) or 'add_ip_whitelist_entry' (for modifications), nor does it specify prerequisites or contextual constraints. 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_ip_whitelist_entryB

Get a specific IP whitelist entry for a user.

Args: user_id: The user ID (UUID) or email address subnet: The IP address or subnet (e.g., "8.8.8.0") subnet_size: The subnet size (e.g., 24 for /24)

Returns: IP whitelist entry details

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
subnetYes
subnet_sizeYes

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 full burden. It states it 'Get[s]' data, implying a read-only operation, but doesn't disclose behavioral traits like authentication needs, rate limits, error conditions, or what 'IP whitelist entry details' includes. This leaves significant gaps for a tool with 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded with the purpose, followed by structured sections for Args and Returns. Every sentence adds value, with no wasted words, though the 'Returns' section is vague and could be more specific.

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 no annotations, 0% schema coverage, and no output schema, the description is moderately complete. It covers the purpose and parameters well but lacks behavioral transparency and detailed return information. For a read tool with three parameters, it's adequate but has clear gaps in usage and output context.

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%, but the description compensates by explaining all three parameters: 'user_id' as 'The user ID (UUID) or email address', 'subnet' as 'The IP address or subnet', and 'subnet_size' as 'The subnet size (e.g., 24 for /24)'. This adds meaningful context beyond the bare schema, though it could be more detailed (e.g., format examples for subnet).

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 'specific IP whitelist entry for a user', making the purpose explicit. However, it doesn't distinguish from sibling tools like 'get_ip_whitelist' (which likely lists all entries) or 'remove_ip_whitelist_entry', missing full 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?

No guidance on when to use this tool versus alternatives like 'get_ip_whitelist' or 'add_ip_whitelist_entry' is provided. The description implies usage for retrieving a specific entry but lacks explicit context or exclusions, offering minimal guidance.

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

get_isoC

Get details of a specific ISO image.

Args: iso_id: The ISO ID

Returns: ISO image details

ParametersJSON Schema
NameRequiredDescriptionDefault
iso_idYes

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. While it implies a read operation ('Get details'), it doesn't disclose behavioral traits like authentication requirements, rate limits, error conditions, or whether the operation is idempotent. The description is minimal and lacks necessary context for safe invocation.

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 concise with three short sentences that are front-loaded with the core purpose. The Args/Returns structure is clear and efficient, though the 'Returns' section is somewhat redundant given the existence of an output schema.

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?

For a simple read operation with one parameter and an output schema, the description is minimally adequate. However, with no annotations and multiple sibling tools, it should provide more context about differentiation and usage scenarios. The output schema existence reduces the need to describe return values, but behavioral context remains lacking.

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%, but the description explicitly documents the single parameter 'iso_id' and its purpose ('The ISO ID'). This adds meaningful semantics beyond the bare schema. However, it doesn't provide format examples, constraints, or where to find ISO IDs, leaving some gaps in parameter understanding.

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 with a specific verb ('Get details') and resource ('specific ISO image'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'get_iso_by_name' or 'list_isos', which appear to serve related but distinct 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. With sibling tools like 'get_iso_by_name' and 'list_isos' available, there's no indication whether this tool is for retrieving by ID specifically, or when one might choose it over other ISO-related tools.

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

get_iso_by_nameC

Get ISO by name or filename.

Args: name: ISO name or filename to search for

Returns: ISO details if found

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

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 retrieves ISO details if found, implying a read-only operation, but doesn't disclose behavioral traits like error handling (e.g., what happens if not found), authentication needs, rate limits, or response format. The description is minimal and lacks critical 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 front-loaded with the core purpose, followed by brief sections for Args and Returns. It's efficient with no wasted sentences, though the structure is minimal and could benefit from more detail without sacrificing conciseness.

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 low complexity (single parameter, read operation) and the presence of an output schema (which handles return values), the description is minimally adequate. However, with no annotations and 0% schema coverage, it lacks behavioral transparency and usage guidance, leaving gaps in overall completeness for effective agent use.

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%, but the description compensates by explaining the 'name' parameter as 'ISO name or filename to search for,' adding semantic meaning beyond the schema's type definition. However, it doesn't provide format details (e.g., case sensitivity, wildcards) or examples. With one parameter and partial compensation, this meets the baseline for adequate but incomplete 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: 'Get ISO by name or filename.' It uses a specific verb ('Get') and resource ('ISO'), and explains the search criteria. However, it doesn't explicitly differentiate from sibling tools like 'get_iso' or 'list_isos' beyond the name-based search 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?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention sibling tools like 'get_iso' (which might fetch by ID) or 'list_isos' (which might list all), nor does it specify prerequisites or exclusions. Usage is implied by the name-based search but not explicitly contextualized.

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

get_kafka_topicC

Get information about a Kafka topic.

Args: database_id: The Kafka database ID or label topic_name: The topic name

Returns: Kafka topic information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
topic_nameYes

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 retrieves information, implying it's a read-only operation, but doesn't specify details like authentication requirements, rate limits, error handling, or what 'Kafka topic information' includes (e.g., configuration, partitions). For a tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded, with the main purpose stated first, followed by structured sections for Args and Returns. There's no unnecessary verbosity, and each sentence serves a clear purpose. However, the structure could be slightly improved by integrating the sections more seamlessly, but it remains efficient overall.

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 (2 parameters, no annotations, no output schema), the description is incomplete. It lacks details on return values (beyond vague 'Kafka topic information'), error cases, and behavioral context. For a read operation with no structured support, the description should provide more comprehensive guidance to be fully usable by an agent.

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 lists 'database_id' and 'topic_name' in the Args section, adding basic semantics beyond the schema, but doesn't explain what a 'Kafka database ID or label' is, provide examples, or clarify the topic name format. This partial compensation is insufficient for full understanding, warranting a low score.

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 with 'Get information about a Kafka topic,' which specifies the verb ('Get') and resource ('Kafka topic'). It distinguishes from siblings like 'list_kafka_topics' (which lists multiple topics) and 'create_kafka_topic' (which creates topics), though it doesn't explicitly mention these distinctions. The purpose is specific but could be slightly more detailed to highlight sibling differences.

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 siblings like 'list_kafka_topics' for listing all topics or 'update_kafka_topic' for modifying topics, nor does it specify prerequisites or context for usage. The only implied usage is to retrieve information for a specific topic, but no explicit guidelines are given.

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

get_kubernetes_available_upgradesB

Get available Kubernetes version upgrades for a cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID

Returns: List of available Kubernetes versions for upgrade

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

TDQS

B3.3/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 is for getting available upgrades (a read operation) and mentions identifier resolution, but doesn't cover important aspects like whether it requires specific permissions, rate limits, error handling, or the format of the returned list. For a tool with zero 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.

Conciseness4/5

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

The description is well-structured and concise, with a clear purpose statement followed by 'Args:' and 'Returns:' sections. Every sentence adds value, such as the smart identifier note, and there's no redundant information. It could be slightly more front-loaded by integrating the return info into the main sentence, but overall it's efficient.

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 (querying upgrades for a cluster), no annotations, no output schema, and low schema coverage, the description is adequate but incomplete. It covers the purpose and parameter semantics well, but lacks details on behavioral aspects like permissions, rate limits, or error cases, which are important for a tool interacting with Kubernetes clusters.

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 meaningful context for the single parameter 'cluster_identifier' by explaining 'Smart identifier resolution: use cluster label or UUID,' which clarifies the expected input format beyond the schema's basic string type. With 0% schema description coverage and only one parameter, this compensation is effective, though it could be more detailed (e.g., examples or constraints).

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 available Kubernetes version upgrades for a cluster.' It specifies the verb ('Get') and resource ('available Kubernetes version upgrades for a cluster'), making the action explicit. However, it doesn't explicitly differentiate from sibling tools like 'get_kubernetes_versions' or 'upgrade_kubernetes_cluster', which could be related but serve 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 Guidelines3/5

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

The description provides some implied usage context by mentioning 'Smart identifier resolution: use cluster label or UUID,' which suggests when to use this toolโ€”when you need upgrade options for a specific cluster. However, it lacks explicit guidance on when to use this versus alternatives like 'get_kubernetes_versions' (which might list all versions) or 'upgrade_kubernetes_cluster' (which performs the upgrade), and doesn't 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_kubernetes_clusterA

Get detailed information about a specific Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID (e.g., "production-cluster" or UUID)

Returns: Detailed cluster information including configuration and status

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

TDQS

A3.5/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 that the tool retrieves 'detailed information' and supports 'smart identifier resolution' (label or UUID), adding useful context beyond basic read operations. However, it lacks details on permissions, rate limits, error handling, or what 'detailed information' includes (e.g., configuration, status as noted). This is a moderate disclosure but misses key behavioral traits for a tool with no 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 appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a note on identifier resolution and a structured breakdown of args and returns. Every sentence adds value, with no wasted words. However, the 'Args' and 'Returns' sections could be integrated more fluidly, and it's slightly verbose for a simple 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's low complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It explains the parameter and return intent ('detailed information including configuration and status'), but without an output schema, it doesn't specify the return structure or data types. For a read-only tool with no annotations, more behavioral context (e.g., error cases, auth needs) would enhance completeness.

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 1 parameter with 0% description coverage, so the description must compensate. It adds meaning by explaining 'cluster_identifier' as 'The cluster label or ID (e.g., "production-cluster" or UUID)' and notes 'Smart identifier resolution,' clarifying usage beyond the schema's basic string type. This effectively covers the single parameter, though it doesn't detail format constraints or examples beyond the brief mention.

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 detailed information about a specific Kubernetes cluster.' It specifies the verb ('Get') and resource ('Kubernetes cluster'), and distinguishes it from siblings like 'list_kubernetes_clusters' (which lists multiple clusters) and 'get_kubernetes_cluster_status' (which focuses on status only). However, it doesn't explicitly differentiate from all siblings, such as 'get_kubernetes_cluster_config' or 'get_kubernetes_cluster_resources', which might overlap in scope.

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 'specific Kubernetes cluster' and 'use cluster label or UUID,' suggesting it's for retrieving details of a known cluster. It doesn't explicitly state when to use it versus alternatives like 'list_kubernetes_clusters' for multiple clusters or other get_kubernetes_* tools for specific aspects. No exclusions or prerequisites are mentioned, leaving some ambiguity for the agent.

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

get_kubernetes_cluster_configB

Get the kubeconfig for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID

Returns: Kubeconfig content for cluster access

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

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 the full burden. It mentions 'Smart identifier resolution' and the return type ('Kubeconfig content'), but fails to disclose critical behavioral traits like authentication requirements, rate limits, error handling, or whether this is a read-only operation. The description adds some context but is insufficient for a mutation-sensitive tool.

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, with a clear purpose statement followed by brief sections for Args and Returns. 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.

Completeness3/5

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

Given no annotations, no output schema, and low schema coverage (0%), the description is moderately complete. It covers the purpose, parameter usage, and return type, but lacks details on behavioral aspects like permissions or error cases. For a tool that retrieves sensitive configuration data, more context would be beneficial.

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 meaningful semantics beyond the input schema, which has 0% coverage. It explains that 'cluster_identifier' accepts 'cluster label or UUID' and clarifies its purpose for 'Smart identifier resolution.' With only one parameter, this compensates well for the lack of schema descriptions, providing essential usage 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 ('Get') and resource ('kubeconfig for a Kubernetes cluster'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'get_kubernetes_cluster' or 'list_kubernetes_clusters', which might retrieve different information about clusters.

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 mentioning 'Smart identifier resolution: use cluster label or UUID,' which suggests when to use this tool for retrieving configuration. However, it lacks explicit guidance on when not to use it or alternatives, such as comparing with other get_kubernetes_* tools for different data needs.

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

get_kubernetes_cluster_resourcesB

Get resource usage information for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID

Returns: Cluster resource usage including CPU, memory, and storage

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

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. It mentions 'Smart identifier resolution' which adds useful context about input flexibility, but it doesn't disclose critical behavioral traits such as whether this is a read-only operation (implied by 'Get' but not explicit), potential rate limits, authentication requirements, or error conditions. For a tool with 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.

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 purpose clearly, followed by a note on identifier resolution and a brief Args/Returns section. There's no wasted text, and the structure helps with readability. It could be slightly more concise by integrating the Args/Returns into the flow, but it's efficient overall.

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 (a read operation with 1 parameter), no annotations, no output schema, and 0% schema coverage, the description is moderately complete. It covers the purpose, parameter semantics, and return value types, but lacks details on behavioral aspects like safety, performance, or error handling. For a tool with minimal structured data, it does an adequate but not thorough job.

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 adds meaning beyond the input schema by explaining that 'cluster_identifier' accepts 'cluster label or UUID,' which clarifies the parameter's semantics. However, with 0% schema description coverage and 1 parameter, this is a minimal improvement. The baseline is 3 because the schema lacks descriptions, and the description compensates slightly but doesn't fully detail format or constraints.

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 resource usage information for a Kubernetes cluster.' It specifies the resource (Kubernetes cluster) and the type of information (resource usage including CPU, memory, and storage). However, it doesn't explicitly differentiate from sibling tools like 'get_kubernetes_cluster' or 'get_kubernetes_cluster_status', which are also read operations on clusters.

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 provides some usage context with 'Smart identifier resolution: use cluster label or UUID,' which implies how to identify clusters. However, it doesn't specify when to use this tool versus alternatives like 'analyze_kubernetes_cluster_costs' or 'get_kubernetes_cluster_status' for related cluster information. The guidance is implied but not explicit about exclusions or alternatives.

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

get_kubernetes_cluster_statusB

Get comprehensive status information for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID

Returns: Comprehensive cluster status including health, resources, and node status

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

TDQS

B3.2/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 'comprehensive cluster status including health, resources, and node status,' which gives some insight into output content, but fails to address critical behavioral aspects such as whether this is a read-only operation, potential rate limits, authentication requirements, or error handling. For a tool with zero 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.

Conciseness4/5

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

The description is well-structured and front-loaded with the main purpose, followed by specific details in 'Args' and 'Returns' sections. It uses three concise sentences without unnecessary fluff, making it efficient. However, the 'Smart identifier resolution' note could be integrated more smoothly, and there's slight room for improvement in flow.

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 (1 parameter, no output schema, no annotations), the description is partially complete. It covers the purpose, parameter meaning, and return content, but lacks details on behavioral traits, error cases, or how it differs from sibling tools. Without annotations or output schema, more context on operational aspects would enhance completeness for effective agent use.

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 input schema has 1 parameter with 0% description coverage, and the description adds value by explaining 'cluster_identifier: The cluster label or ID' and noting 'Smart identifier resolution.' This clarifies the parameter's purpose and acceptable values beyond the schema's basic type. However, it doesn't provide examples or format details, so while it compensates somewhat for the schema gap, it doesn't fully document the 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: 'Get comprehensive status information for a Kubernetes cluster.' It specifies the verb ('Get') and resource ('Kubernetes cluster'), and distinguishes it from siblings like 'get_kubernetes_cluster' (which likely returns basic info) by emphasizing 'comprehensive status.' However, it doesn't explicitly differentiate from 'get_kubernetes_cluster_resources' or 'get_health_status,' which slightly limits clarity.

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 provides some usage context by mentioning 'Smart identifier resolution: use cluster label or UUID,' which guides how to identify the cluster. However, it lacks explicit guidance on when to use this tool versus alternatives like 'get_kubernetes_cluster' or 'get_kubernetes_cluster_resources,' and does not specify prerequisites or exclusions, leaving usage somewhat implied rather than fully defined.

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

get_kubernetes_nodeC

Get detailed information about a specific node. Smart identifier resolution: use cluster/node pool/node labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID node_identifier: The node label or ID

Returns: Detailed node information

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes
node_identifierYes

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 retrieves information (implying read-only behavior) and mentions 'Smart identifier resolution,' which adds some context about input flexibility. However, it lacks details on permissions, rate limits, error handling, or what 'detailed information' includes (e.g., format, fields). For a read 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.

Conciseness4/5

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

The description is structured with a clear purpose statement, a note on identifier resolution, and sections for Args and Returns. It is front-loaded and avoids unnecessary details. However, the 'Args' and 'Returns' sections are somewhat redundant with the schema and could be integrated more seamlessly, slightly affecting 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 (3 required parameters, no annotations, no output schema), the description is moderately complete. It covers the purpose, parameters, and return type at a high level but lacks depth: no output details, no error conditions, and minimal behavioral context. It meets the minimum for a read tool but leaves significant gaps for an agent to infer usage.

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 schema provides no parameter details. The description lists the three parameters with brief explanations (e.g., 'cluster label or ID'), adding basic semantics beyond the schema. However, it does not clarify the relationship between parameters (e.g., hierarchical structure) or provide examples, leaving gaps in understanding how to use them effectively.

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 detailed information about a specific node.' It specifies the verb ('Get') and resource ('node'), and mentions 'detailed information' to indicate the output type. However, it does not explicitly differentiate from sibling tools like 'get_kubernetes_cluster' or 'list_kubernetes_nodes', which reduces clarity in context.

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 minimal guidance: it mentions 'Smart identifier resolution' for using labels or UUIDs, which hints at parameter usage, but offers no explicit advice on when to use this tool versus alternatives (e.g., 'list_kubernetes_nodes' for multiple nodes or 'get_kubernetes_cluster' for cluster-level details). There are no prerequisites, exclusions, or comparisons to sibling tools.

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

get_kubernetes_node_poolB

Get detailed information about a specific node pool. Smart identifier resolution: use cluster/node pool labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID

Returns: Detailed node pool information

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes

TDQS

B3.3/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 'Smart identifier resolution: use cluster/node pool labels or UUIDs,' which adds useful context about input flexibility. However, it doesn't describe whether this is a read-only operation, what permissions are required, error handling, rate limits, or the format of the returned 'Detailed node pool information.' For a tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and well-structured: a clear purpose statement, a note on identifier resolution, and separate sections for Args and Returns. Each sentence adds value without redundancy. It could be slightly more front-loaded by integrating the identifier resolution into the main statement, but it's efficient overall.

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 (2 required parameters), no annotations, and no output schema, the description is partially complete. It covers the purpose, parameters, and return type broadly, but lacks details on behavioral aspects like safety, permissions, error cases, and the structure of the returned information. This leaves gaps for an AI agent to invoke it correctly in all contexts.

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 schema description coverage is 0%, so the description must compensate. It explicitly lists both parameters ('cluster_identifier' and 'nodepool_identifier') and explains their semantics: 'The cluster label or ID' and 'The node pool label or ID.' This adds meaningful context beyond the bare schema, clarifying that identifiers can be labels or UUIDs. However, it doesn't provide examples or format details, preventing a score of 5.

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 detailed information about a specific node pool.' It specifies the verb ('Get'), resource ('node pool'), and scope ('detailed information about a specific node pool'). However, it doesn't explicitly differentiate from sibling tools like 'get_kubernetes_cluster' or 'list_kubernetes_node_pools', which would be needed for a score of 5.

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 provides implied usage guidance through the phrase 'specific node pool,' suggesting this is for retrieving details of a particular node pool rather than listing multiple pools. However, it lacks explicit guidance on when to use this tool versus alternatives like 'list_kubernetes_node_pools' or 'get_kubernetes_cluster,' and doesn't 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_kubernetes_versionsB

Get list of available Kubernetes versions.

Returns: List of available Kubernetes versions for new clusters

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/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 return type ('List of available Kubernetes versions') but lacks critical behavioral details: whether this requires authentication, if it's rate-limited, how the list is formatted (e.g., sorted, filtered), or if it's a read-only operation. The description is minimal and doesn't 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 brief and front-loaded with the main purpose in the first sentence. The second sentence adds clarifying context ('for new clusters') without redundancy. However, it could be slightly more structured (e.g., bullet points for returns) but remains efficient with minimal waste.

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 simplicity (0 parameters, no annotations, no output schema), the description is somewhat complete but lacks depth. It covers the basic purpose and return context but misses behavioral aspects like authentication needs or rate limits. For a read operation in a complex domain like Kubernetes, more context would be beneficial to ensure safe and correct usage.

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 tool has 0 parameters, and schema description coverage is 100% (empty schema). The description doesn't need to explain any parameters, which is appropriate. It adds no parameter semantics, but with no parameters, this is acceptable, meeting the baseline for this scenario.

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 list of available Kubernetes versions' with the specific verb 'Get' and resource 'Kubernetes versions'. It distinguishes itself from siblings like 'get_kubernetes_cluster' or 'get_kubernetes_available_upgrades' by focusing on versions for new clusters. However, it doesn't explicitly contrast with 'list_available_versions' which might be a more generic sibling.

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 specifying 'for new clusters', suggesting this is for planning or creating clusters rather than checking existing ones. However, it doesn't explicitly state when to use this versus alternatives like 'get_kubernetes_available_upgrades' (for existing clusters) or provide clear exclusions. The guidance is present but not comprehensive.

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

get_last_month_summaryC

Get last month usage and cost summary.

Returns: Last month usage summary with service breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 'Get' implies a read-only operation, the description doesn't address authentication requirements, rate limits, error conditions, or whether the data is real-time or cached. The 'Returns' section adds minimal value by restating the purpose with slightly different wording.

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

Conciseness3/5

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

The description is brief but could be more efficiently structured. The first sentence clearly states the purpose, but the 'Returns:' section is somewhat redundant with the first sentence. The two-sentence structure is acceptable but not optimally front-loaded with the most critical information.

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 no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'service breakdown' means, what format the data returns in, whether authentication is required, or any limitations. Given the complexity of usage and cost data, more context about the output structure and behavioral constraints would be helpful.

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 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and the 'Returns' section provides some context about the output format ('service breakdown'), which adds value beyond the empty 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: 'Get last month usage and cost summary' with the specific resource being 'usage and cost summary' and temporal scope 'last month'. It distinguishes from siblings like 'get_current_month_summary' by specifying the time period, but doesn't explicitly differentiate from similar tools like 'get_monthly_usage_summary' or 'analyze_costs'.

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 siblings like 'get_current_month_summary', 'get_monthly_usage_summary', 'analyze_costs', and 'get_cost_breakdown_by_service', there's no indication of when this specific tool is appropriate versus those other options. The description only states what it does, not when to choose it.

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

get_logical_databaseC

Get information about a logical database.

Args: database_id: The database ID or label db_name: The logical database name

Returns: Logical database information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
db_nameYes

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. The description states it 'Get[s] information' which implies a read-only operation, but it doesn't specify what kind of information is returned, whether authentication is required, if there are rate limits, or what happens if the database doesn't exist. For a read operation 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.

Conciseness4/5

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

The description is appropriately concise with three short sections (purpose, Args, Returns) that are front-loaded. Every sentence serves a purpose: the first states what the tool does, the second lists parameters, and the third indicates the return type. There's no unnecessary verbosity 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 (a read operation with 2 required parameters), lack of annotations, 0% schema description coverage, and no output schema, the description is incomplete. It doesn't explain parameter semantics, return format, error conditions, or behavioral constraints. For a tool that presumably returns structured data about databases, this leaves too many gaps for effective agent 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 schema description coverage is 0%, meaning neither parameter has descriptions in the schema. The description includes an 'Args' section that names the parameters (database_id, db_name) and a 'Returns' section, but it doesn't explain what these parameters mean, their format, whether they're mutually exclusive, or how they work together. This adds minimal value beyond what the bare schema provides, insufficient to compensate for the 0% coverage.

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 'Get information about a logical database' which provides a clear verb ('Get') and resource ('logical database'), establishing the basic purpose. However, it doesn't distinguish this tool from other 'get' tools in the sibling list (like get_domain, get_user, get_plan) beyond specifying the resource type. The purpose is clear but generic without 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, when this tool is appropriate versus other database-related tools (like list_databases or create_logical_database), or any exclusions. The only contextual hint is in the parameter documentation, but this doesn't constitute usage guidance.

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

get_maintenance_updatesC

Get available maintenance updates for a database.

Args: database_id: The database ID or label

Returns: List of available maintenance updates

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 responsibility for behavioral disclosure. While 'Get' implies a read operation, the description doesn't address important behavioral aspects like whether this requires specific permissions, whether results are cached or real-time, if there are rate limits, what happens when no updates are available, or if the operation has side effects. The description provides only basic functional information without 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.

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 separate Args and Returns sections. Each sentence serves a distinct purpose without redundancy. While the formatting with section headers is helpful, the content within each section could be more detailed without sacrificing 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?

For a tool with no annotations, no output schema, and minimal parameter documentation, the description is insufficiently complete. It explains what the tool does at a basic level but doesn't address the return format details (beyond 'List of available maintenance updates'), error conditions, authentication requirements, or how results should be interpreted. Given the complexity of maintenance updates and the lack of structured documentation elsewhere, the description should provide more comprehensive context.

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?

With 0% schema description coverage for the single parameter, the description adds some value by explaining that 'database_id' can be either an ID or label. However, it doesn't provide examples, format requirements, or constraints beyond this basic clarification. The description compensates partially but not fully for the schema's lack of 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 with a specific verb ('Get') and resource ('maintenance updates for a database'), making it immediately understandable. However, it doesn't distinguish this tool from potential siblings like 'list_available_versions' or 'get_kubernetes_available_upgrades' that might serve similar informational purposes for different 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. With many sibling tools available (like 'list_available_versions' or various 'get_' tools for different resources), there's no indication of whether this is the primary way to check maintenance updates or if there are specific prerequisites or contexts where it should be preferred over other informational tools.

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

get_marketplace_app_variablesB

Get configuration variables for a marketplace application.

Args: app_id: The marketplace application name, short_name, or image_id (e.g., "openlitespeed-wordpress")

Returns: Application variables information including: - variables: List of configuration variables - Each variable contains: name, description, required (boolean)

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYes

TDQS

B3.3/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 of behavioral disclosure. It describes a read operation ('Get') and details the return structure, which is helpful. However, it omits critical behavioral traits such as authentication requirements, rate limits, error handling, or whether the data is cached. The description adds value by specifying the output format but falls short of fully compensating for the lack 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 and appropriately sized. It starts with a clear purpose statement, followed by dedicated 'Args' and 'Returns' sections that efficiently document inputs and outputs. Every sentence adds value without redundancy, though the formatting as a multi-line string could be slightly optimized for front-loading.

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 low complexity (1 parameter, no output schema, no annotations), the description is adequate but has gaps. It covers the purpose, parameter semantics, and return structure, which is sufficient for basic use. However, it lacks context on authentication, error cases, or integration with sibling tools, making it incomplete for robust agent operation in a complex environment.

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, but the description compensates by explaining the 'app_id' parameter: 'The marketplace application name, short_name, or image_id (e.g., "openlitespeed-wordpress")'. This adds semantic meaning beyond the schema's type constraint, clarifying acceptable values with an example. Since there's only one parameter, this is sufficient for high utility.

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 configuration variables for a marketplace application.' It specifies the verb ('Get'), resource ('configuration variables'), and scope ('marketplace application'), making the function unambiguous. However, it does not explicitly differentiate from sibling tools like 'get_application' or 'list_marketplace_applications', which might provide related information, 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 lacks context about prerequisites (e.g., needing an existing marketplace app), exclusions (e.g., not for non-marketplace apps), or comparisons with sibling tools like 'get_application' that might retrieve different data. This absence leaves the agent without clear usage direction.

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

get_migration_statusC

Get the status of an ongoing database migration.

Args: database_id: The database ID or label

Returns: Migration status information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 retrieves status information, implying a read-only operation, but doesn't cover critical aspects like error handling (e.g., what happens if the database_id is invalid or no migration exists), performance characteristics, or authentication requirements. This leaves significant gaps for an agent to understand behavior.

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 clearly states the purpose, followed by structured 'Args' and 'Returns' sections. There's no wasted text, though the structure is slightly verbose for such a simple tool. Every sentence earns its place, making it efficient.

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 low complexity (one parameter, no output schema, no annotations), the description is moderately complete. It covers the basic purpose and parameter semantics but lacks usage guidelines and detailed behavioral context. Without annotations or output schema, it should do more to explain what 'Migration status information' includes or potential errors, leaving room for improvement.

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 adds minimal semantics beyond the input schema: it explains that 'database_id' is 'The database ID or label', clarifying it can be either an ID or a label. However, with 0% schema description coverage and only one parameter, this provides some value but doesn't fully compensate for the lack of schema details (e.g., format constraints). The baseline is 3 as it adds basic meaning.

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 with a specific verb ('Get') and resource ('status of an ongoing database migration'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'start_migration' or 'stop_migration' that might be related to the same domain, though the 'get' prefix inherently suggests a read operation.

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., that a migration must be ongoing), exclusions, or related tools like 'start_migration' or 'stop_migration' from the sibling list. Usage is implied only by the name and description, lacking explicit context.

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

get_monthly_usage_summaryC

Get monthly usage and cost summary.

Args: year: Year (e.g., 2024) month: Month (1-12)

Returns: Monthly usage summary with service breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
monthYes

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 'Get' implies a read-only operation, the description doesn't address important behavioral aspects like authentication requirements, rate limits, whether the data is real-time or cached, or what happens with invalid date parameters. The mention of 'service breakdown' in returns hints at output structure but lacks detail.

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 minimal, purposeful sentences. The front-loaded purpose statement is clear, though the parameter documentation could be slightly more integrated rather than in a separate Args section.

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?

For a read-only tool with 2 parameters and no output schema, the description covers the basic purpose and parameters adequately. However, without annotations and with multiple similar sibling tools, it lacks sufficient context about behavioral traits, differentiation from alternatives, and detailed output expectations beyond 'service breakdown'.

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 explicitly documents both parameters (year and month) with examples and constraints (month 1-12), which adds significant value since the schema has 0% description coverage. However, it doesn't explain parameter interactions (e.g., what happens for future months) or edge cases, keeping it at a baseline level of adequacy.

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 the resource 'monthly usage and cost summary', making the purpose specific and understandable. However, it doesn't distinguish this tool from similar sibling tools like 'get_usage', 'get_current_month_summary', or 'get_last_month_summary', which appear to serve related functions.

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 multiple sibling tools that seem related to usage and summaries (e.g., 'get_usage', 'get_current_month_summary', 'get_last_month_summary', 'analyze_costs'), there's no indication of when this specific monthly summary tool is appropriate versus those other options.

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

get_mounting_instructionsA

Get instructions for mounting a block storage volume on Linux.

Smart identifier resolution: Use volume label or ID.

Args: volume_identifier: Volume label or ID

Returns: Step-by-step mounting instructions and commands

ParametersJSON Schema
NameRequiredDescriptionDefault
volume_identifierYes

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?

With no annotations provided, the description carries the full burden. It discloses that the tool provides 'step-by-step mounting instructions and commands,' which is useful behavioral context. However, it doesn't mention potential side effects, permissions needed, rate limits, or error conditions, leaving gaps for a tool that likely interacts with system resources.

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 specific details in bullet-like sections ('Args:', 'Returns:'). Every sentence adds value 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 tool's moderate complexity (single parameter, no annotations, but with an output schema), the description is mostly complete. It covers the purpose, parameter semantics, and return format. The output schema likely details the instructions structure, so the description doesn't need to explain return values further. Minor gaps include lack of error handling or platform-specific notes.

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 significant meaning beyond the input schema, which has 0% coverage. It explains that 'volume_identifier' accepts 'Volume label or ID' and mentions 'Smart identifier resolution,' clarifying the parameter's purpose and usage. With only one parameter, this is sufficient 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.

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 instructions') and resource ('mounting a block storage volume on Linux'), and distinguishes it from siblings by focusing on mounting instructions rather than general volume operations like 'attach' or 'get_volume_status'.

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 'Smart identifier resolution: Use volume label or ID,' suggesting when to use this tool for mounting instructions. However, it lacks explicit guidance on when to choose this over alternatives like 'attach' or 'get_volume_status,' and 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.

get_mount_instructionsA

Get NFS mount instructions for a storage gateway.

Smart identifier resolution: Use gateway label or ID.

Args: gateway_identifier: Gateway label or ID

Returns: NFS mounting instructions and configuration examples

ParametersJSON Schema
NameRequiredDescriptionDefault
gateway_identifierYes

TDQS

A4.2/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 mentions 'Smart identifier resolution' and that the tool returns 'NFS mounting instructions and configuration examples,' which adds some behavioral context. However, it lacks details on permissions needed, error conditions, or rate limits, leaving gaps for a read operation.

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 front-loaded with the core purpose, followed by brief but informative sections on identifier resolution, args, and returns. Every sentence adds value 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 tool's low complexity (1 parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, parameter meaning, and return content. However, it could improve by mentioning any dependencies or typical use cases, such as needing NFS client setup on the user's end.

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 1 parameter with 0% description coverage. The description adds meaningful semantics by explaining 'gateway_identifier: Gateway label or ID,' clarifying what the parameter represents. This compensates well for the low schema coverage, though it could specify format constraints like length or allowed characters.

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: 'Get NFS mount instructions for a storage gateway.' It specifies the verb ('Get'), resource ('NFS mount instructions'), and target ('storage gateway'), which distinguishes it from sibling tools like 'get_gateway_status' or 'optimize_gateway_configuration' that handle different aspects of gateways.

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 provides clear context for usage with 'Smart identifier resolution: Use gateway label or ID,' indicating how to identify the gateway. However, it does not explicitly state when to use this tool versus alternatives or mention any prerequisites, such as requiring the gateway to be configured or accessible.

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

get_network_infoB

Get comprehensive network information for VPC or VPC 2.0.

Smart identifier resolution: Use VPC/VPC 2.0 description or ID.

Args: identifier: VPC/VPC 2.0 description or ID vpc_type: Type to search ("vpc", "vpc2", or "auto" to search both)

Returns: Comprehensive network information with usage recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
vpc_typeNoauto

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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 mentions 'comprehensive network information with usage recommendations,' which adds value by hinting at the output's scope and utility. However, it doesn't disclose critical behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, or error conditions. The description doesn't contradict annotations (none exist), but it's insufficient for a mutation-sensitive 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 and front-loaded: the first sentence states the purpose clearly. Additional sentences provide parameter details and return value context without redundancy. It's appropriately sized for a tool with two parameters, though the 'Smart identifier resolution' note could be integrated more seamlessly.

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 (2 parameters, no annotations, but has an output schema), the description is partially complete. It covers the purpose and parameters adequately, and the output schema likely handles return values. However, without annotations, it lacks behavioral context (e.g., safety, side effects), and sibling differentiation is missing, making it less complete for an AI agent's decision-making.

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 schema provides no parameter details. The description compensates by explaining both parameters: 'identifier' as 'VPC/VPC 2.0 description or ID' and 'vpc_type' with its options ('vpc', 'vpc2', or 'auto'). This adds meaningful semantics beyond the bare schema. However, it doesn't cover parameter constraints, formats, or examples, leaving some 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 comprehensive network information for VPC or VPC 2.0.' It specifies the verb ('Get') and resource ('network information for VPC or VPC 2.0'), making the action and target explicit. However, it doesn't differentiate from sibling tools like 'get_vpc2' or 'list_vpc2', which might provide similar or overlapping functionality.

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 provides some usage context: 'Smart identifier resolution: Use VPC/VPC 2.0 description or ID.' This implies when to use the tool (for retrieving network info) and hints at how to identify resources. However, it lacks explicit guidance on when to use this tool versus alternatives like 'get_vpc2' or 'list_vpc2', and doesn't 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_operating_systemC

Get details of a specific operating system.

Args: os_id: The operating system ID

Returns: Operating system details

ParametersJSON Schema
NameRequiredDescriptionDefault
os_idYes

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 states it's a read operation ('Get details'), which is clear, but lacks critical behavioral details: whether it requires authentication, rate limits, error handling (e.g., invalid ID), or what 'details' include (e.g., OS version, family). For a tool with 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 appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by structured Args and Returns sections. There's no wasted text, though the structure is basic. It could be more polished but efficiently conveys key 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 low complexity (single parameter, read-only operation) and the presence of an output schema (which handles return values), the description is minimally complete. However, with no annotations and low schema coverage, it should provide more behavioral context (e.g., auth needs) to be fully helpful, making it just adequate.

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%, but the description adds minimal value: it states 'os_id: The operating system ID', which clarifies the parameter's purpose beyond the schema's type-only definition. However, it doesn't explain format (e.g., numeric, string pattern) or where to obtain the ID, leaving gaps. With one parameter and low schema coverage, this is baseline adequate.

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 details') and resource ('operating system'), making the purpose understandable. It distinguishes from siblings like 'list_operating_systems' (which lists multiple) and 'get_os_by_name' (which uses name instead of ID). However, it doesn't explicitly mention this distinction, so it's not a perfect 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?

No guidance is provided on when to use this tool versus alternatives. While the description implies it's for retrieving details of a specific OS by ID, it doesn't mention when to choose this over 'get_os_by_name' or 'list_operating_systems', nor does it discuss prerequisites like needing a valid OS ID.

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

get_os_by_nameB

Get operating system by exact name match.

Args: name: Exact OS name to find

Returns: Operating system details

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

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 mentions the 'exact name match' constraint, which is useful, but fails to describe other critical behaviors: whether this is a read-only operation, what happens if no match is found (e.g., returns null or error), authentication requirements, rate limits, or the structure of returned details. For a tool with 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.

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 brief 'Args' and 'Returns' sections. There's no wasted text, and the structure is clear. However, the use of 'Args:' and 'Returns:' headings is slightly redundant with structured fields, though it aids readability.

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 low complexity (1 parameter, no nested objects) and the presence of an output schema (which handles return value documentation), the description is minimally adequate. However, with no annotations and 0% schema description coverage, it should do more to explain behavioral aspects like error handling or usage constraints. The description covers the basics but lacks depth for safe and effective use.

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 adds minimal semantics beyond the input schema: it specifies that the 'name' parameter requires an 'Exact OS name to find.' With 0% schema description coverage (the schema has no descriptions for parameters), this provides some value by clarifying the parameter's purpose and constraint. However, it doesn't explain format expectations (e.g., case sensitivity, examples) or compensate fully for the lack of schema documentation, warranting a baseline score.

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 operating system by exact name match.' It specifies the verb ('Get'), resource ('operating system'), and key constraint ('exact name match'). However, it doesn't explicitly differentiate from sibling tools like 'get_operating_system' or 'search_os_by_name' that might have different matching behavior or scope.

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 'exact name match,' suggesting this tool should be used when the exact OS name is known, as opposed to partial or fuzzy matching. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_os_by_name' or 'get_operating_system,' 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_payment_summaryC

Get payment summary and account status.

Returns: Payment summary with account status

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 full burden. It states this is a 'get' operation which implies read-only, but doesn't disclose any behavioral traits: no mention of authentication requirements, rate limits, whether this returns real-time or cached data, what format the summary comes in, or whether there are any prerequisites. For a financial tool with zero annotation coverage, this is inadequate disclosure.

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

Conciseness3/5

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

The description is brief but inefficiently structured. The first sentence 'Get payment summary and account status' is the core purpose, but the second sentence 'Returns: Payment summary with account status' is redundant - it essentially repeats the first sentence in different wording. This wastes space that could have been used for differentiation or behavioral 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?

For a financial data tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'payment summary' includes, how it differs from other financial tools, what authentication is required, whether this is real-time data, or what format the response takes. Given the complexity of financial data and the lack of structured output information, the description should provide more context about what the agent can expect.

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 tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to explain any parameters, and it correctly doesn't mention any. The baseline for 0 parameters is 4, as there's no parameter information to provide beyond what the schema already indicates (none needed).

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 payment summary and account status' which provides a basic verb+resource combination. However, it doesn't specify what 'payment summary' includes (billing details, outstanding balances, recent transactions) or how it differs from sibling tools like 'get_balance_summary', 'get_current_balance', or 'get_last_month_summary'. The purpose is clear but lacks differentiation 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 multiple financial/tracking tools available (get_balance_summary, get_current_balance, get_last_month_summary, get_monthly_usage_summary, list_billing_history, list_invoices), there's no indication of what makes this tool distinct or when it should be preferred over these alternatives. The agent must guess based on tool names alone.

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

get_planC

Get details of a specific plan.

Args: plan_id: The plan ID

Returns: Plan details

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes

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 states it 'Get details' which implies a read-only operation, but doesn't disclose behavioral traits like authentication requirements, rate limits, error conditions, or what happens if the plan_id is invalid. The description is minimal and lacks context beyond 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 concise with a clear structure: purpose statement followed by Args and Returns sections. It avoids unnecessary words and is front-loaded with the main action. However, the 'Returns' section is vague ('Plan details') 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 tool has 1 parameter, no annotations, and an output schema exists (which should cover return values), the description is minimally complete. It states what the tool does and the parameter, but lacks context on usage, behavior, or error handling. For a simple read tool, this is adequate but has clear gaps in guidance and transparency.

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 adds minimal semantics: it names the parameter 'plan_id' and states it's for identifying the plan, but the input schema has 0% description coverage (no schema descriptions). With 1 parameter and low schema coverage, the description provides basic meaning but doesn't elaborate on format, constraints, or examples. Baseline 3 is appropriate as it compensates slightly for the schema 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 verb 'Get' and resource 'details of a specific plan', making the purpose understandable. It distinguishes from siblings like 'list_plans' (which likely lists multiple plans) by specifying retrieval of a single plan's details. However, it doesn't explicitly mention what 'details' include or differentiate from tools like 'get_plan_by_type_and_spec'.

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. The description implies usage when you need details of a specific plan identified by ID, but it doesn't mention prerequisites, when not to use it, or compare with siblings like 'get_plan_by_type_and_spec' or 'list_plans'. This leaves the agent to infer context.

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

get_plan_by_type_and_specC

Get plans by type and specific vCPU/RAM combination.

Args: plan_type: Plan type (vc2, vhf, voc) vcpus: Number of vCPUs ram_gb: RAM in GB

Returns: List of matching plans

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_typeYes
vcpusYes
ram_gbYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It states it returns a 'List of matching plans' but doesn't disclose behavioral traits like whether it's a read-only operation, if it requires authentication, rate limits, error handling, or what 'matching' entails (exact match vs range). The description is minimal and misses key operational details.

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 with the core purpose. The Args and Returns sections add structure without redundancy. However, the parameter details could be more integrated into the main flow rather than as a separate list.

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 no annotations, 0% schema coverage, and an output schema present (which handles return values), the description is minimally adequate. It covers the basic purpose and parameters but lacks depth on usage, behavior, and parameter constraints, making it incomplete for a tool with three required parameters and no annotation support.

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 lists parameters and adds minimal semantics (e.g., 'Plan type (vc2, vhf, voc)', 'Number of vCPUs', 'RAM in GB'), but doesn't explain constraints, valid ranges, or interactions. This partially compensates but leaves gaps, such as whether vcpus/ram_gb must be exact values from a catalog.

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 'plans', specifying filtering by 'type and specific vCPU/RAM combination'. It distinguishes from generic list_plans tools by its filtering criteria, though it doesn't explicitly differentiate from similar tools like search_plans_by_specs or compare_plans among siblings.

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 on when to use this tool versus alternatives like search_plans_by_specs, compare_plans, or list_plans. The description implies usage for matching plans based on exact vCPU/RAM values, but lacks explicit context, 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_plans_by_region_availabilityB

Get plans available in a specific region.

Args: region: Region code (e.g., 'ewr', 'lax')

Returns: List of plans available in the specified region

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. It describes a read operation ('Get') but doesn't disclose behavioral traits such as whether it requires authentication, rate limits, error handling, or pagination. The description is too basic for a tool that likely interacts with a cloud service API.

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 concise. It starts with a clear purpose statement, followed by 'Args:' and 'Returns:' sections that efficiently document parameters and output. Every sentence earns its place, with no wasted words.

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 (1 parameter, no annotations, but with an output schema), the description is adequate but has gaps. It explains the parameter well and notes the return type, but lacks behavioral context (e.g., auth, errors). The output schema likely covers return values, so the description doesn't need to detail them, but overall it's minimally viable.

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 significant value beyond the input schema. The schema has 0% description coverage and only defines 'region' as a string. The description provides semantics: 'Region code (e.g., 'ewr', 'lax')', clarifying the format and giving examples. This compensates well for the schema's lack of detail.

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 plans available in a specific region.' It specifies the verb ('Get') and resource ('plans'), and includes the scope ('in a specific region'). However, it doesn't explicitly differentiate from sibling tools like 'find_regions_with_plan' or 'compare_plans', 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 minimal guidance: it states the tool is for getting plans by region. It doesn't explain when to use this tool versus alternatives like 'list_plans', 'find_regions_with_plan', or 'compare_plans', nor does it mention any prerequisites or exclusions. This lack of comparative context limits its usefulness.

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

get_recordC

Get details for a specific DNS record.

Args: domain: The domain name record_id: The record ID to get details for

Returns: DNS record details

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
record_idYes

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 that it 'Returns DNS record details', which implies a read-only operation, but doesn't specify permissions required, error conditions, or response format beyond the output schema. This leaves significant gaps for a tool with 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.

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 Args and Returns sections. It avoids unnecessary words, though the 'Args' and 'Returns' labels are somewhat redundant given the structured schema, but they enhance readability without excessive length.

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 2 parameters with 0% schema coverage and an output schema present, the description adds basic parameter semantics but lacks behavioral details like permissions or error handling. It's minimally adequate for a simple read tool, but with no annotations, it should do more to compensate for the schema 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?

Schema description coverage is 0%, so the description must compensate. It lists both parameters ('domain' and 'record_id') with brief explanations, adding meaning beyond the bare schema. However, it doesn't detail format constraints (e.g., domain syntax, record_id format) or examples, providing only basic semantic 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 'Get' and resource 'details for a specific DNS record', making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'list_records' or 'get_domain', which might retrieve related information, 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?

No guidance is provided on when to use this tool versus alternatives such as 'list_records' for multiple records or 'get_domain' for domain-level details. The description only states what it does, not when it's appropriate, leaving usage context unclear.

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

get_registry_infoA

Get comprehensive registry information including usage and configuration.

Smart identifier resolution: Use registry name or ID.

Args: registry_identifier: Registry name or ID

Returns: Complete registry information with usage statistics and endpoints

ParametersJSON Schema
NameRequiredDescriptionDefault
registry_identifierYes

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 that the tool retrieves 'comprehensive registry information' with 'usage statistics and endpoints', which gives some behavioral context about the return data. However, it doesn't mention whether this is a read-only operation (implied by 'Get'), potential rate limits, authentication requirements, or error conditions. The description adds value but doesn't fully compensate for the lack 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, parameter guidance, and return information in three distinct parts. It's appropriately sized for a single-parameter tool, with no redundant sentences. However, the 'Args:' and 'Returns:' labels are slightly verbose compared to integrating this information more seamlessly, and the sibling context isn't leveraged.

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 low complexity (single parameter, read operation), the description is reasonably complete. It explains the parameter semantics (compensating for 0% schema coverage), outlines the return data, and has an output schema (which handles return values). The main gap is the lack of behavioral context like rate limits or auth needs, but for a simple lookup tool, this is less critical.

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 schema description coverage is 0%, so the description must compensate. It explicitly documents the single parameter 'registry_identifier' in the 'Args:' section, explaining it accepts 'Registry name or ID' and providing the 'Smart identifier resolution' context. This adds significant meaning beyond the bare schema, covering the parameter's purpose and acceptable values. With only one parameter, this is nearly complete.

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 with the verb 'Get' and resource 'comprehensive registry information including usage and configuration'. It specifies what information is retrieved, distinguishing it from other 'get' tools that focus on different resources like accounts, applications, or plans. However, it doesn't explicitly differentiate from potential sibling tools with similar registry-related functions (though none are listed among siblings).

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 provides implied usage context through 'Smart identifier resolution: Use registry name or ID', suggesting when to use this tool (for registry lookup by identifier). However, it lacks explicit guidance on when to use this versus alternatives (e.g., other 'get' tools for different resources), prerequisites, or exclusions. The sibling tools list includes many 'get_' tools, but no direct registry-specific alternatives are mentioned.

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

get_ruleC

Get information about a specific firewall rule.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) firewall_rule_id: The firewall rule ID

Returns: Firewall rule information

ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes
firewall_rule_idYes

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 states this is a read operation ('Get information'), which implies it's non-destructive, but doesn't disclose any behavioral traits like authentication requirements, rate limits, error conditions, or what happens if the rule doesn't exist. The description is minimal and lacks important 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 efficiently structured with a clear purpose statement followed by Args and Returns sections. Every sentence serves a purpose, though the 'Returns' section is somewhat redundant given the existence of an output schema. The formatting helps readability.

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?

For a read operation with 2 parameters and an output schema, the description provides basic purpose and parameter context but lacks important operational guidance. With no annotations and minimal behavioral disclosure, it's adequate but leaves gaps in understanding authentication, error handling, and differentiation from similar tools.

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?

With 0% schema description coverage for both parameters, the description adds some value by explaining that 'firewall_group_id' can be either an ID or description (e.g., 'web-servers' or UUID) and that 'firewall_rule_id' is the rule ID. However, it doesn't fully compensate for the schema gap - it doesn't explain format constraints, validation rules, or provide examples beyond the brief mention.

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 with a specific verb ('Get information') and resource ('about a specific firewall rule'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'list_firewall_rules' or 'get_firewall_rule' (which appears to be a duplicate), leaving some ambiguity about when to use this exact tool.

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 'list_firewall_rules' available, there's no indication whether this is for retrieving a single rule by ID versus listing multiple rules, nor any prerequisites or context for usage.

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

get_s3_configA

Get S3-compatible configuration details for an Object Storage instance.

Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)

Returns: S3 configuration details including: - endpoint: S3-compatible endpoint URL - access_key: S3 access key - secret_key: S3 secret key - region: Storage region - bucket_examples: Example bucket operations

ParametersJSON Schema
NameRequiredDescriptionDefault
object_storage_idYes

TDQS

A3.5/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 implies a read-only operation ('Get') and specifies what information is returned, which is helpful. However, it doesn't mention authentication requirements, rate limits, error conditions, or whether the operation is idempotent, leaving gaps for a tool that handles sensitive credentials like access keys.

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, an 'Args' section for parameters, and a 'Returns' section for output details. It's appropriately sized and front-loaded, though the 'Returns' section could be slightly more concise by listing items without bullet points.

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 no annotations and no output schema, the description does a decent job covering the tool's purpose, parameter, and return values. However, for a tool that returns sensitive S3 credentials, it lacks details on security implications (e.g., whether secret_key is masked), error handling, or usage constraints, making it incomplete for safe operation.

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 schema description coverage is 0%, so the description must fully compensate. It explicitly documents the single parameter 'object_storage_id' with clear semantics (ID or label) and provides examples ('my-storage', 'backup-bucket', UUID), adding significant value beyond the bare schema. This fully addresses the parameter documentation 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 with a specific verb ('Get') and resource ('S3-compatible configuration details for an Object Storage instance'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'validate_s3_access' or 'get_storage_summary', which might have overlapping functionality.

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 for usage, or compare it to sibling tools like 'validate_s3_access' or 'get_storage_summary', 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.

get_serverless_inferenceB

Get detailed information about a specific inference subscription.

Args: subscription_id: The inference subscription ID or label (e.g., "my-ai-model", or UUID)

Returns: Detailed inference subscription information including API key and metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

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. It mentions the tool retrieves 'detailed information' including 'API key and metadata', which hints at a read-only operation, but doesn't disclose critical behavioral traits like authentication requirements, rate limits, error conditions, or whether the API key is sensitive data. The description is insufficient for a mutation-free tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded, with the core purpose stated first, followed by structured 'Args' and 'Returns' sections. Every sentence adds value, though the 'Args' section could be more integrated into the flow rather than a separate block.

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 low complexity (1 parameter, no output schema, no annotations), the description is moderately complete. It covers the purpose and parameter semantics adequately but lacks behavioral context (e.g., security, errors) and doesn't fully explain the return value beyond 'detailed information'. For a simple read tool, this is minimal but viable.

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 significant value beyond the input schema, which has 0% description coverage. It explains that 'subscription_id' can be either an ID or label (e.g., 'my-ai-model' or UUID), clarifying the parameter's semantics and format. This compensates well for the schema's lack of documentation, though it doesn't detail validation rules or examples beyond the brief mention.

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 with a specific verb ('Get detailed information') and resource ('a specific inference subscription'). It distinguishes from siblings like 'list_serverless_inference' by focusing on a single subscription rather than listing multiple, but doesn't explicitly differentiate from other 'get_' tools that might retrieve different types of information.

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 an existing subscription), exclusions, or comparisons with sibling tools like 'list_serverless_inference' or 'analyze_inference_usage', leaving the agent to infer usage context.

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

get_startup_scriptA

Get details of a specific startup script. Smart identifier resolution: use script name or UUID.

Args: script_identifier: The startup script name or ID

Returns: Startup script details

ParametersJSON Schema
NameRequiredDescriptionDefault
script_identifierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 adds some behavioral context: 'smart identifier resolution' indicates flexibility in input (name or UUID), which is useful beyond the basic schema. However, it doesn't disclose other traits like error handling, permissions required, rate limits, or whether it's a read-only operation (though 'Get' implies safety). The description compensates partially but leaves gaps for a tool with no 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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by a brief note on identifier resolution and a clear breakdown of args and returns. 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 low complexity (one parameter), no annotations, and the presence of an output schema (which handles return values), the description is mostly complete. It covers purpose, parameter semantics, and hints at behavior. However, it could improve by explicitly stating it's a read-only operation or mentioning any limitations, but the output schema reduces the need for extensive return value explanation.

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 significant meaning beyond the input schema, which has 0% description coverage. It explains that 'script_identifier' accepts 'script name or UUID' and clarifies it's for 'smart identifier resolution', providing context not in the schema. With only one parameter, this effectively documents its semantics, compensating well 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: 'Get details of a specific startup script.' It specifies the verb ('Get details') and resource ('startup script'), making it distinct from sibling tools like 'list_startup_scripts' or 'create_startup_script'. However, it doesn't explicitly differentiate from 'get_startup_script_content', which might retrieve script content rather than metadata, leaving some ambiguity.

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 mentioning 'specific startup script' and 'smart identifier resolution', suggesting it's for retrieving details of a known script rather than listing all scripts. However, it lacks explicit guidance on when to use this versus alternatives like 'list_startup_scripts' or 'search_startup_scripts', and doesn't mention prerequisites or exclusions, relying on implied context.

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

get_startup_script_contentB

Get the content of a startup script. Smart identifier resolution: use script name or UUID.

Args: script_identifier: The startup script name or ID

Returns: Script content

ParametersJSON Schema
NameRequiredDescriptionDefault
script_identifierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 'Smart identifier resolution' and the return type ('Script content'), which adds some context. However, it fails to address critical aspects such as whether this is a read-only operation, potential error conditions (e.g., if the script doesn't exist), authentication requirements, or rate limits, making it insufficient for a mutation-like 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 concise and well-structured, with a clear purpose statement followed by 'Args:' and 'Returns:' sections. Each sentence serves a purpose, and there's no wasted text. However, it could be slightly more front-loaded by integrating the smart resolution note into the main sentence for better flow.

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 (simple read operation), no annotations, and an output schema present (which handles return values), the description is moderately complete. It covers the purpose and parameter semantics but lacks behavioral details like error handling or permissions. With the output schema, it doesn't need to explain returns, but overall gaps in transparency keep it from being fully adequate.

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 schema description coverage is 0%, but the description compensates by explaining the parameter 'script_identifier' as 'The startup script name or ID' and noting 'Smart identifier resolution.' This adds meaningful semantics beyond the basic schema, clarifying that both name and UUID are acceptable. With only one parameter, this is adequate, though 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: 'Get the content of a startup script.' It specifies the verb ('Get') and resource ('startup script content'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'get_startup_script' or 'search_startup_scripts', which might have overlapping functions, so it doesn't reach 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 Guidelines3/5

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

The description provides some implied usage guidance with 'Smart identifier resolution: use script name or UUID,' suggesting when to use this tool for retrieving content. However, it lacks explicit instructions on when to choose this over alternatives like 'get_startup_script' or 'list_startup_scripts,' and doesn't mention any exclusions or prerequisites, leaving room for ambiguity.

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

get_status_overviewB

Get an overview of all subaccount statuses and key metrics.

Returns: Comprehensive overview of subaccount health and status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 for behavioral disclosure. While it mentions the tool returns a 'comprehensive overview', it doesn't specify whether this is a read-only operation, what permissions might be required, whether it's cached or real-time data, or any rate limits. For a status overview 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.

Conciseness4/5

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

The description is appropriately concise with two sentences that directly address purpose and return value. The first sentence clearly states what the tool does, and the second provides additional context about the return format. There's no wasted verbiage 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?

For a tool with no annotations and no output schema, the description is insufficiently complete. While it mentions the tool returns a 'comprehensive overview', it doesn't describe what specific metrics or status indicators are included, the format of the response, or whether this aggregates data from multiple sources. Given the complexity implied by 'all subaccount statuses and key metrics', more detail would be helpful for the agent.

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 tool has zero parameters with 100% schema description coverage, so the schema already fully documents the input requirements. The description appropriately doesn't waste space discussing non-existent parameters, earning a strong baseline score. No additional parameter semantics are needed or provided.

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 with specific verbs ('Get an overview') and resources ('subaccount statuses and key metrics'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_account_info' or 'get_health_status' that might provide related information, preventing 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 like 'get_account_info', 'get_health_status', and 'get_balance_summary' that might overlap in providing status or metric information, the agent receives no explicit or implicit direction about appropriate usage contexts or exclusions.

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

get_storage_summaryB

Get a summary of all Object Storage instances.

Returns: Summary information including: - total_instances: Total number of Object Storage instances - regions: List of regions with storage counts - status_breakdown: Count by status - cluster_usage: Count by cluster

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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. It mentions the tool returns summary information with specific fields, which is helpful, but doesn't disclose behavioral traits like whether it's read-only, requires authentication, has rate limits, or how data is aggregated. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operation.

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 front-loaded with the core purpose in the first sentence, followed by a bulleted list of return details. Every sentence earns its place by clarifying what the summary includes, with no wasted words. It's appropriately sized for a simple 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's low complexity (0 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It explains what the tool does and what it returns, but without annotations or output schema, it lacks details on behavioral traits and exact return format. This makes it minimally viable but not fully complete for an agent to use confidently.

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 parameters with 100% coverage, so the schema fully documents that no inputs are required. The description doesn't add parameter information, which is appropriate here. A baseline of 4 is applied since no parameters exist, and the description doesn't need to compensate for any 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 a summary of all Object Storage instances.' It specifies the verb ('Get') and resource ('Object Storage instances'), and provides details about what the summary includes. However, it doesn't explicitly differentiate from sibling tools like 'get_bare_metal_server_summary' or 'get_cdn_zone_summary', which follow a similar pattern for other 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. It doesn't mention prerequisites, timing, or compare it to other summary tools (e.g., 'get_bare_metal_server_summary') or list tools (e.g., 'list'). Usage is implied by the name and description but not explicitly stated.

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

get_usageC

Get database usage statistics (CPU, memory, disk).

Args: database_id: The database ID or label (e.g., "my-mysql-db" or UUID)

Returns: Usage information including CPU, memory, and disk statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 retrieves statistics, implying a read-only operation, but doesn't disclose behavioral traits such as required permissions, rate limits, data freshness, or error conditions. This leaves significant gaps for a tool that interacts with database resources.

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, with the main purpose stated first, followed by structured sections for args and returns. Each sentence adds value without redundancy, though the returns section could be slightly more detailed given the lack of output schema.

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 (single parameter, no annotations, no output schema), the description is minimally adequate. It covers the purpose and parameter semantics but lacks behavioral transparency and usage guidelines, leaving gaps in understanding how to effectively use the tool in context with siblings.

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 adds meaning by explaining that 'database_id' can be an ID or label with examples ('my-mysql-db' or UUID), which clarifies beyond the schema's basic string type. However, with 0% schema description coverage and only one parameter, this provides moderate value but doesn't fully compensate for the lack of schema details like format constraints.

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 with a specific verb ('Get') and resource ('database usage statistics'), specifying the metrics (CPU, memory, disk). It distinguishes from many sibling tools by focusing on usage statistics, though it doesn't explicitly differentiate from similar monitoring tools like 'monitor_usage' or 'get_inference_usage'.

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 is provided. The description mentions what it returns but doesn't specify prerequisites, appropriate contexts, or exclusions. Sibling tools like 'monitor_usage' or 'get_inference_usage' suggest potential overlaps without clarification.

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

get_userC

Get information about a specific database user.

Args: database_id: The database ID or label username: The username to get information for

Returns: User information including permissions

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
usernameYes

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 retrieves information, implying a read-only operation, but fails to mention critical details like authentication requirements, rate limits, error conditions (e.g., invalid database_id), or whether the operation is idempotent. For a tool with zero 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 well-structured and front-loaded, with the core purpose stated first, followed by parameter and return value sections. It avoids unnecessary verbosity. However, the 'Args' and 'Returns' labels are slightly redundant given the structured schema, and the return description could be more specific, preventing a perfect score.

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 (2 required parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameters but lacks details on usage context, behavioral traits, error handling, and output structure. Without annotations or an output schema, the agent must infer missing information, making this description incomplete for reliable tool invocation.

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 schema description coverage is 0%, so the description must compensate. It lists the parameters ('database_id' and 'username') and briefly explains their purpose ('The database ID or label' and 'The username to get information for'), adding basic semantics beyond the bare schema. However, it lacks details on parameter formats (e.g., string constraints, examples) or interdependencies, leaving room for ambiguity. This meets the baseline for partial compensation 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 information about a specific database user.' It specifies the verb ('Get') and resource ('database user'), making the intent unambiguous. However, it does not explicitly differentiate from sibling tools like 'list_users' or 'analyze_user_permissions', which reduces the score from a perfect 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 lacks any mention of prerequisites, such as requiring a specific database ID or username format, or comparisons to siblings like 'list_users' for broader queries or 'analyze_user_permissions' for detailed analysis. This omission 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.

get_volume_statusA

Get comprehensive status information for a block storage volume.

Smart identifier resolution: Use volume label or ID.

Args: volume_identifier: Volume label or ID

Returns: Detailed status including attachment, usage, and cost information

ParametersJSON Schema
NameRequiredDescriptionDefault
volume_identifierYes

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 carries full burden. It discloses that the tool returns 'detailed status including attachment, usage, and cost information', which adds behavioral context beyond basic retrieval. However, it doesn't mention permissions, rate limits, or error conditions, leaving gaps for a tool with 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 efficiently structured with a clear purpose statement, parameter guidance, and return information in three concise sentences. Each sentence adds value without redundancy, 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.

Completeness4/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 handles return values), no annotations, and a simple single parameter, the description provides adequate context: purpose, parameter semantics, and return content overview. It could improve by addressing permissions or error handling, but for a read-only status tool, it's largely 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?

Schema description coverage is 0%, but the description compensates by explaining the 'volume_identifier' parameter as 'Volume label or ID' and noting 'Smart identifier resolution'. This adds meaningful semantics beyond the bare schema, clarifying acceptable input formats. With only one parameter, this is sufficient for a high 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 verb ('Get') and resource ('comprehensive status information for a block storage volume'), making the purpose specific and unambiguous. It distinguishes from sibling tools by focusing on volume status retrieval rather than creation, deletion, or other operations listed among siblings.

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 retrieving status information about a volume, but provides no explicit guidance on when to use this tool versus alternatives (e.g., 'get' or 'list' tools for volumes). It mentions 'smart identifier resolution' which hints at context, but lacks clear when/when-not rules or named alternatives.

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

get_vpc2A

Get detailed information about a specific VPC 2.0.

Smart identifier resolution: Use VPC 2.0 description or ID.

Args: vpc2_identifier: VPC 2.0 description or ID to retrieve

Returns: Detailed VPC 2.0 information including IP block configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
vpc2_identifierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 full burden. It discloses that the tool retrieves 'detailed information' and supports 'Smart identifier resolution' (accepting either description or ID), which adds useful behavioral context beyond a basic read operation. However, it doesn't mention potential errors (e.g., if the VPC doesn't exist), authentication needs, rate limits, or whether it's idempotent. The description doesn't contradict any annotations (none exist).

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: the first sentence states the core purpose, followed by a key behavioral note ('Smart identifier resolution'), then explicitly lists args and returns. Each sentence adds value with zero waste. The bullet-like formatting for Args and Returns enhances readability without 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 low complexity (single parameter, read-only operation) and the presence of an output schema (which handles return value details), the description is reasonably complete. It covers purpose, parameter semantics, and return content at a high level. However, for a tool with no annotations, it could benefit from more behavioral context like error handling or security requirements to be fully 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 input schema has 1 parameter with 0% description coverage. The description compensates by explaining 'vpc2_identifier: VPC 2.0 description or ID to retrieve,' adding semantic meaning that the schema lacks. It clarifies the parameter accepts either a description or ID, which is valuable for usage. However, it doesn't detail format constraints (e.g., ID syntax or description matching rules).

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 as 'Get detailed information about a specific VPC 2.0' with a specific verb ('Get') and resource ('VPC 2.0'). It distinguishes from siblings like 'list_vpc2' (which lists multiple VPCs) and 'create_vpc2'/'delete_vpc2' (which are write operations). However, it doesn't explicitly contrast with other get_* tools that retrieve different resources.

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 'Smart identifier resolution: Use VPC 2.0 description or ID,' suggesting this tool is for retrieving a single VPC when you have its identifier. However, it doesn't explicitly state when to use this versus alternatives like 'list_vpc2' for browsing or other get_* tools for different resources. No exclusions or prerequisites are mentioned.

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

import_zone_fileA

Import DNS records from zone file format.

Args: domain: The domain name to import records to zone_data: DNS zone file content as string dry_run: If True, only validate and return what would be created without making changes

Returns: List of created records or validation results

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
zone_dataYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 that the tool can perform a dry run for validation, which is useful behavioral context. However, it doesn't mention critical details like required permissions, rate limits, error handling, or whether the import overwrites existing records, leaving significant gaps for a mutation 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 with a clear purpose statement followed by 'Args' and 'Returns' sections. It's appropriately sized with no wasted sentences, though the 'Args' section could be integrated more seamlessly into the flow rather than as a separate block.

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?

For a mutation tool with no annotations and 3 parameters, the description is moderately complete. It explains parameters and mentions dry-run behavior, but lacks details on permissions, side effects, error cases, and the output schema's structure. The presence of an output schema helps, but more behavioral context is needed for full adequacy.

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%, but the description compensates by explaining all three parameters in the 'Args' section: 'domain' (target domain), 'zone_data' (DNS zone file content as string), and 'dry_run' (validation mode). This adds meaningful semantics beyond the bare schema, though it could provide more detail on zone file format expectations.

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: 'Import DNS records from zone file format.' It specifies the verb ('import'), resource ('DNS records'), and format ('zone file'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'create_record' or 'export_zone_file', 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 Guidelines3/5

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

The description implies usage through the 'dry_run' parameter explanation ('only validate and return what would be created without making changes'), suggesting it's for bulk DNS record creation with validation. However, it lacks explicit guidance on when to use this tool versus alternatives like 'create_record' or 'update_record', and doesn't 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.

listA

List all users in your Vultr account.

Returns: List of user objects with details including: - id: User ID (UUID) - email: User email address - first_name: User's first name - last_name: User's last name - name: User's full name (deprecated, use first_name + last_name) - api_enabled: Whether API access is enabled - service_user: Whether this is a service user (API-only) - acls: List of permissions granted to the user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden for behavioral disclosure. It clearly indicates this is a read operation (listing users) and provides detailed return value information, which is helpful. However, it doesn't mention pagination behavior, rate limits, authentication requirements, or whether the list is filtered/sorted, leaving some behavioral aspects unspecified.

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 detailed return value documentation. Every sentence adds value, though the return value section could be slightly more concise by omitting deprecated fields or grouping related information. Overall, it's well-organized and appropriately sized.

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?

For a simple listing tool with 0 parameters and an output schema (implied by the detailed return documentation), the description is quite complete. It provides the core purpose and comprehensive return value details. The main gap is lack of behavioral context like pagination or rate limits, but given the tool's simplicity and the presence of return documentation, it's mostly adequate.

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 parameters with 100% description coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the return values. This meets expectations for a parameterless tool, though it doesn't explicitly state there are no 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 specific action ('List all users') and resource ('in your Vultr account'), providing a complete purpose statement. It distinguishes itself from sibling tools like 'get_user' (which retrieves a single user) and 'create_user' (which creates new users), establishing its unique role as a comprehensive listing operation.

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 when needing a complete list of users, but doesn't explicitly state when to use this tool versus alternatives like 'find_by_email' or 'find_by_name' for specific user lookups. There's no guidance on prerequisites, rate limits, or access requirements, leaving usage context somewhat incomplete.

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

list_application_categoriesB

List applications grouped by categories/vendors.

Returns: Dictionary with vendors as keys and their applications as values

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 full burden. It mentions the return format ('Dictionary with vendors as keys and their applications as values'), which is helpful, but lacks details on permissions, rate limits, pagination, or error handling. For a read-only list 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.

Conciseness4/5

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

The description is two sentences with zero waste: the first states the purpose, and the second specifies the return format. It's appropriately sized and front-loaded, though it could be slightly more structured with bullet points for the return format.

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 low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the purpose and return format, but lacks behavioral context like permissions or error handling, which is a gap for a tool with no annotations.

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 tool has 0 parameters with 100% schema description coverage, so no parameter information is needed. The description doesn't add param details, which is appropriate, but it does clarify the output structure, providing value beyond the empty input 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 action ('List applications grouped by categories/vendors') and specifies the resource ('applications'), which distinguishes it from generic list tools. However, it doesn't explicitly differentiate from sibling tools like 'list_applications' or 'get_applications_by_vendor', which might offer similar functionality.

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 'list_applications' or 'get_applications_by_vendor'. The description only states what it does, not when it's appropriate or what context triggers its use.

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

list_application_imagesB

List application images (one-click apps).

Returns: List of application images

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 return type ('List of application images'), which adds some value, but fails to describe critical traits such as whether this is a read-only operation, if it requires authentication, rate limits, or pagination behavior. For a list tool with zero 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.

Conciseness3/5

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

The description is brief with two sentences, but the second sentence ('Returns: List of application images') is redundant since an output schema exists. This wastes space without adding value, reducing efficiency. However, it is front-loaded with the core purpose.

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 low complexity (0 parameters, output schema provided), the description is minimally adequate. It states the purpose but lacks behavioral context and usage guidelines. With no annotations and an output schema, it should ideally include more about operational traits 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?

The input schema has 0 parameters with 100% coverage, so no parameter information is needed. The description does not add parameter details, which is appropriate, earning a baseline score of 4 as it doesn't need to compensate for any 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 verb ('List') and resource ('application images (one-click apps)'), making the purpose specific and understandable. It distinguishes from siblings by focusing on a specific type of images, though it doesn't explicitly differentiate from similar tools like 'list_oneclick_applications' or 'list_applications'.

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, leaving the agent without usage instructions. Sibling tools like 'list_oneclick_applications' suggest potential alternatives, but this is not addressed.

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

list_applicationsB

List all available applications (marketplace and one-click).

Args: app_type: Optional filter by type ('marketplace', 'one-click', or None for all)

Returns: List of application objects with details including: - id: Application ID - name: Application name - short_name: Short name for URL/API use - deploy_name: Full deployment name - type: Type (marketplace or one-click) - vendor: Vendor name - image_id: Image ID (for marketplace apps)

ParametersJSON Schema
NameRequiredDescriptionDefault
app_typeNo

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 the full burden. It states this is a list operation, implying read-only behavior, but does not disclose any behavioral traits such as pagination, rate limits, authentication needs, or error handling. The description adds minimal value 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 appropriately sized and front-loaded, starting with the core purpose. The Args and Returns sections are structured clearly, but the return details are somewhat verbose; every sentence earns its place by documenting key fields, though it could be more streamlined.

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 low complexity (1 optional parameter) and no output schema, the description is moderately complete. It covers the purpose and parameter semantics adequately but lacks usage guidelines and behavioral transparency, which are gaps for a tool with no annotations to rely on.

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 schema has 1 parameter with 0% description coverage. The description compensates by explaining the 'app_type' parameter, including its optional nature and valid values ('marketplace', 'one-click', or None). This adds significant meaning beyond the bare schema, though it could detail default behavior more explicitly.

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 verb 'List' and the resource 'all available applications', specifying the scope as 'marketplace and one-click'. It distinguishes from siblings like 'list_marketplace_applications' and 'list_oneclick_applications' by indicating it can return both types, making the purpose specific and differentiated.

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 mentions an optional filter by type but does not specify scenarios for using this filter or compare it to sibling tools like 'search_applications', leaving the agent with no usage context.

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

list_attachedB

List all attached block storage volumes with instance information.

Returns: List of volumes that are currently attached to instances

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 the return format ('List of volumes') but lacks details on pagination, rate limits, authentication requirements, or error conditions. The description is minimal and doesn't adequately cover behavioral traits for a read 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 brief and front-loaded with the main purpose in the first sentence. The second sentence adds clarification about the return value. Both sentences are relevant, though the structure could be slightly improved by integrating the return information more seamlessly.

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 no parameters, an output schema exists, and it's a read operation, the description is minimally adequate. However, it lacks context about filtering options, pagination, or how it differs from similar tools, which would be helpful for an agent to use it correctly in a broader context.

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 tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's purpose and output. A baseline of 4 is applied since no parameters exist.

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 verb ('List') and resource ('all attached block storage volumes with instance information'), specifying both what is listed and what information is included. It distinguishes from sibling tools like 'list_unattached' by focusing on attached volumes only.

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 'list_unattached' or other volume-related tools. It states what it does but offers no context about appropriate use cases or prerequisites.

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

list_available_permissionsB

List all available permissions that can be granted to users.

Returns: Dictionary of available permissions with descriptions and risk levels

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 mentions the return format ('Dictionary of available permissions with descriptions and risk levels'), which is helpful. However, it doesn't cover critical aspects like whether this is a read-only operation, if it requires specific permissions, rate limits, or error conditions. For a tool with zero 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.

Conciseness4/5

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

The description is concise and well-structured with two sentences: one stating the purpose and another describing the return format. It's front-loaded with the main action and avoids unnecessary details. However, it could be slightly more efficient by combining the sentences, but it's still highly effective.

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 0 parameters, no annotations, and no output schema, the description does an adequate job by explaining the purpose and return format. However, it lacks details on behavioral aspects like permissions needed or operational constraints. For a simple list tool, this is minimally viable but leaves room for improvement in completeness.

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 tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately focuses on the tool's purpose and output. A baseline of 4 is applied since no parameters exist, and the description doesn't attempt to explain non-existent parameters.

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: 'List all available permissions that can be granted to users.' It specifies the verb ('List') and resource ('available permissions'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'analyze_user_permissions' or 'setup_permissions', 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, timing, or how it differs from related tools such as 'analyze_user_permissions' or 'setup_permissions'. This lack of context leaves the agent without clear usage instructions.

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

list_available_versionsC

List available versions for database engine upgrades.

Args: database_id: The database ID or label

Returns: List of available versions for upgrade

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 this is a list operation (implying read-only), but doesn't mention whether it requires specific permissions, has rate limits, returns paginated results, or what format the version list takes. The description provides basic intent but lacks operational details needed for safe invocation.

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 Args and Returns sections. Each sentence serves a distinct purpose. However, the 'Returns' section could be more specific about the list format rather than just stating 'List of available versions for upgrade.'

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 no annotations, 0% schema description coverage, and no output schema, the description is insufficient. It covers basic purpose and parameter identity but lacks critical details about authentication requirements, error conditions, response format, pagination, and how the version information should be interpreted for upgrade decisions.

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 mentions the single parameter ('database_id: The database ID or label'), which matches the input schema. With 0% schema description coverage, this adds some value by clarifying the parameter accepts either ID or label. However, it doesn't explain format expectations, validation rules, or provide examples, leaving significant gaps in parameter understanding.

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 with a specific verb ('List') and resource ('available versions for database engine upgrades'). It distinguishes this as a version listing tool rather than a general database information tool. However, it doesn't explicitly differentiate from potential sibling tools like 'get_kubernetes_available_upgrades' or other upgrade-related 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 minimal usage guidance. It mentions the tool is for listing upgrade versions, but doesn't specify when to use it versus alternatives like checking current versions or initiating upgrades. No prerequisites, exclusions, or comparison to sibling tools are provided.

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

list_backupsC

List available backups for a managed database.

Args: database_id: The database ID or label

Returns: List of available backups with timestamps and sizes

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 lists backups, implying a read-only operation, but doesn't cover critical aspects like authentication requirements, rate limits, pagination behavior, or error conditions. For a tool with zero 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 well-structured and concise, with a clear purpose statement followed by separate 'Args' and 'Returns' sections. It avoids unnecessary verbosity, though the 'Returns' section could be more detailed, slightly affecting 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 tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameters but lacks details on usage context, behavioral traits, and output specifics, making it incomplete for optimal agent guidance.

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 includes an 'Args' section that explains the 'database_id' parameter as 'The database ID or label,' adding semantic meaning beyond the schema (which has 0% description coverage). However, it doesn't elaborate on format, examples, or constraints, and with only one parameter, the baseline is 4, but the minimal explanation reduces it to 3.

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: 'List available backups for a managed database.' It specifies the verb ('List') and resource ('backups for a managed database'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'restore_from_backup' or other list operations, 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, such as needing a specific database state or permissions, or contrast it with other backup-related tools like 'restore_from_backup' or general list tools. This leaves the agent without contextual usage cues.

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

list_bare_metal_plansC

List available bare metal plans.

Args: plan_type: Optional plan type filter

Returns: List of bare metal plans

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_typeNo

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 lists plans and returns a list, but lacks critical details: it doesn't specify if this is a read-only operation, whether it requires authentication, if there are rate limits, or how results are formatted (e.g., pagination). For a tool with 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.

Conciseness4/5

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

The description is well-structured and concise, using a clear main sentence followed by 'Args' and 'Returns' sections. Every sentence adds value without redundancy. However, it could be more front-loaded by integrating the parameter and return info into the main description for immediate clarity, preventing a perfect score of 5.

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 low complexity (1 optional parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It covers the basic purpose and parameter, but lacks behavioral details (e.g., safety, auth) and doesn't fully explain the return format beyond 'List of bare metal plans.' For a simple list tool, this is minimally adequate but not thorough.

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 mentions 'plan_type: Optional plan type filter,' which adds some semantic context beyond the schema (which has 0% description coverage). However, it doesn't explain what 'plan_type' values are valid (e.g., categories or examples), leaving the parameter only partially documented. With low schema coverage, the description compensates minimally, warranting a baseline score of 3.

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: 'List available bare metal plans.' It specifies the verb ('List') and resource ('bare metal plans'), making the action and target explicit. However, it doesn't differentiate from sibling tools like 'list_plans' or 'search_bare_metal_plans,' which limits its score to 4 instead of 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 'list_plans' or 'search_bare_metal_plans,' nor does it specify prerequisites or exclusions. The only usage hint is the optional 'plan_type' filter, but this doesn't address broader context or alternatives.

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

list_bare_metal_serversC

List all bare metal servers.

Returns: List of bare metal servers with details

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 the tool returns a list with details, which implies a read-only operation, but doesn't clarify pagination, rate limits, authentication requirements, or error conditions. For a list operation 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.

Conciseness3/5

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

The description is concise with two sentences, but the second sentence ('Returns: List of bare metal servers with details') is redundant with the first and could be integrated more efficiently. It's front-loaded with the core purpose, but the structure includes unnecessary repetition.

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 0 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on return format (e.g., structure of 'details'), pagination, sorting, or error handling. For a list tool in a complex server environment with many siblings, 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.

Parameters4/5

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

The input schema has 0 parameters with 100% description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter semantics, and it correctly doesn't mention any parameters, earning a baseline score of 4 for appropriate compensation.

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 ('List all') and resource ('bare metal servers'), making the purpose immediately understandable. It distinguishes from siblings like 'get_bare_metal_server' (singular) and 'list_bare_metal_servers_by_region' (filtered), though it doesn't explicitly mention these distinctions.

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 'list_bare_metal_servers_by_region' or 'list_bare_metal_servers_by_status'. It doesn't mention prerequisites, context, or any exclusions, leaving 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.

list_bare_metal_servers_by_regionB

List bare metal servers in a specific region.

Args: region: Region code (e.g., 'ewr', 'lax')

Returns: List of bare metal servers in the specified region

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes

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 full burden but only states it's a listing operation. It doesn't disclose behavioral traits like pagination, rate limits, authentication requirements, error conditions, or whether it returns all servers or a subset. The description adds minimal value beyond 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 appropriately sized with three sentences: purpose statement, parameter explanation, and return value. It's front-loaded with the main purpose and uses clear section headers (Args, Returns). No wasted words, though the structure could be slightly more polished.

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?

For a simple read operation with 1 parameter and no output schema, the description covers the basics but lacks important context. No annotations exist to provide safety/behavioral hints, and the description doesn't explain return format, pagination, or error handling. It's minimally adequate but has clear 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?

With 0% schema description coverage for the single 'region' parameter, the description compensates by providing an example value ('ewr', 'lax') and clarifying it's a 'region code'. This adds meaningful semantic context beyond the bare string type in the schema, though it doesn't provide a full list of valid region codes.

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 'List' and resource 'bare metal servers', specifying the scope 'in a specific region'. It distinguishes from sibling 'list_bare_metal_servers' by adding region filtering, but doesn't explicitly contrast with other region-filtering tools like 'list_by_region' or 'find_by_region'.

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 on when to use this tool versus alternatives like 'list_bare_metal_servers' (unfiltered), 'list_bare_metal_servers_by_status' (status-filtered), or other region-based listing tools. The description implies region filtering but doesn't provide explicit usage context or exclusions.

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

list_bare_metal_servers_by_statusB

List bare metal servers by status.

Args: status: Server status to filter by (e.g., 'active', 'stopped', 'installing')

Returns: List of bare metal servers with the specified status

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes

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 this is a listing operation with filtering, implying it's read-only and non-destructive, but doesn't explicitly confirm safety, permissions required, rate limits, pagination behavior, or error conditions. For a 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 efficiently structured with a clear purpose statement, a dedicated 'Args' section with an example, and a 'Returns' section. Every sentence adds value without redundancy, making it easy to parse and front-loaded with essential 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 low complexity (single parameter, read-only operation) and lack of annotations or output schema, the description is minimally adequate. It covers the purpose, parameter semantics, and return type, but misses behavioral details like pagination, error handling, or performance characteristics that would help an agent use it effectively in varied contexts.

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 meaningful context for the single parameter 'status' by providing examples ('e.g., 'active', 'stopped', 'installing''), which clarifies acceptable values beyond the schema's basic string type. With 0% schema description coverage and only one parameter, this compensates well, though it doesn't specify whether the list of statuses is exhaustive or case-sensitive.

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: 'List bare metal servers by status.' It specifies the verb ('List'), resource ('bare metal servers'), and filtering criteria ('by status'). However, it doesn't explicitly distinguish this tool from sibling tools like 'list_bare_metal_servers' or 'list_by_status', which could cause confusion about when to use this specific filtered listing.

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 'list_bare_metal_servers' (unfiltered listing) or 'list_by_status' (generic status filtering), nor does it specify prerequisites, exclusions, or optimal use cases. 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.

list_billing_historyC

List billing history for the specified number of days.

Args: days: Number of days to include (default: 30) per_page: Number of items per page (default: 25)

Returns: Billing history with transaction details

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
per_pageNo

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 must fully disclose behavioral traits. It mentions the tool lists billing history with transaction details, implying a read-only operation, but does not address critical aspects like pagination behavior (beyond the 'per_page' parameter), rate limits, authentication requirements, or error handling. 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.

Conciseness4/5

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

The description is well-structured and concise, with a clear purpose statement followed by parameter and return value sections in three sentences. There is no redundant information, and it efficiently conveys the essential details 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 tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally complete. It covers the basic purpose and parameters but lacks details on usage context, behavioral traits, and output structure. This makes it functional but insufficient for fully informed tool selection and invocation.

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 adds minimal semantics beyond the input schema, which has 0% description coverage. It explains that 'days' is the 'Number of days to include' and 'per_page' is the 'Number of items per page', but does not clarify constraints (e.g., valid ranges) or interactions between parameters. With low schema coverage, this partial compensation is adequate for a baseline score.

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: 'List billing history for the specified number of days.' It uses a specific verb ('List') and resource ('billing history'), and the scope ('for the specified number of days') is well-defined. However, it does not explicitly differentiate from sibling tools (e.g., 'list_invoices' or 'get_invoice'), which prevents a score of 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 mentions the default parameters but does not specify scenarios or prerequisites for usage, nor does it reference any sibling tools for comparison. This lack of contextual guidance limits its effectiveness for an AI agent.

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

list_boot_scriptsB

List boot startup scripts.

Returns: List of boot startup scripts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 return type ('List of boot startup scripts'), which adds some value, but doesn't cover important aspects like whether this is a read-only operation, if it requires authentication, pagination behavior, error conditions, or rate limits. For a 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.

Conciseness3/5

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

The description is brief with two sentences, but the second sentence ('Returns: List of boot startup scripts') is redundant with the first ('List boot startup scripts.'), adding no new information. This repetition slightly reduces efficiency, though the overall length is appropriate.

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 that the tool has no parameters, an output schema exists (which should document the return structure), and no annotations are provided, the description is minimally adequate. It states the purpose and return type, but lacks behavioral details that would be helpful for an agent, such as authentication requirements or error handling, leaving gaps in completeness.

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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to add parameter information, and it appropriately doesn't mention any parameters. This meets the baseline expectation for tools with no parameters.

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 'List' and the resource 'boot startup scripts', making the purpose specific and understandable. However, it doesn't distinguish this tool from sibling tools like 'list_startup_scripts' or 'search_startup_scripts', which appears to be a related functionality.

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 about when to use this tool versus alternatives like 'list_startup_scripts' or 'search_startup_scripts'. The description only states what the tool does without context about usage scenarios, prerequisites, or exclusions.

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

list_by_continentB

List all regions in a specific continent.

Args: continent: Continent name (e.g., "North America", "Europe", "Asia", "Australia")

Returns: List of regions in the specified continent

ParametersJSON Schema
NameRequiredDescriptionDefault
continentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It mentions the return type ('List of regions') but lacks critical behavioral details: whether this is a read-only operation, if it requires authentication, any rate limits, pagination behavior, error handling, or what happens with invalid continent names. For a tool with 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.

Conciseness5/5

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

The description is efficiently structured with a clear purpose statement followed by Args and Returns sections. Every sentence adds value without redundancy, making it easy to parse quickly. The two-sentence format with bullet-like sections is highly effective.

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 simplicity (single parameter, read-like operation) and the presence of an output schema (which handles return values), the description is adequate but has gaps. It covers the basic purpose and parameter meaning but lacks behavioral context (especially important with no annotations) and usage differentiation from siblings.

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%, but the description compensates well by explaining the single parameter's purpose ('Continent name') and providing concrete examples ('North America', 'Europe', 'Asia', 'Australia'). This adds meaningful context beyond the bare schema, though it doesn't specify format constraints or validation rules.

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 ('List') and resource ('regions in a specific continent'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'list_by_region' or 'find_by_region', but the continent-specific focus is inherently distinct enough for basic clarity.

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 siblings like 'list_by_region', 'find_by_region', and 'list' available, the description doesn't explain if this is for continent-level filtering, how it differs from region-based tools, or any prerequisites for use.

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

list_by_regionB

List storage gateways in a specific region.

Args: region: Region code to filter by (e.g., "ewr", "lax", "fra")

Returns: List of gateways in the specified region

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 it's a list operation, implying read-only behavior, but does not disclose any behavioral traits such as pagination, rate limits, authentication needs, or error handling. This leaves significant gaps for a tool with 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 front-loaded with the core purpose, followed by structured 'Args' and 'Returns' sections. Every sentence is necessary and adds value, with no wasted words, 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 tool's low complexity (1 parameter) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the purpose and parameter semantics well, but lacks usage guidelines and behavioral details, which are minor gaps in this context.

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 schema description coverage is 0%, but the description compensates by explaining the 'region' parameter's purpose ('Region code to filter by') and providing examples ('ewr', 'lax', 'fra'). This adds meaningful context beyond the bare schema, though it could specify format constraints more explicitly.

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 ('List') and resource ('storage gateways'), specifying the action and target. However, it does not explicitly differentiate from sibling tools like 'list' or 'list_by_status', which might also list gateways but with different filters, so it 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 mentions filtering by region but does not specify when this is preferred over other list tools (e.g., 'list' without filtering or 'list_by_status'), 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.

list_by_statusC

List storage gateways by status.

Args: status: Status to filter by (e.g., "active", "pending")

Returns: List of gateways with the specified status

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes

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 states the tool returns a 'List of gateways with the specified status,' which implies a read-only operation, but doesn't disclose behavioral traits like pagination, rate limits, authentication requirements, error conditions, or whether it's a safe operation. This is inadequate for a tool with 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.

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 purpose clearly, followed by structured 'Args' and 'Returns' sections. There's no wasted text, though the structure could be more integrated into a single narrative flow.

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 no annotations, no output schema, and low schema coverage, the description is incomplete. It covers basic purpose and parameter semantics but lacks behavioral transparency, usage guidelines, and details on return format or error handling. For a tool with one required parameter and no structured support, this is insufficient.

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 adds meaning by explaining the 'status' parameter as 'Status to filter by (e.g., "active", "pending"),' providing examples and clarifying its role. However, it doesn't document all possible status values or constraints, leaving gaps in parameter understanding.

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: 'List storage gateways by status.' This specifies the verb ('List'), resource ('storage gateways'), and filtering criterion ('by status'). However, it doesn't explicitly differentiate from sibling tools like 'list' or 'list_by_region', though the status filtering is a clear 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 mentions the 'status' parameter but doesn't specify valid status values beyond examples, nor does it indicate prerequisites, dependencies, or when other listing tools might be more appropriate.

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

list_by_typeC

List storage gateways by type.

Args: gateway_type: Gateway type to filter by (e.g., "nfs4")

Returns: List of gateways of the specified type

ParametersJSON Schema
NameRequiredDescriptionDefault
gateway_typeYes

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 describes a read-only listing operation, which is straightforward, but lacks details on permissions, rate limits, pagination, or error handling. The description does not contradict annotations (none exist), but it fails to provide sufficient behavioral context for a tool with 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.

Conciseness4/5

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

The description is well-structured and concise, with a clear purpose statement followed by 'Args' and 'Returns' sections. It avoids unnecessary details, making it easy to parse. However, the 'Args' and 'Returns' labels are somewhat redundant since the schema and output are implied, but they do not detract significantly from clarity.

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 low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameter semantics, but lacks depth in usage guidelines and behavioral transparency. For a simple listing tool, this is acceptable but not comprehensive, as it misses context like sibling tool differentiation and operational details.

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 input schema has 0% description coverage, but the description compensates by explaining the single parameter 'gateway_type' as 'Gateway type to filter by (e.g., "nfs4")'. This adds meaning beyond the bare schema, clarifying the parameter's purpose and providing an example. However, it does not detail possible values or constraints, leaving some 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: 'List storage gateways by type.' It specifies the verb ('List') and resource ('storage gateways') with a filtering criterion ('by type'). However, it does not explicitly differentiate from sibling tools like 'list' or 'list_by_region', which might also list gateways but with different filters, leaving some ambiguity.

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 minimal guidance: it implies usage when filtering gateways by type, but does not specify when to use this tool versus alternatives like 'list' (which might list all gateways without filtering) or other filtering tools such as 'list_by_region'. No explicit when-not-to-use or prerequisite information is included.

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

list_cdn_zonesB

List all CDN zones.

Returns: List of CDN zones with details

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 full burden. It mentions the return type ('List of CDN zones with details') but lacks critical behavioral details: whether this is a read-only operation, if it requires authentication, potential rate limits, pagination handling, or what 'details' include. For a list operation with zero 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 extremely concise with two brief sentences that are front-loaded: the first states the action, the second clarifies the return value. There is zero wasted text, and both sentences earn their 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.

Completeness2/5

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

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal but incomplete. It lacks behavioral context (e.g., safety, auth needs) and doesn't specify the format or structure of the returned 'details'. For a list operation that might return sensitive or complex data, more guidance would help the agent use it correctly.

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 tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to explain parameters, and it correctly avoids mentioning any. It focuses on the action and return value, which is appropriate for a parameterless tool. Baseline is 4 when no parameters exist.

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 with a specific verb ('List') and resource ('all CDN zones'), making it immediately understandable. It distinguishes from siblings like 'get_cdn_zone' (singular) and 'get_cdn_zone_summary' by indicating it returns multiple zones. However, it doesn't explicitly differentiate from other list tools like 'list_domains' or 'list_kubernetes_clusters' beyond the resource name.

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 for usage, or compare with sibling tools like 'get_cdn_zone' (for single zone details) or 'get_cdn_zone_summary' (for aggregated data). 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.

list_clustersA

List all available Object Storage clusters.

Returns: List of Object Storage clusters with details including: - id: Cluster ID - region: Region code - hostname: S3-compatible hostname for the cluster - deploy: Deployment status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.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. It mentions the return format details, which is helpful, but fails to disclose critical behavioral traits such as whether this is a read-only operation, if it requires authentication, rate limits, or pagination behavior. For a tool with zero 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 front-loaded with the core purpose in the first sentence, followed by a structured list of return details. Every sentence earns its place with no wasted words, making it highly 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 simplicity (0 parameters, no annotations, no output schema), the description is adequate but incomplete. It covers the purpose and return format well, but for a tool with no annotations, it should also address behavioral aspects like safety, authentication, or limitations 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?

The tool has 0 parameters with 100% schema description coverage, so no parameter information is needed. The description appropriately focuses on output semantics by detailing the return structure, which adds value beyond the empty input 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 with a specific verb ('List') and resource ('Object Storage clusters'), and distinguishes it from siblings by specifying it returns 'all available' clusters. This is precise 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 Guidelines3/5

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

The description implies usage by stating it lists 'all available' clusters, suggesting it's for general inventory retrieval. However, it lacks explicit guidance on when to use this versus alternatives like filtering tools (e.g., 'list_by_region'), prerequisites, or exclusions.

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

list_cluster_tiersA

List all available tiers for a specific Object Storage cluster.

Args: cluster_id: The cluster ID (use list_clusters to see available clusters)

Returns: List of available tiers for the cluster with pricing and limits

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_idYes

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 states this is a read operation ('List') and mentions what the return includes ('pricing and limits'), which is helpful. However, it doesn't cover important behavioral aspects like pagination, rate limits, authentication requirements, or error conditions that would be valuable for an 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 efficiently structured with a clear purpose statement followed by dedicated 'Args' and 'Returns' sections. Every sentence adds value without redundancy, making it easy to parse and understand quickly.

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?

For a read-only tool with 1 parameter and no output schema, the description provides adequate coverage of purpose and parameter semantics. However, without annotations and with no output schema, it lacks details about return format structure, error handling, and operational constraints that would make it more complete for agent use.

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 meaningful context for the single parameter 'cluster_id' by explaining what it represents and how to obtain valid values ('use list_clusters to see available clusters'). With 0% schema description coverage, this significantly compensates for the schema's lack of documentation, though it doesn't specify format constraints beyond being an integer.

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 with specific verb ('List') and resource ('all available tiers for a specific Object Storage cluster'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_clusters' beyond mentioning it as a prerequisite, missing direct comparison.

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 provides clear context for when to use this tool by specifying it requires a cluster ID and referencing 'list_clusters' to obtain available clusters. This gives practical guidance, though it doesn't explicitly state when not to use it or name alternative tools for similar purposes.

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

list_connection_poolsC

List connection pools for a managed database.

Args: database_id: The database ID or label

Returns: List of connection pools

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 full burden. It mentions the tool lists connection pools but doesn't disclose important behavioral aspects: whether this is a read-only operation, what permissions are required, whether it returns all pools or paginated results, or what format the list takes. The description is minimal and lacks 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.

Conciseness3/5

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

The description is appropriately concise with three sentences, but the structure could be improved. The purpose statement is clear, but the Args/Returns sections are redundant with the schema (though schema has 0% coverage). Every sentence serves a purpose, but the formatting as documentation rather than natural description reduces effectiveness.

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 no annotations, 0% schema coverage, and no output schema, the description is incomplete. It mentions what the tool does and the parameter but lacks crucial context: authentication requirements, rate limits, error conditions, return format details, or pagination behavior. For a tool that presumably returns a list of resources, this is 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%, so the description must compensate. While it mentions 'database_id: The database ID or label', this adds minimal semantic value beyond what's implied by the parameter name. It doesn't explain what format the ID takes, where to find it, or what 'label' means in this context. With 0% schema coverage, this is insufficient.

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 ('List') and resource ('connection pools for a managed database'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from similar list tools in the sibling set (like list_databases, list_connection_pools would need to specify it's for a specific database).

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's no mention of prerequisites, when this tool is appropriate versus other list tools, or any context about database state requirements. The sibling tools include 'get_connection_pool' (singular) but no comparison is made.

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

list_custom_isosB

List custom ISO images (user-uploaded).

Returns: List of custom ISO images

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 the return type ('List of custom ISO images'), which is basic behavioral information, but lacks details on pagination, sorting, filtering, error conditions, or authentication requirements that would be helpful for a read operation.

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

Conciseness3/5

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

The description is brief and front-loaded with the core purpose, but the 'Returns:' section is redundant since an output schema exists. While concise, it could be more structured by integrating the return information or omitting it given the output schema.

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 simplicity (0 parameters, output schema provided), the description is minimally adequate. However, with no annotations and sibling tools present, it lacks context on usage scenarios or behavioral nuances, leaving gaps for an AI agent to infer correct application.

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 tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter documentation in the description. The baseline for 0 parameters is 4, as the description appropriately avoids redundant information.

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 ('List') and resource ('custom ISO images') with the clarifying scope 'user-uploaded', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_isos' or 'list_public_isos', 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. There are multiple sibling list tools (e.g., 'list_isos', 'list_public_isos') that likely serve related purposes, but the description offers no comparison or context for selection.

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

list_databasesC

List logical databases within a managed database instance.

Args: database_id: The database ID or label

Returns: List of logical databases

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 it's a list operation, implying read-only behavior, but doesn't disclose any behavioral traits like permissions needed, rate limits, pagination, or error conditions. This is a significant gap for a tool with zero 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded, with the core purpose in the first sentence and additional details in a structured 'Args' and 'Returns' section. There's minimal waste, though the structure could be slightly more integrated for optimal flow.

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 (1 parameter, no annotations, no output schema), the description is incomplete. It covers the basic purpose and parameter semantics but lacks behavioral transparency, usage guidelines, and details on return values (e.g., format of the list), leaving gaps for effective agent use.

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 adds meaning by explaining 'database_id' as 'The database ID or label', which clarifies the parameter's purpose beyond the schema's type-only definition. However, it doesn't fully compensate for the coverage gap, as it lacks details on format, constraints, or examples.

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 ('List') and resource ('logical databases within a managed database instance'), providing specific functionality. However, it doesn't explicitly differentiate from sibling tools like 'list' or 'list_logical_databases' (if present), 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?

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, alternatives, or exclusions, leaving the agent with no 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.

list_domainsA

List all DNS domains in your Vultr account.

Returns: List of domain objects with details including: - domain: Domain name - date_created: Creation date - dns_sec: DNSSEC status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 that the tool returns a list of domain objects with specific fields, which is useful behavioral context. However, it doesn't mention potential limitations like pagination, rate limits, authentication requirements, or error conditions, leaving gaps for a mutation-free but potentially complex operation.

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 front-loaded with the core purpose in the first sentence, followed by a structured breakdown of return values. Every sentence adds essential information without redundancy, making it highly efficient and well-organized.

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 has 0 parameters, no annotations, and an output schema (implied by the returns section), the description is largely complete. It explains what the tool does and what data it returns. However, it lacks context on usage relative to siblings and omits behavioral details like pagination, which holds it back from a perfect score.

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 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately focuses on output semantics by detailing the returned fields, adding value beyond the schema. This exceeds the baseline of 3 for high 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 action ('List all DNS domains') and resource ('in your Vultr account'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_domain' or 'analyze_domain', 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?

No guidance is provided on when to use this tool versus alternatives like 'get_domain' (for specific domain details) or 'analyze_domain' (for analysis). The description only states what it does without context for selection among similar tools.

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

list_firewall_rulesC

List firewall rules for a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)

Returns: List of firewall rules

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes

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. While it mentions the return type ('List of firewall rules'), it doesn't disclose important behavioral aspects like whether this is a read-only operation, if it requires specific permissions, how results are formatted, pagination behavior, or error conditions. The description is minimal beyond basic functionality.

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 Args and Returns sections. It's appropriately sized for a simple listing tool, though the formatting could be more polished (e.g., consistent capitalization in section headers).

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?

For a simple read operation with 1 parameter and no output schema, the description provides basic but incomplete coverage. It explains what the tool does and the parameter, but lacks behavioral context (permissions, pagination, error handling) that would be helpful for an agent. Given the absence of annotations and output schema, more completeness would be beneficial.

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 schema description coverage is 0%, but the description compensates by explaining the single parameter ('load_balancer_id') with examples of acceptable values (labels or UUIDs). This adds meaningful context beyond the bare schema. However, it doesn't fully document all semantic aspects like format constraints or validation rules.

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 ('List') and resource ('firewall rules for a load balancer'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from potential siblings like 'get_firewall_rule' (singular) or other list operations, 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. With many sibling tools present (including 'get_firewall_rule' and other list operations), there's no indication of when this specific listing tool is appropriate versus other querying or retrieval methods.

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

list_forwarding_rulesC

List forwarding rules for a load balancer.

Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)

Returns: List of forwarding rules

ParametersJSON Schema
NameRequiredDescriptionDefault
load_balancer_idYes

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 lists forwarding rules, implying a read-only operation, but does not disclose any behavioral traits such as pagination, rate limits, authentication requirements, error conditions, or what happens if the load balancer ID is invalid. For a tool with zero annotation coverage, this lack of detail is a significant gap, though it doesn't 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded, with the purpose stated clearly in the first sentence. The 'Args' and 'Returns' sections are structured for readability, though the 'Returns' section is vague ('List of forwarding rules'). There is no wasted text, but it could be slightly more detailed without losing 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 (a list operation with one parameter), lack of annotations, and no output schema, the description is incomplete. It covers the basic purpose and parameter but misses key contextual details: no behavioral traits (e.g., pagination, errors), no usage guidelines, and minimal output information. For a tool in this context, it should provide more to be fully helpful to an AI agent.

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 includes an 'Args' section that explains the 'load_balancer_id' parameter as 'The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)', adding meaning beyond the input schema (which only specifies type: string). With schema description coverage at 0%, this compensates somewhat, but it's minimal for the single parameter. The baseline is 3 because the schema does not describe the parameter, and the description provides basic but not comprehensive semantics (e.g., no format constraints or validation rules).

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: 'List forwarding rules for a load balancer.' It specifies the verb ('List'), resource ('forwarding rules'), and scope ('for a load balancer'), making the action and target explicit. However, it does not differentiate from sibling tools like 'get_forwarding_rule' (singular) or 'list_firewall_rules', which might be similar in structure but target different resources, leaving room for minor ambiguity.

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 prerequisites (e.g., needing a load balancer ID), exclusions (e.g., not for other resource types), or compare it to siblings like 'get_forwarding_rule' (which might retrieve a single rule) or other list tools. Usage is implied only by the tool name and description, with no explicit context or alternatives provided.

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

list_groupsB

List all firewall groups in your Vultr account.

Returns: List of firewall group objects with details including: - id: Firewall group ID - description: Group description - date_created: Creation date - date_modified: Last modification date - instance_count: Number of instances using this group - rule_count: Number of rules in this group - max_rule_count: Maximum allowed rules

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 implies a read-only operation by using 'List' and describes the return format, which is helpful. However, it doesn't disclose behavioral traits like pagination, rate limits, authentication requirements, or error conditions, which are important for a list 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 front-loaded with the core purpose in the first sentence, followed by a structured return format. It's efficient with minimal waste, though the return details could be slightly more concise if integrated into a single sentence.

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 simplicity (0 parameters, read-only list operation) and the presence of an output schema (implied by the detailed return description), the description is reasonably complete. It covers what the tool does and what it returns, though it lacks context on usage and behavioral constraints.

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 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the return values. This meets expectations for a parameterless tool.

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 ('List') and resource ('all firewall groups in your Vultr account'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_firewall_rules' or 'get_group', which are related but distinct operations.

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 for usage, or compare it to sibling tools like 'get_group' (for single group details) or 'list_firewall_rules' (for rules within groups).

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

list_instance_networksA

List all VPCs and VPC 2.0 networks attached to an instance.

Smart identifier resolution: Use instance label, hostname, or ID.

Args: instance_identifier: Instance label, hostname, or ID

Returns: Combined list of VPCs and VPC 2.0 networks attached to the instance

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_identifierYes

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?

No annotations are provided, so the description carries the full burden. It describes a read operation ('List') and mentions 'Smart identifier resolution,' which adds some behavioral context about input handling. However, it lacks details on permissions required, rate limits, pagination, error conditions, or what 'Combined list' entails (e.g., format, sorting). For a tool with no annotations, this is insufficient to fully inform an agent about 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.

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 purpose, followed by key behavioral context (identifier resolution), and then structured sections for Args and Returns. Every sentence adds value, with no wasted words. It could be slightly more concise by integrating the Args section into the main text, but overall it's efficient and well-structured.

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 low complexity (one parameter, read-only operation), the description is mostly complete. It explains the purpose, parameter semantics, and return value ('Combined list of VPCs and VPC 2.0 networks'). Since an output schema exists, the description doesn't need to detail return values further. However, with no annotations, it could benefit from more behavioral context (e.g., error handling), but for this simple tool, it's adequate.

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 input schema has 0% description coverage, with one parameter 'instance_identifier' of type string. The description compensates fully by explaining the parameter's semantics: 'Instance label, hostname, or ID' and 'Smart identifier resolution: Use instance label, hostname, or ID.' This adds crucial meaning beyond the schema, clarifying what the parameter accepts and how it's resolved, which is essential for correct tool invocation.

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: 'List all VPCs and VPC 2.0 networks attached to an instance.' It uses a specific verb ('List') and identifies the resources (VPCs and VPC 2.0 networks) with their relationship to an instance. This distinguishes it from siblings like 'list_vpc2' (which likely lists all VPCs) or 'get_network_info' (which might provide general network information).

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 'Smart identifier resolution: Use instance label, hostname, or ID,' which suggests when to use this tool (when you have an instance identifier). However, it does not explicitly state when to use it versus alternatives (e.g., compared to 'list_attached' or 'list_unattached' from siblings), nor does it provide exclusions or prerequisites. The guidance is present but limited to parameter usage.

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

list_invoice_itemsC

List items in a specific invoice.

Args: invoice_id: The invoice ID per_page: Number of items per page (default: 25)

Returns: Invoice line items with details

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYes
per_pageNo

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 mentions pagination via 'per_page' and return of 'Invoice line items with details', but lacks critical behavioral details: whether this is a read-only operation (implied by 'List' but not explicit), rate limits, authentication requirements, error handling, or format of returned details. For a tool with 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 well-structured and front-loaded with the core purpose, followed by brief parameter and return explanations. Every sentence adds value without redundancy. It's appropriately sized for a simple list tool, 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 no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It covers the basic purpose and parameters but lacks behavioral context (e.g., safety, limits), detailed parameter semantics, and output specifics (what 'details' include). For a tool with minimal structured data, this leaves the agent under-informed about critical aspects like error conditions or result format.

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 schema provides no parameter descriptions. The description adds basic semantics: 'invoice_id: The invoice ID' and 'per_page: Number of items per page (default: 25)', clarifying purpose and default. However, it doesn't explain parameter formats (e.g., invoice ID structure), constraints, or examples, leaving some ambiguity. Since there are only 2 parameters and the description covers both, it meets the baseline but doesn't fully compensate for the lack of schema details.

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 with 'List items in a specific invoice', specifying the verb 'List' and resource 'items in a specific invoice'. It distinguishes from siblings like 'list_invoices' (which lists invoices, not items) and 'get_invoice' (which retrieves invoice details, not line items). However, it doesn't explicitly differentiate from other list tools like 'list_records' or 'list_billing_history', which is why it's not a perfect 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 (e.g., needing an existing invoice), exclusions, or comparisons to sibling tools like 'get_invoice' (which might return some item details) or 'list_invoices' (for broader listing). 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.

list_invoicesC

List all invoices.

Args: per_page: Number of items per page (default: 25)

Returns: List of invoices with pagination info

ParametersJSON Schema
NameRequiredDescriptionDefault
per_pageNo

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 pagination info, which is useful, but lacks details on permissions, rate limits, sorting, filtering, or error handling. For a list operation with zero annotation coverage, this is insufficient 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.

Conciseness4/5

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

The description is front-loaded with the core purpose, followed by structured sections for args and returns. It's efficient with minimal waste, though the 'Args' and 'Returns' labels could be integrated more smoothly into the flow.

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 no annotations, 0% schema coverage, and no output schema, the description is incomplete. It covers basic purpose and one parameter but lacks details on behavior, full parameters, output structure, and sibling differentiation, making it inadequate for a list tool in this context.

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%, but the description adds meaning by explaining 'per_page' as 'Number of items per page' and noting the default. However, it doesn't cover constraints like min/max values or other potential parameters (e.g., page number, filters), leaving gaps in parameter understanding.

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 ('List') and resource ('invoices'), making the purpose specific and understandable. However, it doesn't differentiate from potential siblings like 'get_invoice' (singular) or 'list_invoice_items', which are present in the sibling list, so it misses full 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. The sibling list includes 'get_invoice' (likely for a single invoice) and 'list_invoice_items', but the description doesn't mention these or any context for selection, leaving usage unclear.

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

list_ipv4B

List IPv4 addresses for an instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)

Returns: List of IPv4 addresses

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 lists IPv4 addresses, implying a read-only operation, but does not mention potential side effects, error conditions, rate limits, or authentication needs. For a tool with zero 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 highly concise and well-structured: a clear purpose statement followed by 'Args' and 'Returns' sections. Every sentence adds value without redundancy, making it easy to scan and understand quickly. It is appropriately sized for a simple 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 the tool's simplicity (1 parameter, no annotations, but has an output schema), the description is mostly complete. It explains the purpose, parameter semantics, and return value. The output schema likely details the list structure, so the description need not elaborate further. However, it lacks behavioral details like error handling or usage context.

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 meaningful context for the single parameter 'instance_id' by explaining it can be an ID, label, or hostname with examples ('web-server', 'db.example.com', or UUID). With 0% schema description coverage, this compensates well, providing clarity beyond the basic schema. However, it does not cover all possible edge cases or formats.

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: 'List IPv4 addresses for an instance.' It specifies the verb ('List') and resource ('IPv4 addresses for an instance'), making it easy to understand. However, it does not explicitly differentiate from sibling tools like 'list_ipv6' or 'list_instance_networks', which might list related resources, so it falls short of 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 does not mention sibling tools like 'list_ipv6' for IPv6 addresses or 'list_instance_networks' for broader network info, nor does it specify prerequisites or exclusions. Usage is implied by the purpose but lacks explicit context.

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

list_ipv6A

List IPv6 addresses for an instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)

Returns: List of IPv6 addresses

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. It mentions the return type ('List of IPv6 addresses') but fails to disclose behavioral traits like whether this is a read-only operation, potential rate limits, authentication needs, or error conditions. The description is minimal and lacks critical 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 front-loaded with the core purpose, followed by structured 'Args' and 'Returns' sections. Every sentence is necessary and efficient, with no wasted words, making it easy to parse quickly.

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 low complexity (1 parameter) and the presence of an output schema (implied by 'Returns'), the description is somewhat complete but lacks depth. Without annotations, it should cover more behavioral aspects like safety or constraints, but the parameter explanation and return info provide a basic foundation.

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 schema description coverage is 0%, but the description compensates by explaining the 'instance_id' parameter with examples (e.g., 'web-server', 'db.example.com', or UUID). This adds meaningful semantics beyond the bare schema, clarifying acceptable input formats.

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 ('List') and resource ('IPv6 addresses for an instance'), and it distinguishes from siblings like 'list_ipv4' by specifying IPv6 addresses. The title is null, but the description effectively communicates the tool's function.

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 'list_ipv4' or other network-related tools in the sibling list. It lacks context on prerequisites, exclusions, or comparisons to similar tools, leaving usage unclear.

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

list_isosB

List all available ISO images.

Returns: List of available ISO images

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. While it states the tool returns a list of ISO images, it doesn't mention important behavioral aspects like whether the list is paginated, sorted, filtered, or includes metadata. For a list operation with zero annotation coverage, this leaves significant gaps in understanding 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 appropriately concise with just two sentences that directly state the tool's purpose and return value. There's no wasted verbiage, and the information is front-loaded. However, the second sentence ('Returns: List of available ISO images') is somewhat redundant with the first, 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 that this is a simple list operation with zero parameters and an output schema exists, the description provides adequate basic information. However, with no annotations and multiple similar sibling tools, the description should ideally clarify the scope and differentiation from alternatives to be fully complete for agent decision-making.

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 tool has zero parameters with 100% schema description coverage, so the schema already fully documents the input requirements. The description doesn't need to explain any parameters, and it correctly doesn't attempt to do so. The baseline for zero parameters with complete schema coverage is 4.

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 with a specific verb ('List') and resource ('all available ISO images'), making it immediately understandable. However, it doesn't distinguish this tool from similar sibling tools like 'list_public_isos' or 'list_custom_isos', which suggests there might be different types of ISO listings available.

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 'list_public_isos', 'list_custom_isos', 'get_iso', and 'get_iso_by_name' available, there's no indication whether this tool lists all ISO types combined or has some specific scope that differs from those alternatives.

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

list_kafka_topicsC

List Kafka topics (Kafka databases only).

Args: database_id: The Kafka database ID or label

Returns: List of Kafka topics

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 states this is a 'List' operation, implying it's read-only and non-destructive, but doesn't disclose any behavioral traits like pagination, rate limits, authentication requirements, error conditions, or what 'List of Kafka topics' entails (e.g., format, fields). For a tool with zero 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.

Conciseness4/5

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

The description is appropriately sized with three sentences: a purpose statement, parameter documentation, and return value note. It's front-loaded with the core purpose. However, the 'Args' and 'Returns' sections use a non-standard format that might be less structured than ideal, and the return note is vague ('List of Kafka topics').

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 context: 1 parameter with 0% schema coverage, no annotations, no output schema, and no sibling differentiation, the description is incomplete. It covers the parameter semantics adequately but lacks behavioral details (e.g., pagination, error handling), usage context vs. siblings, and specifics on the return value. For a tool in a complex environment with many siblings, more guidance is needed.

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 includes an 'Args' section that documents the single parameter 'database_id' as 'The Kafka database ID or label', adding semantic meaning beyond the schema (which has 0% description coverage). This compensates partially for the low schema coverage. However, it doesn't elaborate on format examples, validation rules, or how 'label' differs from 'ID', leaving some ambiguity.

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: 'List Kafka topics' with the specific resource 'Kafka databases only'. It uses a specific verb ('List') and identifies the resource type. However, it doesn't differentiate from potential siblings like 'get_kafka_topic' (which appears to fetch a single topic) or 'list_databases' (which might list databases rather than topics).

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 minimal guidance: it specifies 'Kafka databases only', which implies this tool is for Kafka-specific resources. However, it offers no explicit guidance on when to use this versus alternatives like 'get_kafka_topic' (for single topic details) or 'list_databases' (for listing databases themselves). There's no mention of prerequisites, exclusions, or comparison with sibling tools.

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

list_kubernetes_clustersA

List all Kubernetes clusters in your Vultr account.

Returns: List of cluster objects with details including: - id: Cluster ID - label: Cluster label - version: Kubernetes version - region: Region code - status: Cluster status - node_pools: List of node pools - date_created: Creation date - cluster_subnet: Cluster subnet - service_subnet: Service subnet - ip: Cluster IP address

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/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. It implies a read-only operation ('List all') and details the return structure, which is helpful. However, it lacks behavioral context like pagination, rate limits, authentication requirements, or error handling. The description adds value by specifying the return format but misses key operational details.

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 front-loaded with the core purpose in the first sentence, followed by a structured list of return details. It's efficient and well-organized, though the return list could be slightly condensed (e.g., by grouping related fields). Every sentence adds value 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 no annotations, no output schema, and 0 parameters, the description does a decent job by explaining the return structure. However, for a list operation, it lacks context on pagination, sorting, or filtering capabilities. It's adequate but has gaps in operational completeness that could aid an AI agent.

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 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the return values. This meets the baseline for a parameterless tool, though it doesn't add extra semantic context 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 specific action ('List all Kubernetes clusters') and resource ('in your Vultr account'), making the purpose explicit. It distinguishes itself from sibling tools like 'get_kubernetes_cluster' (singular) and 'analyze_kubernetes_cluster_costs' by focusing on comprehensive listing without filtering or analysis.

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 an active Vultr account, or compare it to similar tools like 'list_clusters' (if that's a sibling) or 'get_kubernetes_cluster' for detailed single-cluster info. Usage is implied but not explicitly stated.

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

list_kubernetes_node_poolsB

List all node pools for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID

Returns: List of node pools with configuration and status

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes

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. It mentions 'List all node pools' and 'Returns: List of node pools with configuration and status,' which gives basic behavioral info. However, it lacks details on permissions, rate limits, pagination, error handling, or whether this is a read-only operation (implied but not stated). For a tool with no annotations, 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 with a clear purpose statement, parameter guidance, and return info in three concise sentences. It's front-loaded and wastes no words, though minor improvements could make it more efficient (e.g., combining lines).

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 no annotations, 0% schema coverage, no output schema, and low complexity (1 parameter), the description covers basics like purpose, parameter semantics, and returns. However, it lacks behavioral details (e.g., safety, errors) and doesn't fully compensate for the missing structured data, making it adequate but with 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 adds meaning for the single parameter 'cluster_identifier' by explaining 'Smart identifier resolution: use cluster label or UUID,' which clarifies acceptable values beyond the schema's type: string. However, with 0% schema description coverage and only 1 parameter, this provides some compensation but doesn't fully detail constraints or examples. Baseline is adjusted due to low 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 verb ('List') and resource ('all node pools for a Kubernetes cluster'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_kubernetes_clusters' or 'list_kubernetes_nodes', 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 Guidelines3/5

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

The description provides some usage context with 'Smart identifier resolution: use cluster label or UUID,' which implies how to identify clusters. However, it doesn't specify when to use this tool versus alternatives like 'get_kubernetes_node_pool' (for a single pool) or other list 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.

list_kubernetes_nodesB

List all nodes in a specific node pool. Smart identifier resolution: use cluster/node pool labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID

Returns: List of nodes with status and configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes

TDQS

B3.3/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 'Smart identifier resolution' and the return format ('List of nodes with status and configuration'), which adds some context. However, it lacks details on permissions, rate limits, pagination, or error handling, which are important for a read operation in a Kubernetes context. The description does not contradict annotations (none exist), but it is insufficiently informative.

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 main purpose, followed by parameter explanations and return information. It uses bullet points for clarity and avoids unnecessary words. However, the 'Smart identifier resolution' note could be integrated more smoothly, and it slightly disrupts flow, preventing a perfect score.

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 (Kubernetes nodes listing), lack of annotations, and no output schema, the description is moderately complete. It covers purpose, parameters, and return format, but misses behavioral aspects like pagination, authentication needs, or error cases. For a tool with 2 parameters and no structured support, it provides a baseline but lacks depth for robust agent use.

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 adds meaning by explaining the parameters: 'cluster_identifier: The cluster label or ID' and 'nodepool_identifier: The node pool label or ID,' clarifying that identifiers can be labels or UUIDs. This provides useful semantics beyond the bare schema, though it could include examples or format details. With 2 parameters, this is a solid effort.

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: 'List all nodes in a specific node pool.' It specifies the verb ('List'), resource ('nodes'), and scope ('in a specific node pool'), making the action clear. However, it does not explicitly differentiate from sibling tools like 'list_kubernetes_clusters' or 'list_kubernetes_node_pools', which list different resources, so it falls short of 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 Guidelines3/5

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

The description implies usage by mentioning 'Smart identifier resolution: use cluster/node pool labels or UUIDs,' which suggests context for how to use identifiers, but it does not explicitly state when to use this tool versus alternatives (e.g., 'list_kubernetes_clusters' for clusters or 'get_kubernetes_node' for a single node). No exclusions or prerequisites are provided, 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.

list_linux_osC

List Linux operating systems.

Returns: List of Linux operating systems

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden for behavioral disclosure. The description mentions 'Returns: List of Linux operating systems' which provides basic output information, but doesn't address important behavioral aspects like whether this requires authentication, how results are formatted, if there are rate limits, or whether it's a read-only operation. For a tool with zero annotation coverage, this is insufficient 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.

Conciseness3/5

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

The description is extremely concise with just two short sentences, but this brevity comes at the cost of completeness. While there's no wasted text, the description is under-specified rather than efficiently comprehensive. The structure is simple but lacks the front-loaded information density that would make it more helpful for an AI agent.

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 that this is a simple read operation with 0 parameters and an output schema exists, the description is minimally adequate. However, with no annotations and multiple similar sibling tools, the description should do more to clarify its specific role and behavioral characteristics. The existence of an output schema reduces the need to describe return values, but other contextual gaps remain.

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 tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description doesn't need to compensate for any parameter gaps. The baseline for 0 parameters with full schema coverage is 4, as there are no parameters requiring semantic explanation beyond what the empty schema already indicates.

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 'List Linux operating systems' which clearly indicates its purpose as a listing operation. However, it doesn't differentiate itself from similar sibling tools like 'list_operating_systems' or 'list_os_by_family' - it's unclear if this is a filtered subset or comprehensive list. The description is accurate but lacks specificity about scope or 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. With multiple similar listing tools available (list_operating_systems, list_os_by_family, list_windows_os), there's no indication of when this specific Linux-focused tool is preferred. The description contains only the basic function without context about appropriate use cases.

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

list_marketplace_applicationsB

List only marketplace applications.

Returns: List of marketplace application objects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 the return type ('List of marketplace application objects'), which adds some behavioral context, but fails to disclose critical traits like whether this is a read-only operation, if it requires authentication, any rate limits, or pagination behavior. This is inadequate for a tool with zero 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.

Conciseness4/5

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

The description is very concise with two short sentences, front-loading the purpose and then specifying the return. There's no wasted text, but it could be slightly more structured by integrating the return info into a single sentence for better flow.

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 (a list operation with no parameters but potential behavioral nuances), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what a 'marketplace application object' contains, any filtering or sorting options, or error conditions, leaving significant gaps for the agent.

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 tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it doesn't introduce any confusion, earning a baseline score for parameterless tools.

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 ('List') and resource ('marketplace applications'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_applications' or 'list_oneclick_applications', which might cover similar ground, so it misses full 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, such as 'list_applications' or 'search_applications' from the sibling list. It lacks context on prerequisites, exclusions, or specific scenarios, 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.

list_oneclick_applicationsC

List only one-click applications.

Returns: List of one-click application objects

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 full burden. It mentions the return type ('List of one-click application objects') which is helpful, but doesn't address important behavioral aspects like pagination, rate limits, authentication requirements, or whether this is a read-only operation. The description is minimal and leaves key behavioral questions unanswered.

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 extremely concise with just two sentences. The first sentence states the purpose, the second describes the return value. There's no wasted text, though some might argue it's too brief given the lack of behavioral 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?

For a list tool with no annotations and no output schema, the description is insufficient. While it states what the tool does and what it returns, it doesn't provide enough context about the nature of 'one-click applications' versus other application types, doesn't explain the structure of returned objects, and doesn't address common list operation concerns like filtering, sorting, or pagination.

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 tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description doesn't need to explain parameters, and it doesn't introduce any parameter-related confusion. The schema fully documents the empty parameter set.

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 lists one-click applications, which is a clear verb+resource combination. However, it doesn't distinguish this from sibling tools like 'list_applications' or 'list_marketplace_applications' - the 'only' modifier is vague about what makes one-click applications different from other application 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?

The description provides no guidance on when to use this tool versus alternatives. With many sibling list tools (list_applications, list_marketplace_applications, search_applications), there's no indication of when this specific tool is appropriate versus those other options.

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

list_operating_systemsB

List all available operating systems.

Returns: List of available operating systems

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 return type ('List of available operating systems'), which adds some behavioral context, but lacks details on permissions, rate limits, pagination, or error handling. For a read operation 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.

Conciseness3/5

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

The description is brief with two sentences, but the second sentence ('Returns: List of available operating systems') is redundant as it restates the first part. This wastes space without adding value, reducing efficiency despite the overall conciseness.

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 that there's an output schema (implied by context signals), the description doesn't need to detail return values. However, with no annotations and a simple purpose, it lacks context on filtering, sorting, or behavioral traits, making it minimally adequate but with gaps in completeness.

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 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate, earning a baseline score of 4 since the schema fully handles the 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 with 'List all available operating systems,' which is a specific verb+resource combination. However, it doesn't distinguish this tool from similar sibling tools like 'list_linux_os' or 'list_windows_os,' which suggests it might be a general listing tool rather than filtered ones.

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 'list_linux_os' and 'list_windows_os' available, there's no indication whether this tool includes all OS types or how it differs from filtered listings, leaving usage context unclear.

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

list_os_by_familyB

List operating systems by family.

Args: family: OS family (e.g., 'ubuntu', 'centos', 'windows', 'application')

Returns: List of operating systems in the specified family

ParametersJSON Schema
NameRequiredDescriptionDefault
familyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. It states the tool returns a list but doesn't disclose behavioral traits such as pagination, rate limits, authentication requirements, error handling, 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 and well-structured: a clear purpose statement followed by 'Args' and 'Returns' sections. Every sentence earns its place with no wasted words, making it easy to scan and understand quickly.

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 simplicity (1 parameter, output schema exists), the description is adequate but minimal. It covers the basic purpose and parameter semantics but lacks behavioral details (e.g., error cases, performance). The output schema handles return values, so the description doesn't need to explain them, but more context on usage would improve completeness.

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 schema has 0% description coverage, but the description compensates by explaining the 'family' parameter with examples ('ubuntu', 'centos', 'windows', 'application'). This adds meaningful context beyond the bare schema, clarifying what values are expected. However, it doesn't detail constraints like case sensitivity or valid enum values.

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: 'List operating systems by family.' It specifies the verb ('List') and resource ('operating systems'), and the 'by family' qualifier adds specificity. However, it doesn't explicitly differentiate from sibling tools like 'list_operating_systems' or 'list_linux_os', which might offer broader or alternative listings.

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 mentions the 'family' parameter but doesn't specify prerequisites, exclusions, or compare it to similar tools like 'list_operating_systems' or 'search_os_by_name'. Usage is implied through the parameter description but not explicitly stated.

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

list_plansB

List all available managed database plans.

Returns: List of database plans with pricing and specifications

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 must fully disclose behavioral traits. It only states that it returns a list of plans with pricing and specifications, but doesn't cover critical aspects like whether it requires authentication, rate limits, pagination behavior, or error conditions. For a tool with zero 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 extremely concise and front-loaded: the first sentence states the core purpose, and the second clarifies the return value. There's no wasted language or redundancy, making it efficient and 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.

Completeness3/5

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

Given that the tool has 0 parameters, an output schema exists (which covers return values), and no annotations, the description is minimally adequate. It states what the tool does and what it returns, but lacks behavioral context (e.g., authentication needs, rate limits) that would be helpful for a read operation. The output schema likely details the return structure, so the description doesn't need to elaborate further on that aspect.

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 parameters with 100% description coverage, so the schema fully documents the absence of inputs. The description doesn't need to add parameter semantics, and it appropriately doesn't mention any parameters. This meets the baseline expectation for a parameterless tool.

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: 'List all available managed database plans' specifies the verb ('List') and resource ('managed database plans'). It distinguishes from siblings like 'compare_plans' or 'get_plan' by focusing on listing all plans rather than comparing or retrieving a specific one. However, it doesn't explicitly differentiate from 'list_vc2_plans' or similar plan-listing tools, 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 when to choose 'list_plans' over 'compare_plans', 'search_plans_by_specs', or other plan-related tools in the sibling list. There's no context about prerequisites, such as authentication or account requirements, 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.

list_public_isosB

List public ISO images (filtered from all ISOs).

Returns: List of public ISO images

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 states the tool returns a list, which is basic, but doesn't disclose any behavioral traits like pagination, rate limits, authentication requirements, error conditions, or what 'public' means in this context. The description is minimal and lacks necessary operational details.

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

Conciseness3/5

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

The description is concise with two sentences, but the second sentence ('Returns: List of public ISO images') is redundant with the first and adds no new information, wasting space. It could be more efficiently structured by merging or omitting the repetition.

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 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally complete. However, for a list operation with no annotations, it lacks context on filtering criteria (e.g., how 'public' is defined), return format, or error handling, leaving gaps in operational understanding.

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 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, but that's appropriate here. A baseline of 4 is given as it adequately handles the lack of parameters without introducing confusion.

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 ('List') and resource ('public ISO images'), and specifies they are 'filtered from all ISOs', which clarifies the scope. However, it doesn't explicitly differentiate from sibling tools like 'list_isos' or 'list_custom_isos', 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. There are multiple sibling listing tools (e.g., 'list_isos', 'list_custom_isos'), but no indication of when this specific filtered list is appropriate or what distinguishes it from them.

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

list_pxe_scriptsC

List PXE startup scripts.

Returns: List of PXE startup scripts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. While 'List' implies a read-only operation, the description doesn't disclose important behavioral aspects: whether this requires specific permissions, if results are paginated, what format the returned list uses, or any rate limits. The mention of 'Returns: List of PXE startup scripts' is minimal and doesn't provide meaningful 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.

Conciseness3/5

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

The description is extremely brief (two short sentences) but under-specified rather than efficiently concise. While there's no wasted text, the second sentence 'Returns: List of PXE startup scripts' adds minimal value beyond what's implied by 'List' in the first sentence. The structure is simple but lacks the informative density needed for a helpful tool description.

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?

For a simple listing tool with 0 parameters and an output schema (which exists according to context signals), the description is minimally adequate. However, with no annotations and multiple sibling listing tools, it should provide more context about what PXE scripts are and how this listing differs from other script-related tools. The existence of an output schema means the description doesn't need to explain return values, but it should still address the tool's specific domain context.

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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of parameters. The description doesn't need to compensate for any parameter gaps. The baseline for 0 parameters with complete schema coverage is 4, as there are no parameters whose semantics need explanation beyond what the schema provides.

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 'List PXE startup scripts' which clearly indicates a listing operation on a specific resource type (PXE startup scripts). However, it doesn't distinguish this tool from sibling tools like 'list_startup_scripts' or 'list_boot_scripts' - the description doesn't clarify what makes PXE scripts different from other script types or why this specific listing tool exists.

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 'list_startup_scripts', 'search_startup_scripts', and 'get_startup_script', there's no indication of when this PXE-specific listing is appropriate versus more general listing/search tools. No prerequisites, context, 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.

list_recordsC

List all DNS records for a domain.

Args: domain: The domain name to list records for

Returns: List of DNS records with details

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 it's a list operation, implying read-only behavior, but doesn't disclose any behavioral traits such as permissions needed, rate limits, pagination, error handling, or what 'details' in the return include. This is a significant gap for a tool with 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.

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 parameter and return details. It's concise with no wasted sentences, though the 'Args' and 'Returns' labels are slightly verbose compared to a more integrated approach.

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 low complexity (one parameter) and the presence of an output schema (which handles return values), the description is minimally adequate. However, with no annotations and incomplete behavioral disclosure, it lacks depth for safe and effective use by an AI agent.

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 schema description coverage is 0%, but the description includes an 'Args' section that documents the single parameter 'domain' with a brief explanation ('The domain name to list records for'). This adds meaningful semantics beyond the bare schema, though it doesn't specify format constraints (e.g., valid domain syntax).

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 ('List') and resource ('DNS records for a domain'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'list_domains' or 'get_record' that might handle similar DNS-related operations, preventing 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, exclusions, or compare it to sibling tools like 'get_record' (which might fetch a single record) or 'list_domains' (which might list domains rather than records).

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

list_rulesB

List all rules in a firewall group.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID)

Returns: List of firewall rules with details

ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 this is a list operation, implying it's likely read-only and non-destructive, but doesn't confirm this or address other traits like pagination, rate limits, authentication needs, or error conditions. The description adds minimal value 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 appropriately sized and front-loaded, with the core purpose stated first followed by parameter and return details. The structure is clear, though the 'Args:' and 'Returns:' sections could be integrated more seamlessly into the flow.

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 low complexity (1 parameter, no nested objects) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the purpose and parameter semantics adequately, though it lacks behavioral context and usage guidelines, which are minor gaps for this simple list 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 adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'firewall_group_id' can be either an ID or a description (e.g., 'web-servers' or UUID), clarifying the parameter's format and options, which compensates well for the schema's lack of detail.

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 ('List') and resource ('all rules in a firewall group'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_firewall_rules' or 'get_firewall_rule', which appear in the sibling list, leaving some ambiguity about scope or granularity differences.

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, exclusions, or compare it to similar tools like 'list_firewall_rules' or 'get_firewall_rule' from the sibling list, leaving the agent to infer usage context independently.

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

list_serverless_inferenceA

List all serverless inference subscriptions in your Vultr account.

Returns: List of inference subscription objects with details including: - id: Subscription ID (UUID) - label: User-defined label for the subscription - api_key: API key for accessing the inference service - date_created: When the subscription was created

ParametersJSON Schema
NameRequiredDescriptionDefault

No 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 indicates this is a read operation ('List') and describes the return format, which adds value. However, it lacks details on behavioral traits such as pagination, rate limits, authentication requirements, or error handling, leaving gaps in transparency for a tool with 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.

Conciseness4/5

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

The description is front-loaded with the core purpose in the first sentence, followed by a structured list of return details. It is appropriately sized with no wasted words, though the bulleted list could be slightly more concise. Overall, it efficiently conveys essential information 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 simplicity (0 parameters, no output schema, no annotations), the description is adequate but has gaps. It explains what the tool does and the return format, which is helpful. However, without annotations, it should ideally include more behavioral context (e.g., authentication, limits) to fully guide the agent, making it minimally viable but not 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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the return values. This meets the baseline expectation for a parameterless tool, earning a high score as it avoids unnecessary information.

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 verb ('List') and resource ('all serverless inference subscriptions in your Vultr account'), making the purpose specific and unambiguous. It distinguishes from siblings like 'get_serverless_inference' (singular) and 'create_serverless_inference' by focusing on listing all subscriptions rather than fetching a single one or creating new ones.

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 prerequisites (e.g., account authentication), compare with similar tools like 'analyze_inference_usage' or 'monitor_inference_performance', or specify any conditions for usage, leaving the agent without contextual direction.

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

list_startup_scriptsC

List all startup scripts.

Returns: List of startup scripts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 only states that the tool returns a list of startup scripts, but doesn't mention whether this is a read-only operation, if it requires specific permissions, what format the list takes, or any pagination/limiting behavior. For a list operation 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.

Conciseness4/5

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

The description is extremely concise with just two sentences. The first sentence states the purpose clearly, and the second clarifies the return value. There's no wasted text, though the structure could be slightly improved by combining both ideas into a single more informative sentence.

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 that the tool has no parameters, an output schema exists, and annotations are absent, the description provides the minimum viable information about what the tool does. However, for a list operation that likely returns potentially large datasets, the description should ideally mention pagination, filtering limitations, or format details that aren't covered by the output schema alone.

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 tool has 0 parameters with 100% schema description coverage. The description doesn't need to explain any parameters, and it correctly doesn't attempt to do so. The baseline for this situation is 4, as the description appropriately focuses on the tool's purpose rather than parameter documentation.

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 'List all startup scripts' which is a clear verb+resource combination. However, it doesn't distinguish this from sibling tools like 'search_startup_scripts' or 'get_startup_script', leaving the scope differentiation unclear. The description is adequate 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 like 'search_startup_scripts' or 'get_startup_script'. It doesn't mention any prerequisites, filtering capabilities, or contextual usage scenarios. 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.

list_unattachedA

List all unattached block storage volumes.

Returns: List of volumes that are not currently attached to any instance

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It states this is a read operation ('List') but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or whether it returns all volumes or a subset. The return format is mentioned but lacks detail on structure or metadata.

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?

Two sentences, front-loaded with the core purpose and followed by a clarifying return statement. Zero waste, efficiently structured, and each sentence adds distinct value without repetition.

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 no annotations, 0 parameters, and an output schema exists, the description is adequate but minimal. It covers the basic purpose and return scope but lacks behavioral context (e.g., pagination, error handling) that would be helpful for a list operation, though the output schema may mitigate some 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?

With 0 parameters and 100% schema description coverage, the baseline is 4. The description adds no parameter information, which is appropriate since there are no parameters to document, maintaining clarity without redundancy.

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 ('List all') and resource ('unattached block storage volumes'), and distinguishes from siblings by specifying 'unattached' volumes rather than all volumes or attached ones. The second sentence reinforces the purpose by clarifying what qualifies as 'unattached'.

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 'list_attached' or general 'list' tools for volumes. The description implies usage for finding detached volumes but doesn't specify scenarios, prerequisites, or exclusions.

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

list_usersC

List all users in a managed database.

Args: database_id: The database ID or label (e.g., "my-mysql-db" or UUID)

Returns: List of database users with their permissions

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 it's a listing operation, implying it's read-only, but doesn't mention permissions required, rate limits, pagination, or what happens if the database_id is invalid. For a 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.

Conciseness4/5

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

The description is well-structured with clear sections for purpose, args, and returns. It's front-loaded with the core purpose and uses bullet-like formatting efficiently. However, the 'Returns' section could be more concise by integrating it into the main sentence, and some details are slightly redundant.

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 low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose, parameter semantics, and return value, but lacks behavioral details like error handling or usage context. For a simple read operation, it's passable but could be more informative.

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 adds that 'database_id' can be an ID or label with examples ('my-mysql-db' or UUID), which provides useful semantics beyond the bare schema. However, it doesn't explain where to find this ID, format constraints, or how to handle ambiguous labels, leaving some parameter details unclear.

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 with a specific verb ('List') and resource ('users in a managed database'), making it easy to understand what the tool does. However, it doesn't differentiate from sibling tools like 'list' or 'get_user', which are more general or 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 like 'list' (general listing), 'get_user' (single user), or 'analyze_user_permissions' (analysis-focused). There's no mention of prerequisites, context, or exclusions, 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.

list_vc2_plansC

List VC2 (Virtual Cloud Compute) plans.

Returns: List of VC2 plans

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 only states what the tool returns ('List of VC2 plans') without mentioning any behavioral traits - no information about pagination, rate limits, authentication requirements, freshness of data, or whether this is a read-only operation. For a 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.

Conciseness3/5

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

The description is concise (two short sentences) but inefficiently structured. The first sentence states the purpose, but the second sentence ('Returns: List of VC2 plans') is redundant - it essentially repeats the first sentence in different words. This wastes space that could have been used for usage guidance or behavioral 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 tool has 0 parameters, 100% schema coverage, and an output schema exists, the description meets minimum requirements. However, with no annotations and multiple similar sibling tools ('list_plans', 'list_vhf_plans', etc.), the description should do more to clarify the specific context of VC2 plans and when this tool is appropriate versus alternatives.

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 tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to explain any parameters, and it correctly doesn't attempt to describe non-existent parameters. A baseline of 4 is appropriate since there are no parameters to document, and the description doesn't create confusion about parameters.

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 'List VC2 (Virtual Cloud Compute) plans' which clearly indicates the verb (list) and resource (VC2 plans). However, it doesn't differentiate from sibling tools like 'list_plans', 'list_vhf_plans', or 'list_voc_plans' - the agent must infer VC2 is a specific type of plan. The description is accurate but lacks specificity about what distinguishes VC2 plans from other plan 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 guidance is provided about when to use this tool versus alternatives. The description doesn't mention when this tool should be used (e.g., to see available VC2 configurations before creating instances) or when other tools might be more appropriate (like 'compare_plans' or 'search_plans_by_specs'). The agent receives 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.

list_vhf_plansC

List VHF (High Frequency) plans.

Returns: List of VHF plans

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It mentions 'Returns: List of VHF plans' which provides basic output information, but doesn't disclose important behavioral traits like whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior, or what format the returned list takes. For a 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.

Conciseness3/5

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

The description is brief but inefficiently structured. The first sentence 'List VHF (High Frequency) plans.' is clear, but the second sentence 'Returns: List of VHF plans' is redundant - it essentially repeats the purpose without adding value. The description could be more concise by combining these ideas or eliminating the redundant second sentence.

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 that the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description doesn't need to explain parameters or return values. However, for a list operation with no annotations, it should provide more context about the listing behavior (pagination, filtering, sorting) and how it differs from similar sibling tools. The current description is minimally adequate but leaves important contextual 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 tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description doesn't need to compensate for any parameter gaps. The baseline for 0 parameters with full schema coverage is 4, as there's no parameter information to add beyond what's already structured.

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 'List VHF (High Frequency) plans' which provides a clear verb ('List') and resource ('VHF plans'), but it doesn't differentiate from sibling tools like 'list_vc2_plans' or 'list_voc_plans' that appear to list similar plan types. The purpose is understandable but lacks specificity about what distinguishes VHF plans from other plan 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 guidance is provided about when to use this tool versus alternatives. With sibling tools like 'list_plans', 'list_vc2_plans', and 'list_voc_plans' available, the description offers no context about when VHF plans specifically should be listed versus other plan types or general plan listings.

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

list_voc_plansB

List VOC (Optimized Cloud) plans.

Returns: List of VOC plans

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 the return type ('List of VOC plans'), which adds some behavioral context, but fails to disclose critical traits like whether it's read-only, requires authentication, has rate limits, or pagination behavior. This is inadequate for a tool with zero 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.

Conciseness3/5

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

The description is concise with two sentences, but the second sentence ('Returns: List of VOC plans') is redundant since an output schema exists. This repetition adds no value, reducing efficiency. However, it's front-loaded with the core purpose.

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 low complexity (0 parameters, output schema provided), the description is minimally adequate. It states the purpose and return value, but lacks behavioral details (e.g., safety, auth) that would be needed without annotations, making it incomplete for full agent understanding.

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 tool has 0 parameters, and the schema description coverage is 100% (as there are no parameters to describe). The description doesn't need to add parameter semantics, so it meets the baseline expectation without compensation 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 ('List') and resource ('VOC (Optimized Cloud) plans'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_plans', 'list_vc2_plans', or 'list_vhf_plans', which reduces clarity about its unique 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?

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, typical use cases, or comparisons to similar sibling tools like 'list_plans' or 'compare_plans', 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.

list_vpc2A

List all VPC 2.0 networks in your account.

Returns: List of VPC 2.0 objects with details including: - id: VPC 2.0 ID - description: User-defined description - region: Region where VPC 2.0 is located - ip_block: IP block (e.g., "10.0.0.0") - prefix_length: Prefix length (e.g., 24) - date_created: Creation date

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 states it's a listing operation (implied read-only) and details the return structure, which is helpful. However, it lacks information on behavioral aspects like pagination, rate limits, error conditions, or authentication requirements, leaving gaps for a tool with 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 front-loaded with the core purpose in the first sentence, followed by a structured breakdown of return values. Every sentence adds value without redundancy, making it highly 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 simplicity (0 parameters, no annotations, but with an output schema implied by the return details), the description is largely complete. It explains what the tool does and what it returns. However, it could improve by addressing behavioral aspects like pagination or errors, slightly reducing completeness for a tool with no annotations.

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 parameters with 100% coverage, so no parameter documentation is needed. The description correctly omits parameter details, focusing instead on the return values, which is appropriate given the schema completeness. A baseline of 4 is applied as it efficiently handles the lack of 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 specific action ('List all') and resource ('VPC 2.0 networks in your account'), making the purpose immediately apparent. It distinguishes itself from sibling tools like 'get_vpc2' (which likely retrieves a specific VPC) by emphasizing the comprehensive listing of all networks.

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, limitations (e.g., account scope), or compare it to similar tools like 'list' or other listing functions in the sibling set, leaving the agent without contextual usage cues.

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

list_windows_osC

List Windows operating systems.

Returns: List of Windows operating systems

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. The description only states what the tool does and what it returns, without mentioning behavioral aspects like whether this is a read-only operation, if there are rate limits, authentication requirements, or how the list is formatted/paginated. For a tool with zero annotation coverage, this is inadequate disclosure.

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 extremely concise with just two sentences that directly state the tool's purpose and return value. There's no wasted text, though the second sentence ('Returns: List of Windows operating systems') is somewhat redundant with the first. The structure is front-loaded with the core purpose.

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 that the tool has no parameters, has an output schema (which handles return value documentation), and performs a simple listing operation, the description is minimally adequate. However, with no annotations and multiple similar sibling tools, the description should provide more context about when to use this specific tool and any behavioral constraints.

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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter information, and the baseline for this situation is 4. The description appropriately focuses on the tool's purpose rather than redundant parameter details.

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 'List Windows operating systems' which provides a clear verb ('List') and resource ('Windows operating systems'), but it doesn't distinguish this from sibling tools like 'list_operating_systems', 'list_linux_os', or 'list_os_by_family'. The description is specific about the resource type but lacks differentiation from similar listing 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 'list_operating_systems', 'list_linux_os', and 'list_os_by_family' available, there's no indication of when this Windows-specific listing is preferred over the general operating system listing or other filtered listings.

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

list_with_ddos_protectionB

List all regions that support DDoS protection.

Returns: List of regions with DDoS protection capability

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. While it mentions the return value ('List of regions with DDoS protection capability'), it doesn't address important behavioral aspects like whether this is a read-only operation (implied but not stated), potential rate limits, authentication requirements, or error conditions. For a tool with zero annotation coverage, this leaves significant gaps in understanding 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 appropriately concise with two sentences that directly state the purpose and return value. There's no wasted language or unnecessary elaboration. However, the structure could be slightly improved by front-loading the most critical information more explicitly, but overall it's efficient and well-sized for the tool's simplicity.

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 that this is a simple read operation with 0 parameters and an output schema exists, the description is minimally adequate. However, with no annotations provided and many similar sibling tools, the description should do more to clarify when this specific tool should be used versus alternatives. The existence of an output schema means the description doesn't need to explain return values, but it lacks context about the tool's place in the broader tool ecosystem.

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 parameters with 100% schema description coverage, so the schema already fully documents the lack of parameters. The description appropriately doesn't add parameter information since none exist, which is correct for this case. The baseline for 0 parameters with high schema coverage is 4, as the description doesn't need to compensate for any parameter documentation 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: 'List all regions that support DDoS protection.' It specifies the verb ('List') and resource ('regions that support DDoS protection'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'list_regions' or 'list_by_region', which could cause confusion about when to use this specific tool.

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 like 'list_regions', 'list_by_region', and 'find_regions_with_plan', there's no indication of when this DDoS-specific listing is appropriate versus general region listing tools. The description lacks any context about prerequisites, timing, or alternatives.

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

monitor_inference_performanceB

Monitor performance metrics and usage trends for an inference subscription.

Args: subscription_id: The inference subscription ID or label

Returns: Performance monitoring data including: - current_usage: Real-time usage statistics - trends: Usage patterns and projections - alerts: Any usage or performance warnings - health_score: Overall subscription health (0-100)

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

TDQS

B3.4/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 describes what data is returned (current_usage, trends, alerts, health_score) which helps understand the tool's behavior. However, it doesn't disclose important behavioral traits like whether this is a read-only operation, whether it requires specific permissions, rate limits, or how frequently data is updated. The description adds some value but leaves significant gaps for a monitoring tool.

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 appropriately sized. It begins with a clear purpose statement, then provides organized sections for Args and Returns with bullet points. Every sentence earns its place, and the information is front-loaded with the most important details first. No wasted words or 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?

For a monitoring tool with no annotations and no output schema, the description provides reasonable coverage of what the tool does and what it returns. However, it lacks important context about behavioral constraints, error conditions, and how this tool differs from similar monitoring tools in the sibling list. The return format description helps, but more operational context would be valuable.

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 for the single parameter, the description provides crucial semantic context: 'subscription_id: The inference subscription ID or label.' This clarifies what the parameter represents and that it accepts either an ID or label format. Since the schema provides no descriptions, this information significantly enhances understanding 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: 'Monitor performance metrics and usage trends for an inference subscription.' It specifies the verb ('monitor'), resource ('inference subscription'), and scope ('performance metrics and usage trends'). However, it doesn't explicitly differentiate from sibling tools like 'analyze_inference_usage' or 'monitor_usage', which appear to have overlapping monitoring functions.

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 'analyze_inference_usage' and 'monitor_usage' available, there's no indication of when this specific monitoring tool is appropriate versus those other options. No prerequisites, exclusions, or comparative context is mentioned.

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

monitor_usageB

Monitor usage across all subaccounts and identify potential issues.

Returns: List of subaccounts with usage monitoring data and alerts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 monitoring and identifying issues, implying a read-only operation, but doesn't specify permissions required, rate limits, whether it's real-time or historical, or what 'alerts' entail. For a monitoring tool with zero 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 concise and front-loaded, with two sentences that directly state the purpose and return value. There's no wasted text, but it could be slightly more structured (e.g., separating usage from output). Overall, it's efficient and clear.

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 monitoring usage across subaccounts, the description is incomplete. No annotations exist to clarify behavior, and there's no output schema to explain the return format (e.g., structure of 'usage monitoring data and alerts'). The description should provide more context on scope, frequency, or output details to be fully helpful.

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 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate. A baseline of 4 is applied since the schema fully handles parameters, and the description doesn't introduce confusion.

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: 'Monitor usage across all subaccounts and identify potential issues.' This specifies the verb ('monitor'), resource ('usage across all subaccounts'), and objective ('identify potential issues'). However, it doesn't explicitly differentiate from sibling tools like 'analyze_costs' or 'get_usage', which might have overlapping functionality, preventing 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, timing (e.g., for proactive monitoring), or how it differs from sibling tools such as 'analyze_costs' or 'get_usage'. This lack of context leaves the agent guessing about appropriate use cases.

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

optimize_gateway_configurationC

Analyze and provide optimization recommendations for a storage gateway.

Smart identifier resolution: Use gateway label or ID.

Args: gateway_identifier: Gateway label or ID

Returns: Configuration analysis and optimization recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
gateway_identifierYes

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. The description states it 'analyze[s] and provide[s] optimization recommendations' which implies a read-only analysis operation, but doesn't disclose important behavioral traits like whether this requires specific permissions, whether it makes any changes to the gateway, what format the recommendations come in, or any rate limits. For a tool with no annotation coverage, this is inadequate disclosure.

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 reasonably concise with three distinct sections: purpose statement, identifier resolution note, and Args/Returns sections. Each sentence serves a purpose, though the 'Smart identifier resolution' note could be integrated more smoothly. The structure is clear and front-loaded with the main purpose.

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 no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It doesn't explain what 'configuration analysis' entails, what types of optimization recommendations are provided, the format of the return value, or any prerequisites or limitations. For a tool that presumably provides complex analysis output, this leaves significant gaps in understanding.

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% (no descriptions in schema), and the description adds some value by explaining 'Smart identifier resolution: Use gateway label or ID' and listing the parameter in the Args section. However, it doesn't fully compensate for the coverage gap - it doesn't explain what constitutes a valid label or ID format, or provide examples. With 1 parameter at 0% coverage, the description adds marginal but incomplete semantic information.

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: 'Analyze and provide optimization recommendations for a storage gateway.' It specifies both the action (analyze and provide recommendations) and the resource (storage gateway). However, it doesn't explicitly differentiate from sibling tools like 'get_gateway_status' or 'get_configuration_summary' which might provide related information.

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 minimal usage guidance. It mentions 'Smart identifier resolution: Use gateway label or ID' which gives some context about parameter usage, but doesn't specify when to use this tool versus alternatives like 'get_gateway_status' or 'get_configuration_summary' from the sibling list. No explicit when/when-not guidance or alternative recommendations are provided.

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

optimize_inference_costsC

Analyze costs and provide optimization recommendations for an inference subscription.

Args: subscription_id: The inference subscription ID or label

Returns: Cost optimization analysis including: - current_costs: Current usage-based costs - optimization_opportunities: Ways to reduce costs - plan_recommendations: Suggested plan changes - savings_potential: Estimated cost savings

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

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 describes a read-only analysis function ('analyze costs and provide optimization recommendations'), which implies non-destructive behavior, but doesn't disclose any behavioral traits like authentication requirements, rate limits, data freshness, or whether it triggers any side effects. For a cost analysis tool with zero annotation coverage, 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.

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 return values. It's appropriately sized at 4 sentences plus bullet points, with no redundant information. The front-loaded purpose statement is effective, though the bullet points could be slightly more concise.

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 analysis with optimization recommendations), no annotations, no output schema, and 0% schema coverage, the description provides adequate but incomplete coverage. It documents the parameter and return structure but lacks behavioral context, error conditions, and detailed usage scenarios 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.

Parameters3/5

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

The description includes an 'Args' section that documents the single parameter 'subscription_id' as 'The inference subscription ID or label', adding semantic meaning beyond the schema's bare type definition. With 0% schema description coverage and only 1 parameter, this adequately compensates, though it doesn't provide format examples or validation rules.

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: 'Analyze costs and provide optimization recommendations for an inference subscription.' It specifies the verb ('analyze' and 'provide optimization recommendations'), resource ('inference subscription'), and scope ('costs'). However, it doesn't explicitly distinguish from sibling tools like 'analyze_costs' or 'analyze_inference_usage', which could cause confusion.

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 'analyze_costs', 'analyze_inference_usage', and 'compare_plans', there's no indication of when this specific optimization tool is appropriate versus general analysis tools. 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.

promote_read_replicaC

Promote a read replica to a standalone database.

Args: database_id: The read replica database ID or label

Returns: Status message confirming promotion

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 action ('promote') and a return ('status message'), but fails to disclose critical traits like whether this is a destructive operation, requires specific permissions, has downtime implications, or involves rate limits. This leaves significant gaps for a mutation 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 front-loaded with the main purpose in the first sentence, followed by brief sections for args and returns. It is appropriately sized with no wasted words, though the structure could be slightly more integrated for optimal flow.

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 a database promotion tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on behavioral implications, error conditions, and output specifics, making it inadequate for safe and effective use by an AI agent.

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 schema description coverage is 0%, but the description adds some value by explaining that 'database_id' refers to a 'read replica database ID or label', clarifying its purpose. However, it does not fully compensate for the lack of schema details, such as format or constraints, so it meets the baseline for minimal parameter information.

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 ('promote') and resource ('read replica to a standalone database'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'create_read_replica' or 'fork_database', which are related but distinct operations, 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 when a read replica should be promoted or what prerequisites are needed. It lacks explicit context, exclusions, or references to sibling tools, offering minimal usage direction.

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

purge_cdn_zoneC

Purge all cached content from a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID

Returns: Purge operation details

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes

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 the tool purges all cached content, implying a destructive operation, but doesn't mention potential impacts like performance effects, permissions required, rate limits, or whether the purge is immediate or queued. 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.

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 parameter and return details. It uses only three sentences with no wasted words, making it efficient and easy to scan. A slight improvement could be integrating the parameter explanation more seamlessly.

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 destructive nature, no annotations, and no output schema, the description is incomplete. It lacks details on authentication needs, error handling, return value structure, or operational constraints, which are critical for safe and effective use in a CDN context.

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 schema description coverage is 0%, but the description compensates by explaining that 'zone_identifier' can be an origin domain, CDN domain, or UUID, adding useful semantic context beyond the basic string type in the schema. However, it doesn't provide examples or format details, keeping it at a baseline level.

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 ('Purge all cached content') and resource ('from a CDN zone'), making the purpose specific and understandable. It distinguishes from siblings like 'delete_cdn_zone' by focusing on cache clearing rather than deletion. However, it doesn't explicitly contrast with other cache-related tools if they exist, keeping it from 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, such as partial cache purges or other CDN management tools. It mentions 'Smart identifier resolution' but doesn't explain when to choose this over other methods or tools, leaving usage context unclear.

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

rebootB

Reboot an instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)

Returns: Status message confirming reboot

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes

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?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'reboot' implies a disruptive operation, the description doesn't mention downtime implications, permission requirements, whether the reboot is graceful or forced, or any rate limits. It only states it returns a status message, which is 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 perfectly structured and front-loaded: the core purpose in one sentence, followed by clear Arg/Returns sections. Every sentence earns its place with no wasted words. The formatting with headings enhances readability without adding 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?

For a destructive operation with no annotations and an output schema, the description is minimally adequate. It explains the parameter well and mentions the return type, but doesn't address critical behavioral aspects like downtime, permissions, or error conditions. The presence of an output schema means it doesn't need to detail return values, but safety concerns remain under-documented.

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 and only 1 parameter, the description adds significant value by explaining that 'instance_id' accepts IDs, labels, hostnames, or UUIDs with concrete examples ('web-server', 'db.example.com', or UUID). This goes well beyond what the bare schema provides, though it doesn't clarify if all formats work equivalently.

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 ('reboot') and resource ('an instance'), making the purpose immediately understandable. It distinguishes from siblings like 'start' and 'stop' by specifying the reboot action. However, it doesn't explicitly differentiate from 'reboot_bare_metal_server' which appears to be a sibling tool for a specific server 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 like 'start', 'stop', or 'reboot_bare_metal_server'. There's no mention of prerequisites, consequences, or appropriate contexts for rebooting versus other power management operations.

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

reboot_bare_metal_serverB

Reboot a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

TDQS

B3.2/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 action ('Reboot') and identifier resolution, but fails to disclose critical behavioral traits such as whether this requires specific permissions, if the reboot is graceful or forced, expected downtime, impact on running services, or any rate limits. For a destructive operation like rebooting a server, 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 with the core purpose in the first sentence. The additional sentences on identifier resolution and return value are useful, but the 'Args:' and 'Returns:' sections are somewhat redundant with the schema and could be integrated more seamlessly. Overall, it's efficient with minimal waste.

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 (a destructive operation on a bare metal server), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions needed, safety warnings, expected output details beyond 'Success message', or error conditions. For such a tool, more context is necessary to ensure safe and correct usage.

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 meaningful semantics beyond the input schema by explaining that 'server_identifier' accepts 'server label, hostname, or UUID' and noting 'Smart identifier resolution'. Since schema description coverage is 0% (the schema only specifies type and requirement), this compensates well by clarifying the parameter's purpose and acceptable values, though it could detail format constraints (e.g., UUID format).

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 ('Reboot') and target resource ('a bare metal server'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'reboot' (which might be for different server types) or 'stop_bare_metal_server'/'start_bare_metal_server', missing full 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 Guidelines3/5

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

The description provides some usage context by mentioning 'Smart identifier resolution' for server identification, which implies when to use this tool (when you need to reboot a bare metal server using various identifiers). However, it doesn't explicitly state when to choose this over alternatives like 'stop_bare_metal_server' followed by 'start_bare_metal_server', or when not to use it (e.g., during critical operations).

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

recycle_kubernetes_nodeB

Recycle (restart) a specific node. Smart identifier resolution: use cluster/node pool/node labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID node_identifier: The node label or ID to recycle

Returns: Recycle operation status

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes
node_identifierYes

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 full burden for behavioral disclosure. It states the action is 'recycle (restart)', implying a mutation operation, but doesn't disclose critical behavioral traits like whether this causes downtime, requires specific permissions, has rate limits, or what 'recycle' entails beyond restarting. The return value description ('Recycle operation status') is minimal.

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, parameter explanations, and return value note in just four sentences. It's front-loaded with the core action and uses bullet-like formatting for parameters. No wasted words, though the 'smart identifier resolution' note could be more integrated.

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?

For a mutation tool with 3 parameters, no annotations, and no output schema, the description covers the basic purpose and parameters adequately but lacks crucial behavioral context about downtime, permissions, or error conditions. It's minimally viable but leaves significant gaps for safe operation.

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 listing all three parameters with clear explanations of their purpose ('cluster label or ID', 'node pool label or ID', 'node label or ID to recycle'). It adds meaningful context about identifier flexibility ('use cluster/node pool/node labels or UUIDs'), significantly enhancing understanding 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 action ('recycle (restart)') and target ('a specific node'), providing a specific verb+resource combination. It distinguishes from siblings like 'delete_kubernetes_node' by specifying restart rather than deletion, but doesn't explicitly contrast with other restart-related tools like 'reboot' (which might apply to different 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?

The description provides no guidance on when to use this tool versus alternatives like 'reboot' or 'delete_kubernetes_node', nor does it mention prerequisites or contextual constraints. The 'smart identifier resolution' note hints at flexibility but doesn't offer decision criteria for tool selection.

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

regenerate_keysB

Regenerate the S3 access keys for an Object Storage instance.

Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)

Returns: Object Storage information with new access keys

ParametersJSON Schema
NameRequiredDescriptionDefault
object_storage_idYes

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 new access keys are generated, implying a mutation, but fails to detail critical aspects like whether this action is destructive (e.g., invalidates old keys), requires specific permissions, has rate limits, or what happens to existing access. 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.

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 clear sections for Args and Returns. It avoids unnecessary details, but the Returns section could be more specific (e.g., mentioning key fields) to enhance utility without adding bulk.

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 (a mutation with security implications), lack of annotations, and no output schema, the description is moderately complete. It covers the basic purpose and parameter semantics but falls short on behavioral transparency and usage guidelines, making it adequate but with clear gaps for safe and effective use.

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 meaningful context for the single parameter 'object_storage_id' by explaining it can be an ID or label with examples ('my-storage', 'backup-bucket', or UUID), which clarifies usage beyond the schema's basic string type. Since schema description coverage is 0%, this compensation is effective, though it doesn't cover all potential nuances like format constraints.

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 ('Regenerate') and resource ('S3 access keys for an Object Storage instance'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'validate_s3_access' or 'get_s3_config', which might handle related S3 operations, 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?

No guidance is provided on when to use this tool versus alternatives, such as when to regenerate keys instead of creating new storage or validating existing access. The description lacks context on prerequisites, exclusions, or comparisons with sibling tools, leaving usage unclear.

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

reinstallC

Reinstall an instance's operating system.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) hostname: New hostname for the instance (optional)

Returns: Reinstall status information

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes
hostnameNo

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 the action ('Reinstall') which implies a destructive operation, but doesn't explicitly warn about data loss, downtime, or irreversible changes. It also doesn't describe authentication needs, rate limits, or what 'Reinstall status information' entails. For a destructive 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.

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 uses minimal sentences. The purpose statement is front-loaded, and parameter explanations are concise. However, the 'Returns' section is somewhat vague ('Reinstall status information') and could be more specific about what information is included.

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?

For a destructive operation with 2 parameters and no annotations, the description is moderately complete. It covers the basic purpose and parameters but lacks critical context about data loss, prerequisites, and detailed behavioral traits. The presence of an output schema means the description doesn't need to explain return values in detail, but it should provide more operational guidance for a tool that reinstalls operating systems.

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 schema provides no parameter documentation. The description adds basic semantics for both parameters: 'instance_id' accepts ID, label, or hostname with examples, and 'hostname' is optional for setting a new hostname. However, it doesn't explain format constraints, validation rules, or what happens if hostname is omitted. This partially compensates for the schema gap but leaves important details unspecified.

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 ('Reinstall') and the resource ('an instance's operating system'), making the purpose immediately understandable. However, it doesn't distinguish this tool from potential siblings like 'reinstall_bare_metal_server' that appears in the sibling list, which suggests similar functionality for different 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., instance must be stopped), consequences (data loss), or compare it to related tools like 'reboot' or 'reinstall_bare_metal_server' from the sibling list. The agent must infer usage context entirely 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.

reinstall_bare_metal_serverC

Reinstall a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID hostname: New hostname for the server

Returns: Reinstall operation details

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes
hostnameNo

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 'reinstall' implies a destructive operation that likely wipes data and reinstalls the OS, but doesn't mention permissions required, whether it's reversible, downtime implications, or rate limits. This is inadequate for a mutation tool with zero 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.

Conciseness4/5

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

The description is front-loaded with the core purpose, followed by structured sections for args and returns. It's efficient with minimal waste, though the 'smart identifier resolution' note could be integrated more smoothly into the args section.

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 destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical behavioral details (e.g., data loss, auth needs), doesn't explain the return value ('reinstall operation details'), and provides minimal parameter guidance. This is insufficient for safe and effective tool invocation.

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 schema provides no parameter documentation. The description adds value by explaining 'server_identifier' accepts label, hostname, or UUID, and 'hostname' is optional for setting a new hostname. However, it doesn't cover format constraints, validation rules, or examples, leaving gaps for the two parameters.

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 ('reinstall') and resource ('bare metal server'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'reinstall' (without 'bare metal server') or 'reboot_bare_metal_server', which could cause confusion about when to use each.

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 'reinstall' (for non-bare-metal servers) or 'reboot_bare_metal_server'. It mentions 'smart identifier resolution' but doesn't clarify prerequisites, dependencies, or scenarios where 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.

remove_ip_whitelist_entryA

Remove an IP address or subnet from a user's whitelist.

Args: user_id: The user ID (UUID) or email address subnet: The IP address or subnet to remove (e.g., "8.8.8.0", "192.168.1.100") subnet_size: The subnet size (e.g., 24 for /24, 32 for single IP)

Returns: Status message confirming removal

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
subnetYes
subnet_sizeYes

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. It states the tool performs a removal operation and returns a status message, but lacks details on permissions required, whether the action is reversible, error conditions, or rate limits. This is a significant gap for a mutation tool with zero 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.

Conciseness4/5

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

The description is well-structured with distinct sections for purpose, arguments, and returns. It uses minimal sentences to convey necessary information, though the 'Args' and 'Returns' labels are slightly redundant given the schema and could be integrated more seamlessly.

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?

For a mutation tool with no annotations and no output schema, the description covers the basic operation and parameters adequately. However, it lacks details on behavioral aspects like side effects, authentication needs, or error handling, leaving gaps in completeness given the tool's complexity.

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%, but the description compensates by explaining all three parameters in the 'Args' section with clear examples (e.g., '8.8.8.0', '24 for /24'). It adds meaningful context beyond the bare schema, though it could specify format constraints like CIDR notation more explicitly.

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 ('Remove') and target resource ('IP address or subnet from a user's whitelist'), distinguishing it from sibling tools like 'add_ip_whitelist_entry' and 'get_ip_whitelist'. It precisely defines what the tool does without being tautological.

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., removing from a user's whitelist), but does not explicitly state when to use this tool versus alternatives like 'delete' operations or provide prerequisites. Usage is inferred rather than explicitly guided.

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

restore_from_backupC

Restore a database from a backup to a new instance.

Args: database_id: The source database ID or label backup_label: The backup label/timestamp to restore from database_label: Label for the new restored database plan: Plan ID for the new database region: Region for the new database vpc_id: VPC ID for the new database

Returns: Information about the restoration process

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
backup_labelYes
database_labelYes
planYes
regionYes
vpc_idNo

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 creating a 'new instance' but doesn't disclose critical behavioral traits: whether this is a destructive operation (e.g., overwriting existing data), permission requirements, rate limits, or what 'Information about the restoration process' entails (e.g., job ID, status, time estimates). For a mutation tool with zero 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.

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 Args and Returns sections. It's appropriately sized for a 6-parameter tool, though the Args section could be more concise by integrating explanations into the main description rather than listing them separately.

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 (database restoration with 6 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral risks, error conditions, or output details beyond a vague 'Information about the restoration process'. For a mutation tool with significant parameters, more context is needed to guide safe and effective use.

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 in the Args section, adding basic semantics (e.g., 'source database ID', 'backup label/timestamp', 'Label for the new restored database'). However, it doesn't explain parameter relationships, formats (e.g., timestamp format for backup_label), or constraints (e.g., valid plans/regions), leaving gaps despite covering all parameters.

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 ('Restore a database from a backup') and the outcome ('to a new instance'), which is specific and unambiguous. It distinguishes this from sibling tools like 'create' or 'fork_database' by focusing on restoration from backup rather than creation from scratch or replication from a live database.

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 'create' or 'fork_database'. It lacks context about prerequisites (e.g., existing backups), exclusions, or typical scenarios for restoration, leaving the agent to 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.

scale_kubernetes_node_poolB

Scale a node pool to the target number of nodes. Smart identifier resolution: use cluster/node pool labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID target_node_count: Target number of nodes (minimum 1)

Returns: Scaling operation details and status

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes
target_node_countYes

TDQS

B3.2/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 'smart identifier resolution' and returns 'scaling operation details and status', but lacks critical details like permissions required, whether scaling is immediate or gradual, potential downtime, cost implications, or error conditions. This is inadequate for a mutation tool with zero 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 efficiently structured with a clear purpose statement, parameter explanations, and return information in separate sections. Every sentence adds value without redundancy, making it easy to parse and understand quickly.

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 no annotations, no output schema, and 3 parameters, the description is partially complete. It covers parameters well but lacks behavioral transparency for a mutation tool. The return statement is vague ('details and status'), and there's no error handling or prerequisite info, making it adequate but with significant gaps for safe operation.

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%, but the description compensates well by explaining all three parameters in the Args section, clarifying their purposes (e.g., 'cluster label or ID', 'node pool label or ID', 'Target number of nodes (minimum 1)'). This adds meaningful context beyond the bare schema, though it doesn't cover format specifics like label syntax.

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 ('Scale a node pool') and resource ('node pool'), with the verb 'scale' being specific. It distinguishes from siblings like 'create_kubernetes_node_pool' or 'delete_kubernetes_node_pool' by focusing on resizing, but doesn't explicitly contrast with similar tools like 'update_kubernetes_node_pool' which might have overlapping functionality.

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 mentions 'smart identifier resolution' but doesn't specify prerequisites, constraints, or compare it to other scaling-related tools in the sibling list, leaving the agent without context for decision-making.

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

search_applicationsB

Search applications by name, description, or other criteria.

Args: search_term: Search term to match against application names and descriptions app_type: Optional filter by type ('marketplace', 'one-click') vendor: Optional filter by vendor name

Returns: List of matching applications

ParametersJSON Schema
NameRequiredDescriptionDefault
search_termYes
app_typeNo
vendorNo

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 full burden. It mentions the tool 'Returns: List of matching applications' which gives basic output information, but lacks critical behavioral details: whether this is a read-only operation, if it requires authentication, how results are sorted/paginated, what happens with no matches, or performance characteristics. The description doesn't adequately compensate for the missing 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 and appropriately sized. It starts with a clear purpose statement, then documents parameters in a clean Args section, and concludes with return information. Every sentence serves a purpose without redundancy. The only minor improvement would be integrating the parameter explanations more seamlessly rather than using section headers.

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 (3 parameters, no output schema, no annotations), the description is adequate but has gaps. It covers parameters well and states the return type, but lacks behavioral context about permissions, pagination, error conditions, or performance. For a search tool that likely interfaces with a database or API, more operational details would be helpful for an AI agent to use it 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 must compensate for the schema's lack of parameter documentation. It successfully explains all three parameters: 'search_term' searches names and descriptions, 'app_type' filters by specific types with examples, and 'vendor' filters by vendor name. This provides meaningful context beyond the bare schema types, though it doesn't specify format requirements or constraints.

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: 'Search applications by name, description, or other criteria.' It specifies the verb ('search') and resource ('applications'), making the intent unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'list_applications' or 'get_applications_by_vendor', which might offer similar functionality.

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 like 'list_applications', 'get_applications_by_vendor', and 'list_marketplace_applications', there's no indication of when this search tool is preferred over those listing tools or what specific scenarios it's designed for.

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

search_bare_metal_plansB

Search bare metal plans by specifications.

Args: min_vcpus: Minimum number of vCPUs min_ram: Minimum RAM in GB min_disk: Minimum disk space in GB max_monthly_cost: Maximum monthly cost in USD

Returns: List of plans matching the criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
min_vcpusNo
min_ramNo
min_diskNo
max_monthly_costNo

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. It states the tool returns a 'List of plans matching the criteria,' which implies a read-only operation, but doesn't disclose other behavioral traits such as authentication requirements, rate limits, error conditions, or whether the search is case-sensitive or supports partial matches. For a search tool with zero annotation coverage, 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 well-structured and front-loaded with the core purpose, followed by parameter and return value sections. Every sentence adds value: the first states the tool's function, and the subsequent lines clarify inputs and outputs without redundancy. It's appropriately sized for a search tool with four parameters.

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 (4 parameters, no annotations, no output schema), the description is partially complete. It covers the purpose and parameters adequately but lacks behavioral details (e.g., pagination, sorting, error handling) and doesn't fully compensate for the missing output schema by describing the structure of returned plans. It's minimally viable but has clear 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?

Schema description coverage is 0%, so the description must compensate. It does so by listing all four parameters with clear semantics: 'min_vcpus: Minimum number of vCPUs', 'min_ram: Minimum RAM in GB', etc. This adds essential meaning beyond the schema's type definitions. However, it doesn't explain that parameters are optional (default: null) 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.

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: 'Search bare metal plans by specifications.' It specifies the verb ('search') and resource ('bare metal plans'), making the intent unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'list_bare_metal_plans' or 'compare_plans', 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. It doesn't mention prerequisites, context, or compare it to similar tools like 'list_bare_metal_plans' or 'search_plans_by_specs' from the sibling list. The agent must infer usage from the name and parameters alone.

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

search_os_by_nameB

Search operating systems by name.

Args: name: OS name to search for (partial match)

Returns: List of matching operating systems

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. It mentions partial matching for the 'name' parameter, which is useful, but lacks details on permissions, rate limits, pagination, or error handling. For a read operation with 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.

Conciseness4/5

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

The description is brief and front-loaded with the core purpose, followed by structured 'Args' and 'Returns' sections. It avoids unnecessary details, though the formatting could be more integrated (e.g., as a single paragraph) for better flow.

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 likely defines the return structure), the description doesn't need to detail return values. However, with no annotations and low schema coverage, it should provide more context on usage scenarios or limitations to be fully adequate for a search operation.

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 schema description coverage is 0%, but the description adds crucial semantics by specifying that the 'name' parameter uses partial matching. This compensates well for the lack of schema documentation, though it doesn't cover other potential aspects like case sensitivity or format.

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 ('Search') and resource ('operating systems by name'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'get_os_by_name' or 'list_operating_systems', which appear to serve similar purposes, 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. With sibling tools like 'get_os_by_name' and 'list_operating_systems', there's no indication of when this search tool is preferred, such as for partial matches or broader queries, leaving usage ambiguous.

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

search_plans_by_specsB

Search plans by specifications.

Args: min_vcpus: Minimum number of vCPUs min_ram: Minimum RAM in MB min_disk: Minimum disk space in GB max_monthly_cost: Maximum monthly cost in USD

Returns: List of plans matching the criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
min_vcpusNo
min_ramNo
min_diskNo
max_monthly_costNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. While it indicates this is a search/read operation (implied by 'Search' and 'Returns'), it doesn't disclose important behavioral traits like whether this requires authentication, what happens when no matches are found, whether results are paginated, rate limits, or performance characteristics. The description adds minimal behavioral context beyond 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.

Conciseness5/5

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

The description is perfectly structured and concise. It opens with a clear purpose statement, then provides a well-organized Args section with bullet-like clarity for each parameter, followed by a Returns statement. Every sentence earns its place, with zero wasted words or 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 moderate complexity (4 parameters, search operation) and the presence of an output schema (which handles return value documentation), the description is adequate but has gaps. It covers parameters well and states the return type, but lacks behavioral context (authentication, error handling, pagination) and usage guidance. For a search tool with no annotations, more behavioral disclosure would be beneficial.

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 all 4 parameters with their purposes and units (vCPUs, MB, GB, USD), adding crucial meaning that the bare schema lacks. The Args/Returns structure effectively documents what each parameter controls and what the tool returns, fully compensating 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 as 'Search plans by specifications' which is a specific verb+resource combination. It distinguishes itself from sibling tools like 'compare_plans' or 'get_plan' by focusing on filtering by technical specifications rather than comparison or retrieval of a single plan. However, it doesn't explicitly differentiate from 'search_bare_metal_plans' which appears to be a similar search tool for a different 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 when this search is appropriate compared to other plan-related tools like 'list_plans', 'compare_plans', or 'get_cheapest_plan', nor does it specify any prerequisites or contextual requirements for using this search functionality.

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

search_startup_scriptsC

Search startup scripts by name or content.

Args: query: Search term to look for in script names or content

Returns: List of matching startup scripts

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 search returns a 'List of matching startup scripts', it doesn't describe important behavioral aspects like whether this is a read-only operation, how results are ordered, if there's pagination, what happens with empty queries, or performance characteristics. The description provides basic functional information 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.

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 Args and Returns sections. The three sentences each serve a distinct purpose without redundancy. However, the formatting with separate sections could be slightly more integrated for optimal front-loading of 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 that there's an output schema (which presumably documents the return format), the description doesn't need to explain return values in detail. However, for a search tool with no annotations and multiple sibling alternatives, the description should provide more context about when to use it and behavioral characteristics. It's minimally adequate but lacks guidance that would help an agent choose between this and similar tools.

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 adds minimal parameter semantics beyond what the schema provides. With 0% schema description coverage and only one parameter, the description explains that 'query' is a 'Search term to look for in script names or content', which provides some context. However, it doesn't specify search syntax, case sensitivity, or matching behavior. The baseline is appropriate given the simple single-parameter 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: 'Search startup scripts by name or content.' This specifies the verb (search), resource (startup scripts), and scope (by name or content). However, it doesn't explicitly distinguish this tool from sibling tools like 'list_startup_scripts' or 'get_startup_script', 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. There are multiple sibling tools that interact with startup scripts (create_startup_script, delete_startup_script, list_startup_scripts, get_startup_script, update_startup_script), but the description doesn't indicate when search is preferred over list or get operations.

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

setup_cdn_for_websiteC

Set up a CDN zone with optimal settings for a website.

Args: origin_domain: Origin domain for the website enable_security: Enable bot blocking and security features enable_compression: Enable gzip compression regions: List of regions to enable (if not specified, uses global)

Returns: Created CDN zone with setup details and next steps

ParametersJSON Schema
NameRequiredDescriptionDefault
origin_domainYes
enable_securityNo
enable_compressionNo
regionsNo

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 mentions 'optimal settings' but doesn't explain what that entails, whether this is a creation or configuration operation, what permissions are required, if it's idempotent, or what happens on failure. For a setup tool with zero annotation coverage, this leaves critical behavioral aspects undisclosed.

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 semantics, and ends with return information. Each sentence serves a clear purpose with minimal fluff, though the parameter explanations could be slightly more detailed given the 0% schema coverage.

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 (a setup operation with 4 parameters), no annotations, and no output schema, the description is moderately complete. It covers the purpose and parameters but lacks behavioral context, error handling, and detailed return value explanation. For a tool that likely involves configuration changes, more completeness would be beneficial to guide the agent 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?

Schema description coverage is 0%, so the description must compensate. It lists all 4 parameters with brief explanations (e.g., 'origin_domain: Origin domain for the website'), adding meaning beyond the bare schema. However, it doesn't provide format details, constraints, or examples (e.g., valid region values), leaving some ambiguity. The description adds value but doesn't fully bridge the coverage 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: 'Set up a CDN zone with optimal settings for a website.' It specifies the verb ('set up'), resource ('CDN zone'), and scope ('for a website'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'create_cdn_zone' or 'setup_website', which could cause confusion.

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 like 'create_cdn_zone', 'update_cdn_zone', and 'setup_website', there's no indication of prerequisites, when this is the appropriate choice, or what makes it different from similar tools. The absence of usage context leaves the agent guessing.

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

setup_kubernetes_cluster_for_workloadB

Set up a Kubernetes cluster optimized for specific workload types.

Args: label: Label for the new cluster region: Region code (e.g., 'ewr', 'lax') workload_type: Type of workload ('web', 'api', 'data', 'development') environment: Environment type ('production', 'staging', 'development') auto_scaling: Enable auto-scaling for node pools

Returns: Created cluster information with setup recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
regionYes
workload_typeNoweb
environmentNoproduction
auto_scalingNo

TDQS

B3.2/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 'optimized for specific workload types' and 'setup recommendations' in the return, but doesn't clarify critical aspects: whether this creates infrastructure (likely yes, but not explicit), what permissions or costs are involved, if it's idempotent, or how long it takes. For a cluster creation 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 efficiently structured with a clear purpose statement followed by organized 'Args' and 'Returns' sections. Every sentence adds value: the first establishes the tool's core function, the Args explain each parameter, and the Returns clarifies output expectations. No wasted words or 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 complexity of cluster setup (5 parameters, no annotations, no output schema), the description is minimally adequate. It covers parameters well but lacks crucial context: no behavioral transparency for a potentially expensive/destructive operation, no usage guidelines despite many sibling tools, and the Returns section is vague ('setup recommendations' without format). For a tool that likely creates infrastructure, more completeness is needed.

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 5 parameters in the 'Args' section, providing clear meaning for each. It adds value beyond the bare schema by specifying format examples ('ewr', 'lax'), workload/environment types, and the purpose of auto-scaling. However, it doesn't explain parameter interactions or constraints (e.g., if certain workload_types require specific regions).

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: 'Set up a Kubernetes cluster optimized for specific workload types.' It specifies the verb ('Set up') and resource ('Kubernetes cluster'), and adds the optimization aspect. However, it doesn't explicitly differentiate from sibling tools like 'create_kubernetes_cluster', leaving some ambiguity about how this setup differs from a basic creation.

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 'create_kubernetes_cluster' and 'create_kubernetes_node_pool' available, there's no indication of when this optimized setup tool is preferred over basic creation tools or how it relates to other setup tools like 'setup_website' or 'setup_cdn_for_website'.

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

setup_mysql_databaseB

Quick setup for a MySQL database with application user and database.

Args: region: Region code (e.g., 'ewr', 'lax') plan: Plan ID (e.g., 'vultr-dbaas-hobbyist-cc-1-25-1') label: Label for the database root_password: Root password (auto-generated if not provided) app_user: Application username to create app_password: Application user password (auto-generated if not provided) app_database: Application database name to create

Returns: Complete setup information including connection details

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes
planYes
labelYes
root_passwordNo
app_userNoappuser
app_passwordNo
app_databaseNoappdb

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 mentions that root_password and app_password are auto-generated if not provided, which adds some context. However, it fails to disclose critical behavioral traits such as whether this is a destructive operation (e.g., overwriting existing databases), what permissions or authentication are required, potential rate limits, or error handling. For a tool that likely creates resources, 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.

Conciseness4/5

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

The description is well-structured and appropriately sized, with a clear purpose statement followed by 'Args' and 'Returns' sections. Every sentence adds value, such as explaining auto-generation for passwords. It could be slightly more front-loaded by emphasizing the tool's core action earlier, but overall it is efficient and organized.

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 (7 parameters, no annotations, no output schema), the description is moderately complete. It covers the purpose and parameters adequately but lacks behavioral context (e.g., safety, permissions) and detailed return value explanation beyond 'Complete setup information including connection details'. For a setup tool with significant parameters, it should provide more guidance on outcomes and potential side effects.

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 schema description coverage is 0%, so the description must compensate. It provides a clear 'Args' section that lists all 7 parameters with brief explanations (e.g., 'Region code', 'Plan ID', 'Label for the database'), adding meaningful semantics beyond the bare schema. However, it lacks details like format examples beyond 'ewr' or 'vultr-dbaas-hobbyist-cc-1-25-1', and does not explain constraints or dependencies, preventing a perfect score.

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: 'Quick setup for a MySQL database with application user and database.' It specifies the verb ('setup') and resource ('MySQL database'), and includes the creation of an application user and database. However, it does not explicitly differentiate from sibling tools like 'setup_postgresql_database' or 'create_logical_database', which reduces the score from 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 lacks context about prerequisites, when it's appropriate compared to other database setup tools (e.g., 'setup_postgresql_database'), or any exclusions. This absence of usage instructions leaves the agent without clear direction.

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

setup_permissionsC

Configure permissions for a subaccount.

Args: subaccount_id: The subaccount ID, name, email, or UUID permissions: List of permissions to grant (e.g., ["instances", "dns", "billing"])

Returns: Permission configuration status

ParametersJSON Schema
NameRequiredDescriptionDefault
subaccount_idYes
permissionsYes

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 must fully disclose behavioral traits. It mentions the tool configures permissions, implying a mutation operation, but fails to detail critical aspects like whether this overwrites existing permissions, requires specific authentication, has rate limits, or what happens on errors. The description adds minimal context beyond the basic action, leaving 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.

Conciseness4/5

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

The description is well-structured and concise, with a clear purpose statement followed by 'Args' and 'Returns' sections. Each sentence adds value without redundancy. However, the 'Returns' section is vague ('Permission configuration status'), which slightly reduces efficiency, but overall it is front-loaded and waste-free.

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 a permissions configuration tool with no annotations, 0% schema coverage, and no output schema, the description is insufficient. It lacks details on behavioral traits, error handling, valid permission options, and the structure of the return value. For a mutation tool with critical security implications, this leaves the agent poorly equipped to use it correctly.

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 explains 'subaccount_id' accepts various identifiers and 'permissions' is a list with examples like '["instances", "dns", "billing"]', adding useful semantics beyond the bare schema. However, it does not specify valid permission values or constraints, leaving some ambiguity. Given the low coverage, this provides moderate but incomplete compensation.

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: 'Configure permissions for a subaccount.' It specifies the verb ('configure') and resource ('permissions for a subaccount'), making it easy to understand. However, it does not explicitly differentiate from sibling tools like 'update_user_access_control' or 'analyze_user_permissions', which might handle similar permissions-related tasks.

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 lacks context such as prerequisites (e.g., needing admin rights), when not to use it (e.g., for user-level permissions), or references to sibling tools like 'list_available_permissions' for checking valid options. This omission leaves the agent without clear usage direction.

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

setup_postgresql_databaseA

Quick setup for a PostgreSQL database with application user and database.

Args: region: Region code (e.g., 'ewr', 'lax') plan: Plan ID (e.g., 'vultr-dbaas-hobbyist-cc-1-25-1') label: Label for the database version: PostgreSQL version (13-17) app_user: Application username to create app_password: Application user password (auto-generated if not provided) app_database: Application database name to create

Returns: Complete setup information including connection details

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes
planYes
labelYes
versionNo17
app_userNoappuser
app_passwordNo
app_databaseNoappdb

TDQS

A4/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 'Quick setup' and that the password is 'auto-generated if not provided', but lacks critical behavioral details: whether this is a destructive operation (e.g., overwrites existing databases), authentication requirements, rate limits, or what 'Complete setup information' includes. For a complex provisioning tool with 7 parameters, 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 well-structured and front-loaded with the core purpose, followed by a clear 'Args:' and 'Returns:' section. Every sentence earns its place by explaining parameters or outcomes 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.

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, no output schema), the description is partially complete. It excels in parameter semantics and purpose clarity but falls short in behavioral transparency (e.g., missing permissions, side effects) and output details ('Complete setup information' is vague without an output schema). This leaves gaps for safe and effective use.

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 semantic explanations for all 7 parameters beyond their names, including examples (e.g., 'ewr', '13-17'), defaults ('auto-generated if not provided'), and purposes ('Label for the database'). This adds significant value over 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 tool's purpose with specific verbs ('Quick setup') and resources ('PostgreSQL database with application user and database'), distinguishing it from sibling tools like 'setup_mysql_database' or general creation tools like 'create'. It explicitly mentions what gets created (database, user, password, database name), 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 Guidelines4/5

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

The description provides clear context for when to use this toolโ€”for setting up a PostgreSQL database with an application user and database. However, it does not explicitly state when NOT to use it or name alternatives (e.g., 'setup_mysql_database' or 'create_logical_database' from the sibling list), which prevents a perfect score.

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

setup_service_userB

Set up a new service user (API-only access) with specified permissions.

Args: email: Service user's email address first_name: Service user's first name last_name: Service user's last name permissions: List of permissions to grant. If None, grants basic API access.

Returns: Created service user information including API key

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
first_nameYes
last_nameYes
permissionsNo

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 full burden. It states this creates a service user with API access, implying a write operation, but doesn't disclose critical behavioral traits: required permissions/authorization, whether this is idempotent, rate limits, what happens if the email already exists, or the format of the returned API key. For a mutation 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.

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 clearly. The Args and Returns sections are structured but slightly verbose for a description field (these details might belong in schema). Every sentence adds value, though the formatting could be more concise.

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 (mutation tool creating a user with permissions), lack of annotations, and no output schema, the description is moderately complete. It covers the purpose and parameters adequately but misses behavioral context (auth, idempotency, error cases) and details on the return value ('API key' format/storage). It's minimally viable but has clear gaps for a tool of this type.

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 adds meaningful semantics for all 4 parameters: email, first_name, and last_name are self-explanatory, and permissions is described with its default behavior ('If None, grants basic API access'). This goes beyond the bare schema, though it doesn't specify what 'basic API access' entails or list possible permission values.

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: 'Set up a new service user (API-only access) with specified permissions.' It specifies the verb ('Set up'), resource ('service user'), and key characteristics ('API-only access', 'with specified permissions'). However, it doesn't explicitly distinguish this from sibling tools like 'create_user' or 'setup_standard_user', 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 minimal usage guidance. It mentions that permissions default to 'basic API access' if None, but doesn't explain when to use this tool versus alternatives like 'create_user' or 'setup_standard_user' (both present in sibling tools). No prerequisites, exclusions, or specific contexts are provided.

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

setup_standard_userA

Set up a new user with standard permission sets.

Args: email: User's email address first_name: User's first name last_name: User's last name password: User's password permissions_level: Permission level - "basic", "developer", "admin", or "readonly" - basic: subscriptions_view, dns, support - readonly: subscriptions_view, support - developer: subscriptions_view, subscriptions, provisioning, dns, support, objstore, loadbalancer, firewall - admin: all permissions except manage_users - superadmin: all permissions including manage_users

Returns: Created user information with applied permissions

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
first_nameYes
last_nameYes
passwordYes
permissions_levelNobasic

TDQS

A4.2/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. It clearly indicates a creation/write operation ('Set up a new user') and specifies the return value ('Created user information with applied permissions'), but does not disclose behavioral traits like required permissions, rate limits, error conditions, or whether the operation is idempotent.

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 uses bullet points for permission level details. It's appropriately sized but could be more front-loaded by moving the permission mappings to a separate section or note to improve initial scanability.

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 of a user creation tool with permission configuration, no annotations, and no output schema, the description does well by explaining parameters thoroughly and specifying the return value. However, it lacks information about authentication requirements, error handling, and what specific user information is returned.

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 detailed semantics for all 5 parameters. It explains each parameter's purpose and, crucially, documents the 'permissions_level' enum values with comprehensive mappings to specific permission sets, adding 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 tool's purpose with a specific verb ('Set up') and resource ('new user with standard permission sets'), distinguishing it from sibling tools like 'create_user' or 'setup_service_user' by emphasizing permission configuration. It explicitly defines what constitutes 'standard' through detailed permission level mappings.

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 for creating users with predefined permission sets, but does not explicitly state when to use this tool versus alternatives like 'create_user' or 'setup_service_user'. It provides context through permission level details but lacks explicit comparison or exclusion criteria.

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

setup_web_server_rulesA

Set up common firewall rules for a web server.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) allow_ssh_from: IP subnet to allow SSH from (default: anywhere)

Returns: List of created firewall rules

Creates rules for:

  • HTTP (port 80) from anywhere

  • HTTPS (port 443) from anywhere

  • SSH (port 22) from specified subnet

  • ICMP (ping) from anywhere

ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes
allow_ssh_fromNo0.0.0.0/0

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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. It clearly indicates this is a creation/mutation tool ('Creates rules'), but doesn't disclose important behavioral traits like whether it overwrites existing rules, requires specific permissions, has rate limits, or provides error handling. The description adds some context about what gets created but lacks comprehensive behavioral disclosure.

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 clear sections (description, args, returns, details), front-loading the main purpose. Every sentence adds value: the opening statement defines the tool, the args section explains parameters, the returns section states the output, and the bullet list specifies exactly what gets created. Zero wasted text.

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 this is a mutation tool with no annotations but with an output schema (which handles return values), the description provides good context: clear purpose, parameter explanations, and detailed specification of what rules get created. It could be more complete by mentioning behavioral aspects like permissions or idempotency, but covers the essential context well for a setup 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?

With 0% schema description coverage for 2 parameters, the description compensates well by explaining both parameters: 'firewall_group_id' is described as 'The firewall group ID or description' with examples, and 'allow_ssh_from' is explained as 'IP subnet to allow SSH from' with its default value. 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 ('Set up common firewall rules') and resource ('for a web server'), distinguishing it from sibling tools like 'create_rule' or 'list_firewall_rules' by specifying it's for web server configurations. It explicitly lists the ports and protocols being configured, making the purpose highly 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 when setting up firewall rules for a web server, but doesn't explicitly state when to use this tool versus alternatives like 'create_rule' or 'configure_basic_web_lb'. It mentions the default SSH access setting but doesn't provide guidance on prerequisites or exclusions.

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

setup_websiteB

Set up basic DNS records for a website.

Args: domain: The domain name ip: The website IP address www_enabled: Whether to create www subdomain record (default: True)

Returns: List of created DNS records

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
ipYes
www_enabledNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. It states the tool creates DNS records, implying a write/mutation operation, but doesn't disclose critical behavioral traits: required permissions, whether changes are reversible, rate limits, or error conditions. The description adds minimal context beyond the basic action, leaving significant gaps for a mutation tool.

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: the first sentence states the purpose, followed by organized sections for Args and Returns. Every sentence adds valueโ€”no fluff or repetition. It's appropriately sized for a tool with three parameters and a clear output.

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 no annotations and an output schema (implied by 'Returns'), the description is moderately complete. It covers purpose and parameters but lacks behavioral context (e.g., side effects, auth needs). The output schema handles return values, so the description doesn't need to explain them. However, for a mutation tool, more disclosure on risks or prerequisites would improve completeness.

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 includes an 'Args' section that explains all three parameters: 'domain' (domain name), 'ip' (website IP address), and 'www_enabled' (whether to create www subdomain record with default). Since schema description coverage is 0%, this compensates fully by providing clear semantics for each parameter, though it lacks format details (e.g., IP format).

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: 'Set up basic DNS records for a website.' It specifies the verb ('Set up'), resource ('basic DNS records'), and context ('for a website'), making the intent unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'create_domain' or 'create_record', which might handle similar DNS-related operations.

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., domain ownership), exclusions, or compare it to siblings like 'create_domain' or 'setup_cdn_for_website'. The agent must infer usage from the purpose alone, which is insufficient for optimal tool selection.

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

startA

Start a stopped instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)

Returns: Status message confirming start

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes

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?

With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions this starts a 'stopped instance' (implying state change), it doesn't cover important behavioral aspects like required permissions, rate limits, whether the operation is idempotent, or what happens if the instance is already running. The description is minimal 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.

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 formatting makes it easy to scan and understand quickly.

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?

For a mutation tool with no annotations and an output schema, the description provides adequate basic information but lacks important context. It covers the purpose and parameter semantics well, but doesn't address behavioral aspects like permissions, idempotency, or error conditions. The presence of an output schema means it doesn't need to explain return values, but other gaps remain.

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 for the single parameter, the description provides valuable semantic context by explaining that 'instance_id' can be an ID, label, hostname, or UUID with specific examples ('web-server', 'db.example.com', or UUID). This adds meaningful interpretation beyond the bare schema type declaration.

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 ('Start a stopped instance') with the resource ('instance'), distinguishing it from siblings like 'stop', 'reboot', or 'create'. It uses precise terminology that differentiates this tool's purpose from other instance management 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 like 'reboot' or 'start_bare_metal_server', nor does it mention prerequisites (e.g., the instance must be in a stopped state). It simply states what the tool does without contextual usage information.

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

start_bare_metal_serverB

Start a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

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 states the action is 'Start' (implying a state change) and mentions smart identifier resolution, but lacks critical details: required permissions, whether this is idempotent, expected execution time, error conditions, or rate limits. The return value is vaguely described as 'Success message' without specifying format or content.

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 followed by specific sections for Args and Returns. Each sentence adds value: the first states the action, the second explains identifier resolution, and the last describes the return. There is no redundant or wasted text.

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 mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., idempotency, side effects), error handling, prerequisites (server state), and detailed return values. The parameter explanation is good, but overall context is insufficient for safe and effective use by an AI agent.

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%, but the description compensates well by explaining the single parameter's semantics: 'server_identifier' accepts 'server label, hostname, or UUID'. This adds meaningful context beyond the schema's basic string type, clarifying acceptable identifier formats. However, it doesn't detail constraints like length or format patterns.

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 ('Start') and resource ('a bare metal server'), making the purpose immediately understandable. It distinguishes from sibling tools like 'reboot_bare_metal_server' and 'stop_bare_metal_server' by specifying the starting action, though it doesn't explicitly contrast with them.

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 'start' (generic) or 'reboot_bare_metal_server'. It mentions smart identifier resolution but doesn't explain prerequisites, such as the server needing to be in a stopped state, or when not to use it.

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

start_maintenanceC

Start maintenance on a database.

Args: database_id: The database ID or label

Returns: Status message confirming maintenance start

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 action ('Start maintenance') which implies a mutation/write operation, but doesn't disclose critical behavioral aspects like: whether this requires admin permissions, if it causes downtime, how long maintenance lasts, what 'maintenance' entails, or error conditions. The return value is mentioned but not explained.

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 concise with three sentences that each serve a purpose: stating the action, documenting the parameter, and mentioning the return. It's front-loaded with the core purpose. The structure with 'Args:' and 'Returns:' sections is clear though minimal.

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 mutation tool with no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It covers basic purpose and parameter but lacks critical context about behavioral impact, permissions needed, side effects, and detailed return values. The agent would be operating with significant uncertainty about this tool's effects.

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 documents the single parameter 'database_id' and provides basic semantics ('The database ID or label'), which adds value beyond the bare schema. However, it doesn't explain format expectations, valid values, or provide examples for this critical identifier.

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 ('Start maintenance') and target resource ('on a database'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from potential maintenance-related siblings (like 'stop_maintenance' or 'get_maintenance_updates'), though none appear 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 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's no mention of prerequisites, consequences, or when not to use it. Sibling tools include 'get_maintenance_updates' which might be related, but no explicit comparison is made.

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

start_migrationB

Start migrating data from an external database.

Args: database_id: The destination database ID or label host: Source database hostname port: Source database port username: Source database username password: Source database password database: Source database name ssl: Use SSL connection to source

Returns: Status message confirming migration start

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
hostYes
portYes
usernameYes
passwordYes
databaseYes
sslNo

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 states the action ('Start migrating') and a return value ('Status message confirming migration start'), but lacks critical details such as whether this is a long-running operation, if it requires specific permissions, potential side effects (e.g., data overwriting), or error handling. This is inadequate for a complex migration 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 with a clear purpose statement followed by parameter and return sections. It's appropriately sized for a 7-parameter tool, though the 'Args' and 'Returns' labels are slightly redundant given the schema. Every sentence adds value, with no 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, no output schema), the description is partially complete. It covers parameters adequately but lacks behavioral context (e.g., execution model, error cases) and relies on the return statement without detailing the status message format. It's minimally viable but has clear gaps for a migration operation.

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 includes an 'Args' section that lists and briefly describes all 7 parameters, adding meaningful context beyond the schema (which has 0% description coverage). It clarifies roles like 'destination database ID' vs. 'source database' details, though it doesn't specify formats (e.g., for database_id) or constraints (e.g., port range). This compensates well 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 with a specific verb ('Start migrating') and resource ('data from an external database'). It distinguishes from siblings like 'stop_migration' and 'get_migration_status' by focusing on initiation, though it doesn't explicitly contrast with other migration-related 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 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 a destination database setup), exclusions (e.g., not for ongoing migrations), or refer to sibling tools like 'stop_migration' or 'get_migration_status' for context.

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

start_version_upgradeC

Start a database engine version upgrade.

Args: database_id: The database ID or label version: Target version to upgrade to

Returns: Status message confirming upgrade start

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
versionYes

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 the action ('Start a database engine version upgrade') but fails to mention critical details like whether this is a destructive operation, requires downtime, has rate limits, or specific permissions needed. 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.

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 brief parameter and return value sections. It avoids unnecessary verbosity, though the parameter descriptions could be slightly more informative without sacrificing 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 of a version upgrade operation, no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on behavioral implications, error conditions, and what the 'Status message' entails, making it inadequate for safe and effective tool invocation.

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 schema description coverage is 0%, so the description must compensate. It lists the two parameters ('database_id' and 'version') and provides minimal semantic context ('Target version to upgrade to'), but doesn't explain format, constraints, or examples. This adds some value but is insufficient for full parameter understanding, aligning with the baseline expectation.

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 with a specific verb ('Start') and resource ('database engine version upgrade'), making it immediately understandable. However, it doesn't differentiate from potential sibling tools like 'upgrade_kubernetes_cluster' or other upgrade-related 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, prerequisites, or exclusions. It lacks context about whether this is for emergency upgrades, scheduled maintenance, or other scenarios, leaving the agent with minimal usage direction.

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

stopA

Stop a running instance.

Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)

Returns: Status message confirming stop

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes

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?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Stop' implies a state-changing operation, it doesn't specify whether this is reversible, what permissions are required, whether data is preserved, or what happens to associated resources. The description mentions a return value but doesn't describe error conditions or side effects.

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 uses only three sentences. However, the 'Args:' and 'Returns:' headings are slightly redundant since the schema already documents parameters and return types, making it not perfectly efficient.

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?

For a destructive operation with no annotations, the description is moderately complete. It covers the core purpose and parameter semantics well, and the existence of an output schema means it doesn't need to detail return values. However, it lacks important behavioral context about safety, reversibility, and error conditions that would be expected for a stop operation.

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 for the single parameter, the description provides essential semantic context that the schema lacks. It explains that 'instance_id' accepts multiple identifier types (ID, label, hostname, or UUID) with concrete examples, which is crucial information not present in 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 ('Stop') and resource ('a running instance'), distinguishing it from sibling tools like 'start', 'reboot', or 'delete'. It provides a complete verb+resource combination that leaves no ambiguity about the tool's function.

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 'stop_bare_metal_server', 'stop_migration', or other stopping mechanisms. It doesn't mention prerequisites, dependencies, or contextual constraints for proper usage.

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

stop_bare_metal_serverB

Stop a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID

Returns: Success message

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes

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 states the action is 'Stop', implying a mutation that likely changes server state, but lacks details on permissions required, whether the stop is graceful or forced, potential side effects, or error conditions. The mention of 'Success message' hints at output but is vague.

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 front-loaded with the core purpose, followed by brief sections for args and returns, making it efficient and well-structured. However, the 'Returns' section is overly vague ('Success message'), which slightly reduces effectiveness without adding unnecessary length.

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 no annotations, no output schema, and low schema coverage, the description is minimally adequate. It covers the basic action and parameter semantics but lacks details on behavioral traits, error handling, and output specifics, which are important for a mutation tool like stopping a server.

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 schema description coverage is 0%, but the description compensates by explaining that 'server_identifier' accepts 'server label, hostname, or UUID', adding semantic meaning beyond the schema's basic string type. Since there's only one parameter, this is sufficient for clarity, though it doesn't detail format constraints or examples.

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 'Stop' and resource 'bare metal server', making the purpose specific and understandable. It distinguishes from siblings like 'reboot_bare_metal_server' by specifying a stop action, though it doesn't explicitly contrast with similar tools like 'stop' (without 'bare_metal_server') 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 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 'reboot_bare_metal_server' or general 'stop' tools in the sibling list. It mentions smart identifier resolution but doesn't specify prerequisites, exclusions, or contextual usage scenarios.

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

stop_migrationC

Stop an ongoing database migration.

Args: database_id: The database ID or label

Returns: Status message confirming migration stop

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

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 it stops a migration and returns a status message. It lacks critical behavioral details: whether this is destructive (interrupts migration), requires specific permissions, has side effects (e.g., leaves database in partial state), or handles errors. For a mutation 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.

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 Args and Returns sections. It's front-loaded and wastes no words, though the Returns section could be more informative (e.g., describing possible status messages).

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 mutation tool with no annotations, no output schema, and low schema coverage, the description is incomplete. It misses critical context: behavioral risks (e.g., irreversible stop), error handling, prerequisites (migration must be active), and what the status message contains. The agent lacks enough information to use this tool safely and 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?

Schema description coverage is 0%, but the description adds basic meaning for the single parameter ('database_id: The database ID or label'). This clarifies what the parameter represents, though it doesn't provide format examples or constraints. With one parameter and some added semantics, it meets the baseline for minimal viability.

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 ('stop') and resource ('ongoing database migration'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'start_migration' or 'get_migration_status', 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. It doesn't mention prerequisites (e.g., only works on active migrations), exclusions, or refer to sibling tools like 'start_migration' or 'get_migration_status' for context.

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

updateB

Update an existing user's settings.

Args: user_id: The user ID (UUID) or email address to update api_enabled: Enable/disable API access acls: List of permissions to grant. Available permissions: - manage_users: Manage other users - subscriptions_view: View subscriptions - subscriptions: Manage subscriptions - provisioning: Provision resources - billing: Access billing information - support: Access support tickets - abuse: Handle abuse reports - dns: Manage DNS - upgrade: Upgrade plans - objstore: Manage object storage - loadbalancer: Manage load balancers - firewall: Manage firewalls - alerts: Manage alerts

Returns: Updated user information

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
api_enabledNo
aclsNo

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 the full burden of behavioral disclosure. It states this is an update operation, implying mutation, but doesn't mention critical details like required permissions, whether changes are reversible, rate limits, or error conditions. The description adds minimal behavioral context beyond the basic action, leaving significant gaps for a mutation 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 with clear sections (Args, Returns) and uses bullet points for the ACLs list, making it easy to scan. It's appropriately sized for the complexity, though the ACLs list is lengthy but necessary. No extraneous information is included.

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 (mutation with 3 parameters, no annotations, but with an output schema), the description is fairly complete. It explains all parameters in detail and notes the return value ('Updated user information'), though it could benefit from more behavioral context. The output schema existence reduces the need to fully describe returns, but the lack of annotations means the description should do more to cover safety and usage aspects.

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 does so by detailing all three parameters: 'user_id' (explaining it accepts UUID or email), 'api_enabled' (explaining its purpose), and 'acls' (providing a comprehensive list of available permissions with descriptions for each). This adds substantial 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 tool's purpose: 'Update an existing user's settings.' It specifies the resource (user) and the action (update settings), which is specific and actionable. However, it doesn't explicitly distinguish this from sibling tools like 'update_user' or 'update_user_access_control', which appear to serve similar purposes, 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 (e.g., needing admin permissions), exclusions, or compare it to sibling tools like 'update_user' or 'update_user_access_control'. The agent is left to infer usage based on the tool name and parameters alone.

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

update_bare_metal_serverB

Update a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.

Args: server_identifier: The bare metal server label, hostname, or ID label: New label tag: New tag user_data: New user data enable_ddos_protection: Enable/disable DDoS protection

Returns: Updated bare metal server details

ParametersJSON Schema
NameRequiredDescriptionDefault
server_identifierYes
labelNo
tagNo
user_dataNo
enable_ddos_protectionNo

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 full burden. It mentions 'Smart identifier resolution' for server identification, which adds useful context, but fails to disclose critical behavioral traits like permission requirements, whether updates are reversible, rate limits, or error handling for the mutation operation.

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, parameter list, and return note. Every sentence adds value without redundancy, and it's front-loaded with the core action, making it easy to parse quickly.

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?

For a mutation tool with 5 parameters, 0% schema coverage, and no annotations or output schema, the description is moderately complete. It covers parameters and return intent but lacks behavioral context (e.g., side effects, error cases) and output details, leaving gaps 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?

With 0% schema description coverage, the description compensates well by listing all 5 parameters with brief explanations (e.g., 'New label', 'Enable/disable DDoS protection'). It clarifies that 'server_identifier' accepts multiple formats (label, hostname, UUID), adding 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 verb ('Update') and resource ('bare metal server'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'update' or 'update_serverless_inference', which also perform updates on different 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. With many sibling tools (e.g., 'update', 'update_serverless_inference'), there's no indication of prerequisites, constraints, or comparative use cases, leaving the agent to infer usage context.

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

update_cdn_zoneB

Update a CDN zone configuration. Smart identifier resolution: use origin domain, CDN domain, or UUID.

Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID cors_policy: CORS policy configuration gzip_compression: Enable gzip compression block_ai_bots: Block AI/crawler bots block_bad_bots: Block known bad bots block_ip_addresses: List of IP addresses to block regions: List of regions to enable CDN in

Returns: Updated CDN zone details

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_identifierYes
cors_policyNo
gzip_compressionNo
block_ai_botsNo
block_bad_botsNo
block_ip_addressesNo
regionsNo

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 implies a mutation operation ('Update') but fails to detail critical aspects like required permissions, whether changes are reversible, rate limits, or error handling. The mention of 'Returns: Updated CDN zone details' hints at output but lacks specifics, leaving significant gaps 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 well-structured with a clear purpose statement, parameter list, and return note, all in a compact format. However, the parameter explanations are somewhat terse (e.g., 'block_ai_bots: Block AI/crawler bots'), which, while efficient, could benefit from slightly more detail to improve clarity without sacrificing brevity.

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?

For a mutation tool with 7 parameters, no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and parameters but lacks depth in behavioral context, error handling, and output details. Given the complexity, it should provide more guidance on usage and implications 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?

Given 0% schema description coverage, the description compensates well by listing all 7 parameters with brief explanations (e.g., 'cors_policy: CORS policy configuration'). This adds meaningful context beyond the bare schema, though it could be enhanced with examples or format details. The baseline is elevated due to the low schema coverage and the description's effort to document parameters.

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 'Update' and the resource 'CDN zone configuration,' making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'create_cdn_zone' or 'get_cdn_zone,' which are present in the list, leaving room for potential confusion in 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, such as 'create_cdn_zone' for initial setup or 'get_cdn_zone' for retrieval. It mentions 'Smart identifier resolution' but does not clarify prerequisites, dependencies, or exclusion scenarios, offering minimal usage context.

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

update_connection_poolB

Update a connection pool configuration.

Args: database_id: The database ID or label pool_name: The connection pool name to update database: New target logical database name username: New database username mode: New pool mode (session, transaction, statement) size: New pool size

Returns: Updated connection pool information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
pool_nameYes
databaseNo
usernameNo
modeNo
sizeNo

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 full burden. It states 'Update' which implies mutation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or side effects. The description adds minimal context beyond the basic action, leaving significant gaps for a mutation tool.

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: the first sentence states the purpose, followed by organized 'Args' and 'Returns' sections. Every sentence earns its place with no wasted words, making it efficient for an agent 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 complexity (mutation tool with 6 parameters, no annotations, no output schema), the description is partially complete. It covers the purpose and parameters well but lacks behavioral context, usage guidelines, and output details. It's adequate for basic understanding but has clear gaps for safe and effective use.

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 list of all 6 parameters with brief explanations (e.g., 'New target logical database name' for 'database'), adding meaningful semantics beyond the schema's type definitions. However, it doesn't explain constraints like valid 'mode' values or 'size' ranges, preventing a perfect score.

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: 'Update a connection pool configuration.' This specifies the verb ('update') and resource ('connection pool configuration'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'create_connection_pool' or 'delete_connection_pool' beyond the verb difference, which is why it doesn't reach 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., an existing connection pool), exclusions, or comparisons to sibling tools like 'create_connection_pool' or 'delete_connection_pool'. 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.

update_groupB

Update a firewall group description.

Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) description: New description for the firewall group

Returns: Status message confirming update

ParametersJSON Schema
NameRequiredDescriptionDefault
firewall_group_idYes
descriptionYes

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is an update operation (implying mutation) and mentions a return value, but lacks critical details: required permissions, whether changes are reversible, error conditions, or side effects. For a mutation tool with zero 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 well-structured and front-loaded: the first sentence states the core purpose, followed by clear 'Args' and 'Returns' sections. Every sentence earns its place by providing essential information without redundancy. The formatting with bullet-like sections enhances readability.

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 a mutation tool with no annotations, 2 parameters, and an output schema (which handles return values), the description is moderately complete. It covers the basic operation and parameters but lacks behavioral context (permissions, reversibility) and doesn't reference the output schema. For a simple update tool, this is adequate but leaves gaps an agent might need to infer.

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 effectively documents both parameters: 'firewall_group_id' (with examples of ID formats) and 'description' (as the new description). This adds clear meaning beyond the bare schema, though it doesn't cover constraints like length limits or character sets for the description.

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 with a specific verb ('Update') and resource ('firewall group description'). It distinguishes from siblings like 'create_group' and 'delete_group' by focusing on modification rather than creation or deletion. However, it doesn't explicitly differentiate from other update tools like 'update_record' or 'update_user' 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., needing an existing firewall group), compare with similar tools like 'update' (which might be more general), or specify use cases. The agent must infer usage from the tool name and parameters alone.

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

update_kafka_topicB

Update a Kafka topic configuration.

Args: database_id: The Kafka database ID or label topic_name: The topic name to update partitions: New number of partitions replication: New replication factor retention_hours: New retention time in hours retention_bytes: New retention size in bytes

Returns: Updated topic information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
topic_nameYes
partitionsNo
replicationNo
retention_hoursNo
retention_bytesNo

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. It states 'update' implying mutation but doesn't disclose behavioral traits like whether changes are reversible, what permissions are required, if there are rate limits, or what happens to unspecified configuration parameters. The return statement mentions 'Updated topic information' but lacks details on format or errors.

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 with the core purpose in the first sentence. The Args and Returns sections are structured clearly, though the return statement is vague ('Updated topic information'). No unnecessary sentences are present.

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 no annotations, 0% schema description coverage, and no output schema, the description is moderately complete. It covers the purpose and parameters well but lacks behavioral context (e.g., side effects, error conditions) and detailed return information, which is a gap for a mutation tool with multiple parameters.

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%, but the description compensates by listing all 6 parameters with brief explanations (e.g., 'New number of partitions', 'New retention time in hours'), adding meaningful context beyond the schema's type definitions. It clarifies that 'database_id' and 'topic_name' are required (implied by the schema), though it doesn't detail null handling for optional parameters.

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 'update' and resource 'Kafka topic configuration', making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'update_record' or 'update_user', which follow similar patterns but for different 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?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., existing topic), exclusions (e.g., cannot update certain properties), or related tools like 'create_kafka_topic' or 'delete_kafka_topic' from the sibling list.

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

update_kubernetes_clusterC

Update a Kubernetes cluster configuration. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID label: New label for the cluster

Returns: Update status message

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
labelNo

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 this is an update operation but doesn't mention required permissions, whether changes are reversible, rate limits, or what happens to unspecified configuration fields. The mention of 'smart identifier resolution' adds minimal context but leaves critical behavioral traits undocumented.

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 with three clear sections (purpose, args, returns). The front-loaded purpose statement is efficient, though the 'smart identifier resolution' note could be more integrated. No wasted sentences, but minor structural improvements are possible.

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 mutation tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks information about permissions, side effects, error conditions, and the format of the 'Update status message' return value. Given the complexity of updating a Kubernetes cluster, more behavioral and contextual details are needed.

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 explains that 'cluster_identifier' accepts 'cluster label or UUID' and 'label' is a 'New label for the cluster', which adds meaningful semantics beyond the bare schema. However, it doesn't cover constraints like label format or length, leaving some parameter details incomplete.

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 ('Update') and resource ('Kubernetes cluster configuration'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'update_kubernetes_node_pool' or 'upgrade_kubernetes_cluster', which would require more precise scope 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 like 'update_kubernetes_node_pool' or 'upgrade_kubernetes_cluster'. It mentions 'smart identifier resolution' but doesn't clarify prerequisites, constraints, or appropriate contexts for usage.

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

update_kubernetes_node_poolB

Update a node pool configuration. Smart identifier resolution: use cluster/node pool labels or UUIDs.

Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID node_quantity: New number of nodes tag: New tag for the node pool auto_scaler: Enable/disable auto-scaling min_nodes: Minimum nodes for auto-scaling max_nodes: Maximum nodes for auto-scaling labels: New map of key/value pairs for nodes

Returns: Update status message

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
nodepool_identifierYes
node_quantityNo
tagNo
auto_scalerNo
min_nodesNo
max_nodesNo
labelsNo

TDQS

B3.3/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. While 'Update' implies a mutation operation, the description doesn't address critical behavioral aspects like required permissions, whether changes are reversible, rate limits, or what happens to existing configurations not mentioned. The 'Smart identifier resolution' note adds some context but doesn't compensate for the lack of safety or operational details.

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 statement, smart identifier note, Args, Returns) and uses efficient language. While appropriately sized, the 'Returns' section could be more specific than 'Update status message' to be perfectly concise.

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?

For a complex mutation tool with 8 parameters and no annotations or output schema, the description does a good job with parameter documentation but lacks important context about behavioral traits, error conditions, and return value details. The parameter coverage is excellent, but other aspects remain incomplete.

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 with a detailed 'Args' section that explains all 8 parameters clearly, including their purposes and data types. With 0% schema description coverage, this fully compensates for the schema's lack of documentation, giving the agent complete understanding of what each parameter does.

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 ('Update') and resource ('node pool configuration'), making the purpose specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'update_kubernetes_cluster' or 'scale_kubernetes_node_pool', 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's no mention of prerequisites, constraints, or comparison with sibling tools like 'scale_kubernetes_node_pool' or 'update_kubernetes_cluster', leaving the agent without contextual usage direction.

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

update_recordB

Update an existing DNS record.

Args: domain: The domain name record_id: The record ID to update name: New record name (optional) data: New record data (optional) ttl: New TTL value (optional) priority: New priority for MX/SRV records (optional)

Returns: Updated record information

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
record_idYes
nameNo
dataNo
ttlNo
priorityNo

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Update an existing DNS record' implies a mutation operation, it doesn't disclose important behavioral aspects like required permissions, whether the update is reversible, rate limits, error conditions, or what happens when optional parameters are omitted. The description adds minimal behavioral context beyond 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.

Conciseness5/5

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

The description is efficiently structured with a clear purpose statement followed by organized 'Args' and 'Returns' sections. Every sentence earns its place, and the information is front-loaded with the core purpose stated first. The formatting enhances readability 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 that this is a mutation tool with no annotations, 6 parameters, and an output schema exists, the description provides adequate but incomplete context. The parameter explanations are good, and the output schema will handle return values, but the description lacks important behavioral context about permissions, side effects, and error handling that would be crucial for safe tool 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 providing clear explanations for all 6 parameters in the 'Args' section. Each parameter gets a brief but meaningful description that adds semantic value beyond the bare schema, explaining what 'domain', 'record_id', 'name', 'data', 'ttl', and 'priority' represent in the context of DNS records.

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 ('Update') and resource ('existing DNS record'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'create_record' or 'delete_record' beyond the obvious update vs create/delete 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 (like needing an existing record), when not to use it, or how it differs from similar tools like 'create_record' or 'delete_record' beyond the basic operation type.

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

update_serverless_inferenceC

Update an existing serverless inference subscription.

Args: subscription_id: The inference subscription ID or current label label: New label for the subscription

Returns: Updated inference subscription information

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes
labelYes

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 this is an update operation, implying mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, rate limits, or what 'Updated inference subscription information' entails. This leaves significant gaps for a mutation 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 appropriately sized with three sentences: purpose, args, and returns. It's front-loaded with the core purpose, and each sentence adds value without redundancy. Minor improvements could include integrating the args/returns more seamlessly, but it's efficient overall.

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 this is a mutation tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks behavioral context (e.g., side effects, auth needs), detailed parameter semantics, and output specifics, making it inadequate for safe and effective tool invocation by an agent.

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 adds meaning by explaining that 'subscription_id' can be 'ID or current label' and 'label' is the 'New label', which clarifies beyond the basic schema types. However, it doesn't cover constraints like format, length, or examples, leaving parameters partially documented.

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 'Update' and resource 'existing serverless inference subscription', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'update' or 'update_bare_metal_server', which share the same verb pattern, leaving some ambiguity about when to choose this specific update tool.

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 an existing subscription), exclusions, or comparisons to sibling tools like 'create_serverless_inference' or 'delete_serverless_inference', leaving the agent without contextual usage cues.

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

update_startup_scriptB

Update a startup script. Smart identifier resolution: use script name or UUID.

Args: script_identifier: The startup script name or ID name: New name for the script script: New script content

Returns: Updated startup script details

ParametersJSON Schema
NameRequiredDescriptionDefault
script_identifierYes
nameNo
scriptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/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 this is an update operation, implying mutation, but doesn't mention permission requirements, whether changes are reversible, rate limits, or error conditions. The description adds minimal behavioral context beyond the basic action, which is insufficient for a mutation tool with zero 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.

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 parameter and return details. It uses bullet-like formatting for clarity without unnecessary verbosity. However, the 'Smart identifier resolution' note could be integrated more smoothly, and the 'Returns' section is somewhat redundant given the output schema.

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 (mutation with 3 parameters), no annotations, and an output schema present, the description is moderately complete. It covers the purpose and parameters adequately but lacks behavioral details like error handling or side effects. The output schema reduces the need to explain return values, but more context on usage and constraints would improve completeness.

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 includes an 'Args' section that lists and briefly explains all three parameters ('script_identifier', 'name', 'script'), adding meaningful semantics beyond the input schema, which has 0% description coverage. This compensates well for the schema's lack of descriptions, though it doesn't detail format constraints (e.g., script content type) or the implications of null values.

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 ('Update') and resource ('a startup script'), making the purpose immediately understandable. It distinguishes from siblings like 'create_startup_script' and 'delete_startup_script' by specifying this is an update operation, though it doesn't explicitly contrast with other update tools like 'update_user' or 'update_record'.

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 provides some usage context by mentioning 'Smart identifier resolution: use script name or UUID,' which helps the agent understand how to identify the script. However, it doesn't specify when to use this tool versus alternatives (e.g., when to update vs. create/delete) or any prerequisites, leaving the guidelines implied rather than explicit.

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

update_userB

Update a database user's password or permissions.

Args: database_id: The database ID or label username: The username to update password: New password access_level: New permission level (Kafka only)

Returns: Updated user information

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
usernameYes
passwordNo
access_levelNo

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 states this is an update operation, implying mutation, but doesn't disclose critical details like authentication requirements, whether changes are reversible, potential side effects, or rate limits. The mention of 'Kafka only' for access_level adds some context but is insufficient for a mutation 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 efficiently structured with a clear purpose statement followed by Args and Returns sections. Every sentence earns its place, though the 'Kafka only' note could be better integrated. It's appropriately sized for the tool's 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 mutation nature, no annotations, and no output schema, the description is moderately complete. It covers parameters well but lacks behavioral context and output details. For a user update tool with security implications, more guidance on permissions and effects would be beneficial.

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 four parameters: database_id, username, password, and access_level. It clarifies that access_level is 'Kafka only' and that password and access_level can be null (implied by 'or' in the first sentence). This adds meaningful context 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 with a specific verb ('Update') and resource ('database user's password or permissions'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'update_user_access_control' or 'setup_service_user', which might have overlapping functionality.

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 requiring admin permissions, or clarify when to use 'update_user' over 'create_user' or 'delete_user'. This leaves the agent with insufficient context for proper tool selection.

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

update_user_access_controlB

Update access control for a database user (Valkey/Redis only).

Args: database_id: The database ID or label username: The username to update acl_categories: ACL categories (e.g., ["+@all"]) acl_channels: ACL channels (e.g., [""]) acl_commands: ACL commands acl_keys: ACL keys (e.g., [""])

Returns: Status message confirming update

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
usernameYes
acl_categoriesNo
acl_channelsNo
acl_commandsNo
acl_keysNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It states 'Update access control' implying a mutation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or error conditions. The return value is mentioned generically ('Status message confirming update'), but lacks detail on format or success/failure indicators.

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 purpose statement, 'Args:' section listing parameters, and 'Returns:' section. Every sentence adds value, though the parameter explanations could be more concise (e.g., repeating 'ACL' for each). No fluff or 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 6 parameters, 0% schema coverage, no annotations, and no output schema, the description does a fair job: it covers all parameters and states the return type. However, as a mutation tool with complex ACL parameters, it lacks details on behavioral impact, error handling, and security implications, leaving gaps for an agent.

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 lists all 6 parameters with brief explanations and examples (e.g., 'acl_categories: ACL categories (e.g., ["+@all"])'), adding meaningful context beyond the bare schema. However, it doesn't explain parameter interactions, default behaviors, or validation rules.

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 ('Update') and resource ('access control for a database user'), specifying it's for Valkey/Redis only. It distinguishes itself from generic user update tools by focusing on access control, though it doesn't explicitly differentiate from potential sibling ACL tools (none are listed).

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 'update_user' or 'setup_permissions'. The description mentions 'Valkey/Redis only', which is a platform constraint but not usage context. There are no prerequisites, exclusions, or comparison with sibling tools.

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

update_vpc2C

Update VPC 2.0 description.

Smart identifier resolution: Use VPC 2.0 description or ID.

Args: vpc2_identifier: VPC 2.0 description or ID to update description: New description for the VPC 2.0

Returns: Success confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
vpc2_identifierYes
descriptionYes

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 this is an update operation (implying mutation) and mentions identifier resolution, but lacks critical details: required permissions, whether changes are reversible, rate limits, error conditions, or what 'Success confirmation' entails. For a mutation 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.

Conciseness4/5

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

The description is efficiently structured with a purpose statement, identifier note, and clear Arg/Return sections. Each sentence adds value: the first states the action, the second clarifies identifier handling, and the bullet points document parameters and returns. It's appropriately sized for a simple update tool with minimal waste.

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 2 parameters with 0% schema coverage, no annotations, but an output schema exists, the description does an adequate but incomplete job. It covers parameter purposes and mentions a return type, but lacks behavioral context (permissions, side effects) and detailed parameter constraints. The output schema likely handles return values, but the description doesn't address mutation risks or usage context sufficiently.

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 explains both parameters: 'vpc2_identifier' accepts 'description or ID' with smart resolution, and 'description' is the 'new description'. This adds meaningful context beyond the bare schema types. However, it doesn't cover constraints like length limits, allowed characters, or ID formats, leaving some semantic 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: 'Update VPC 2.0 description' with the verb 'update' and resource 'VPC 2.0 description'. It distinguishes from siblings like 'create_vpc2' and 'delete_vpc2' by focusing on updating descriptions rather than creating or deleting VPCs. However, it doesn't explicitly differentiate from other update tools (e.g., 'update_user', 'update_record') beyond the resource 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 minimal guidance: it mentions 'Smart identifier resolution' for using description or ID, but offers no explicit when-to-use advice, prerequisites, or alternatives. There's no mention of when to choose this over other VPC-related tools or what conditions must be met before updating. The guidance is insufficient for informed tool selection.

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

upgrade_kubernetes_clusterB

Start a Kubernetes cluster upgrade. Smart identifier resolution: use cluster label or UUID.

Args: cluster_identifier: The cluster label or ID upgrade_version: Target Kubernetes version (use get_kubernetes_available_upgrades)

Returns: Upgrade initiation status

ParametersJSON Schema
NameRequiredDescriptionDefault
cluster_identifierYes
upgrade_versionYes

TDQS

B3.3/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 initiates an upgrade but doesn't mention critical behavioral aspects like whether this is a destructive operation, what permissions are required, whether the upgrade is immediate or scheduled, potential downtime, or error conditions. The description is insufficient for a mutation tool with zero 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.

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 explanations and return value indication. All sentences earn their place, though the 'Smart identifier resolution' note could be integrated more smoothly into the parameter description.

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?

For a mutation tool with no annotations and no output schema, the description provides basic purpose and parameter guidance but lacks important behavioral context about the upgrade process. It references another tool for version information, which helps, but doesn't address safety, timing, or error handling considerations that would be important for this type of operation.

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 both parameters: 'cluster_identifier' accepts label or UUID with 'smart identifier resolution', and 'upgrade_version' should use values from 'get_kubernetes_available_upgrades'. This adds meaningful context beyond the bare schema, though it could provide more detail about version format constraints.

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 ('Start a Kubernetes cluster upgrade') and resource ('Kubernetes cluster'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'update_kubernetes_cluster' or 'start_version_upgrade', which might have overlapping functionality.

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 provides some usage guidance by mentioning 'Smart identifier resolution' and referencing another tool ('get_kubernetes_available_upgrades') for parameter values, which helps with context. However, it lacks explicit guidance on when to use this tool versus alternatives like 'update_kubernetes_cluster' or prerequisites for the upgrade operation.

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

validate_recordA

Validate a DNS record before creation.

Args: record_type: Record type (A, AAAA, CNAME, MX, TXT, NS, SRV) name: Record name/subdomain data: Record data/value ttl: Time to live in seconds priority: Priority for MX/SRV records

Returns: Validation results with any errors or warnings

ParametersJSON Schema
NameRequiredDescriptionDefault
record_typeYes
nameYes
dataYes
ttlNo
priorityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 performs validation (a read-only, non-destructive operation) and mentions the return format ('Validation results with any errors or warnings'), which adds useful context. However, it doesn't cover potential side effects, authentication needs, rate limits, or error handling details.

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 a clear breakdown of arguments and returns. Every sentence adds value 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 tool's moderate complexity (5 parameters, validation focus) and the presence of an output schema (which handles return values), the description is largely complete. It covers purpose, parameters, and return context adequately. However, it could benefit from more behavioral details like validation rules or prerequisites, given the lack of annotations.

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 effectively adds meaning by explaining each parameter's purpose (e.g., 'Record type (A, AAAA, CNAME, MX, TXT, NS, SRV)', 'Priority for MX/SRV records'), which clarifies usage beyond the bare schema. This significantly enhances parameter understanding despite 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 ('Validate a DNS record before creation'), identifies the resource ('DNS record'), and distinguishes it from siblings like 'create_record' by focusing on pre-creation validation rather than actual creation. This provides precise differentiation.

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 implicitly indicates usage context ('before creation'), suggesting this tool should be used prior to 'create_record' to check validity. However, it lacks explicit guidance on when not to use it or direct alternatives, such as whether validation is optional or mandatory.

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

validate_s3_accessA

Validate that an Object Storage instance has valid S3 credentials.

Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)

Returns: Validation results including: - valid: Whether the configuration appears valid - endpoint: S3 endpoint URL - has_credentials: Whether access keys are present - suggestions: Any configuration suggestions

ParametersJSON Schema
NameRequiredDescriptionDefault
object_storage_idYes

TDQS

A3.6/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. It discloses the return structure (validation results with specific fields), which is helpful behavioral context. However, it doesn't mention potential side effects (e.g., whether this performs actual API calls to S3), error conditions, or rate limits. The description adds value but leaves gaps for a validation 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 with a clear purpose statement, Args section, and Returns section. Every sentence adds value, and it's appropriately sized for a single-parameter tool. However, the 'Args:' and 'Returns:' labels are slightly redundant with structured fields, though they enhance readability.

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 no annotations, 0% schema coverage, and no output schema, the description does a decent job: it explains the parameter and return values. However, for a validation tool that likely interacts with external services (S3), it should mention authentication needs, potential latency, or error scenarios. The description is adequate but not fully comprehensive for this context.

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 explains the 'object_storage_id' parameter with examples ('my-storage', 'backup-bucket', or UUID), adding crucial semantic meaning beyond the schema's basic string type. This effectively documents the single parameter, though it doesn't cover edge cases like format requirements.

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 ('validate') and resource ('Object Storage instance has valid S3 credentials'), distinguishing it from siblings like 'get_s3_config' (which likely retrieves configuration) or 'validate_record' (which validates DNS records). The verb 'validate' is precise and the scope is well-defined.

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 is provided. While the purpose implies it's for credential validation, there's no mention of prerequisites (e.g., after configuring S3) or when to choose it over other tools like 'get_s3_config' for troubleshooting. The description lacks context for decision-making.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 244 tool updatesv1.0.0
    • Changedadd_export2 fields changed
      • removedInput schema / properties / export_config / title
        Removed value: -"Export Config"
      • removedInput schema / properties / gateway_identifier / title
        Removed value: -"Gateway Identifier"
    • Changedadd_ip_whitelist_entry3 fields changed
      • removedInput schema / properties / subnet / title
        Removed value: -"Subnet"
      • removedInput schema / properties / subnet_size / title
        Removed value: -"Subnet Size"
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changedanalyze_cdn_performance2 fields changed
      • removedInput schema / properties / days / title
        Removed value: -"Days"
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedanalyze_costs2 fields changed
      • removedInput schema / properties / analysis_days / title
        Removed value: -"Analysis Days"
      • removedInput schema / properties / subaccount_id / title
        Removed value: -"Subaccount Id"
    • Changedanalyze_domain1 field changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
    • Changedanalyze_inference_usage1 field changed
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changedanalyze_kubernetes_cluster_costs1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changedanalyze_spending_trends1 field changed
      • removedInput schema / properties / months / title
        Removed value: -"Months"
    • Changedanalyze_user_permissions1 field changed
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changedattach3 fields changed
      • removedInput schema / properties / instance_identifier / title
        Removed value: -"Instance Identifier"
      • removedInput schema / properties / live / title
        Removed value: -"Live"
      • removedInput schema / properties / volume_identifier / title
        Removed value: -"Volume Identifier"
    • Changedattach_to_instance3 fields changed
      • removedInput schema / properties / instance_identifier / title
        Removed value: -"Instance Identifier"
      • removedInput schema / properties / vpc_identifier / title
        Removed value: -"Vpc Identifier"
      • removedInput schema / properties / vpc_type / title
        Removed value: -"Vpc Type"
    • Changedcompare_plans3 fields changed
      • removedInput schema / properties / plan_ids / title
        Removed value: -"Plan Ids"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedconfigure_basic_web_lb7 fields changed
      • removedInput schema / properties / backend_instances / title
        Removed value: -"Backend Instances"
      • removedInput schema / properties / domain_sub / title
        Removed value: -"Domain Sub"
      • removedInput schema / properties / domain_zone / title
        Removed value: -"Domain Zone"
      • removedInput schema / properties / enable_ssl / title
        Removed value: -"Enable Ssl"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / ssl_redirect / title
        Removed value: -"Ssl Redirect"
    • Changedconvert_instance_ip3 fields changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
      • removedInput schema / properties / ip_address / title
        Removed value: -"Ip Address"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
    • Changedcreate7 fields changed
      • removedInput schema / properties / acls / title
        Removed value: -"Acls"
      • removedInput schema / properties / api_enabled / title
        Removed value: -"Api Enabled"
      • removedInput schema / properties / email / title
        Removed value: -"Email"
      • removedInput schema / properties / first_name / title
        Removed value: -"First Name"
      • removedInput schema / properties / last_name / title
        Removed value: -"Last Name"
      • removedInput schema / properties / password / title
        Removed value: -"Password"
      • removedInput schema / properties / service_user / title
        Removed value: -"Service User"
    • Changedcreate_bare_metal_server17 fields changed
      • removedInput schema / properties / attach_private_network / title
        Removed value: -"Attach Private Network"
      • removedInput schema / properties / attach_vpc / title
        Removed value: -"Attach Vpc"
      • removedInput schema / properties / attach_vpc2 / title
        Removed value: -"Attach Vpc2"
      • removedInput schema / properties / enable_ddos_protection / title
        Removed value: -"Enable Ddos Protection"
      • removedInput schema / properties / enable_ipv6 / title
        Removed value: -"Enable Ipv6"
      • removedInput schema / properties / enable_private_network / title
        Removed value: -"Enable Private Network"
      • removedInput schema / properties / hostname / title
        Removed value: -"Hostname"
      • removedInput schema / properties / iso_id / title
        Removed value: -"Iso Id"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / os_id / title
        Removed value: -"Os Id"
      • removedInput schema / properties / persistent_pxe / title
        Removed value: -"Persistent Pxe"
      • removedInput schema / properties / plan / title
        Removed value: -"Plan"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / script_id / title
        Removed value: -"Script Id"
      • removedInput schema / properties / ssh_key_ids / title
        Removed value: -"Ssh Key Ids"
      • removedInput schema / properties / tag / title
        Removed value: -"Tag"
      • removedInput schema / properties / user_data / title
        Removed value: -"User Data"
    • Changedcreate_cdn_ssl_certificate4 fields changed
      • removedInput schema / properties / certificate / title
        Removed value: -"Certificate"
      • removedInput schema / properties / certificate_chain / title
        Removed value: -"Certificate Chain"
      • removedInput schema / properties / private_key / title
        Removed value: -"Private Key"
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedcreate_cdn_zone8 fields changed
      • removedInput schema / properties / block_ai_bots / title
        Removed value: -"Block Ai Bots"
      • removedInput schema / properties / block_bad_bots / title
        Removed value: -"Block Bad Bots"
      • removedInput schema / properties / block_ip_addresses / title
        Removed value: -"Block Ip Addresses"
      • removedInput schema / properties / cors_policy / title
        Removed value: -"Cors Policy"
      • removedInput schema / properties / gzip_compression / title
        Removed value: -"Gzip Compression"
      • removedInput schema / properties / origin_domain / title
        Removed value: -"Origin Domain"
      • removedInput schema / properties / origin_scheme / title
        Removed value: -"Origin Scheme"
      • removedInput schema / properties / regions / title
        Removed value: -"Regions"
    • Changedcreate_common_startup_script2 fields changed
      • removedInput schema / properties / script_type / title
        Removed value: -"Script Type"
      • removedInput schema / properties / ssh_port / title
        Removed value: -"Ssh Port"
    • Changedcreate_connection_pool6 fields changed
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / mode / title
        Removed value: -"Mode"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / size / title
        Removed value: -"Size"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changedcreate_domain3 fields changed
      • removedInput schema / properties / dns_sec / title
        Removed value: -"Dns Sec"
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedInput schema / properties / ip / title
        Removed value: -"Ip"
    • Changedcreate_forwarding_rule5 fields changed
      • removedInput schema / properties / backend_port / title
        Removed value: -"Backend Port"
      • removedInput schema / properties / backend_protocol / title
        Removed value: -"Backend Protocol"
      • removedInput schema / properties / frontend_port / title
        Removed value: -"Frontend Port"
      • removedInput schema / properties / frontend_protocol / title
        Removed value: -"Frontend Protocol"
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedcreate_from_url2 fields changed
      • removedInput schema / properties / description / title
        Removed value: -"Description"
      • removedInput schema / properties / url / title
        Removed value: -"Url"
    • Changedcreate_group1 field changed
      • removedInput schema / properties / description / title
        Removed value: -"Description"
    • Changedcreate_ipv42 fields changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
      • removedInput schema / properties / reboot / title
        Removed value: -"Reboot"
    • Changedcreate_iso1 field changed
      • removedInput schema / properties / url / title
        Removed value: -"Url"
    • Changedcreate_kafka_topic6 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / partitions / title
        Removed value: -"Partitions"
      • removedInput schema / properties / replication / title
        Removed value: -"Replication"
      • removedInput schema / properties / retention_bytes / title
        Removed value: -"Retention Bytes"
      • removedInput schema / properties / retention_hours / title
        Removed value: -"Retention Hours"
    • Changedcreate_kubernetes_cluster6 fields changed
      • removedInput schema / properties / enable_firewall / title
        Removed value: -"Enable Firewall"
      • removedInput schema / properties / ha_controlplanes / title
        Removed value: -"Ha Controlplanes"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / node_pools / title
        Removed value: -"Node Pools"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / version / title
        Removed value: -"Version"
    • Changedcreate_kubernetes_node_pool9 fields changed
      • removedInput schema / properties / auto_scaler / title
        Removed value: -"Auto Scaler"
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / labels / title
        Removed value: -"Labels"
      • removedInput schema / properties / max_nodes / title
        Removed value: -"Max Nodes"
      • removedInput schema / properties / min_nodes / title
        Removed value: -"Min Nodes"
      • removedInput schema / properties / node_quantity / title
        Removed value: -"Node Quantity"
      • removedInput schema / properties / plan / title
        Removed value: -"Plan"
      • removedInput schema / properties / tag / title
        Removed value: -"Tag"
    • Changedcreate_logical_database2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
    • Changedcreate_read_replica4 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / plan / title
        Removed value: -"Plan"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
    • Changedcreate_record6 fields changed
      • removedInput schema / properties / data / title
        Removed value: -"Data"
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / priority / title
        Removed value: -"Priority"
      • removedInput schema / properties / record_type / title
        Removed value: -"Record Type"
      • removedInput schema / properties / ttl / title
        Removed value: -"Ttl"
    • Changedcreate_rule8 fields changed
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
      • removedInput schema / properties / ip_type / title
        Removed value: -"Ip Type"
      • removedInput schema / properties / notes / title
        Removed value: -"Notes"
      • removedInput schema / properties / port / title
        Removed value: -"Port"
      • removedInput schema / properties / protocol / title
        Removed value: -"Protocol"
      • removedInput schema / properties / source / title
        Removed value: -"Source"
      • removedInput schema / properties / subnet / title
        Removed value: -"Subnet"
      • removedInput schema / properties / subnet_size / title
        Removed value: -"Subnet Size"
    • Changedcreate_serverless_inference1 field changed
      • removedInput schema / properties / label / title
        Removed value: -"Label"
    • Changedcreate_startup_script3 fields changed
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / script / title
        Removed value: -"Script"
      • removedInput schema / properties / script_type / title
        Removed value: -"Script Type"
    • Changedcreate_user5 fields changed
      • removedInput schema / properties / access_level / title
        Removed value: -"Access Level"
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / encryption / title
        Removed value: -"Encryption"
      • removedInput schema / properties / password / title
        Removed value: -"Password"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changedcreate_vpc25 fields changed
      • removedInput schema / properties / description / title
        Removed value: -"Description"
      • removedInput schema / properties / ip_block / title
        Removed value: -"Ip Block"
      • removedInput schema / properties / ip_type / title
        Removed value: -"Ip Type"
      • removedInput schema / properties / prefix_length / title
        Removed value: -"Prefix Length"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
    • Changeddelete1 field changed
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changeddelete_bare_metal_server1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changeddelete_cdn_ssl_certificate1 field changed
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changeddelete_cdn_zone1 field changed
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changeddelete_connection_pool2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / pool_name / title
        Removed value: -"Pool Name"
    • Changeddelete_domain1 field changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
    • Changeddelete_export2 fields changed
      • removedInput schema / properties / export_id / title
        Removed value: -"Export Id"
      • removedInput schema / properties / gateway_identifier / title
        Removed value: -"Gateway Identifier"
    • Changeddelete_forwarding_rule2 fields changed
      • removedInput schema / properties / forwarding_rule_id / title
        Removed value: -"Forwarding Rule Id"
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changeddelete_group1 field changed
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
    • Changeddelete_ipv42 fields changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
      • removedInput schema / properties / ipv4 / title
        Removed value: -"Ipv4"
    • Changeddelete_iso3 fields changed
      • removedInput schema / properties / iso_id / title
        Removed value: -"Iso Id"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changeddelete_kafka_topic2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / topic_name / title
        Removed value: -"Topic Name"
    • Changeddelete_kubernetes_cluster1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changeddelete_kubernetes_cluster_with_resources1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changeddelete_kubernetes_node3 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / node_identifier / title
        Removed value: -"Node Identifier"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
    • Changeddelete_kubernetes_node_pool2 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
    • Changeddelete_logical_database2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / db_name / title
        Removed value: -"Db Name"
    • Changeddelete_record2 fields changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedInput schema / properties / record_id / title
        Removed value: -"Record Id"
    • Changeddelete_rule2 fields changed
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
      • removedInput schema / properties / firewall_rule_id / title
        Removed value: -"Firewall Rule Id"
    • Changeddelete_serverless_inference1 field changed
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changeddelete_ssl1 field changed
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changeddelete_startup_script3 fields changed
      • removedInput schema / properties / script_identifier / title
        Removed value: -"Script Identifier"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changeddelete_user2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changeddelete_vpc21 field changed
      • removedInput schema / properties / vpc2_identifier / title
        Removed value: -"Vpc2 Identifier"
    • Changeddetach2 fields changed
      • removedInput schema / properties / live / title
        Removed value: -"Live"
      • removedInput schema / properties / volume_identifier / title
        Removed value: -"Volume Identifier"
    • Changeddetach_from_instance3 fields changed
      • removedInput schema / properties / instance_identifier / title
        Removed value: -"Instance Identifier"
      • removedInput schema / properties / vpc_identifier / title
        Removed value: -"Vpc Identifier"
      • removedInput schema / properties / vpc_type / title
        Removed value: -"Vpc Type"
    • Changeddisable_auto_ssl1 field changed
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedexport_zone_file3 fields changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedfind_by_email1 field changed
      • removedInput schema / properties / email / title
        Removed value: -"Email"
    • Changedfind_by_name1 field changed
      • removedInput schema / properties / name / title
        Removed value: -"Name"
    • Changedfind_by_region1 field changed
      • removedInput schema / properties / region / title
        Removed value: -"Region"
    • Changedfind_regions_with_plan3 fields changed
      • removedInput schema / properties / plan_id / title
        Removed value: -"Plan Id"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedfork_database5 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / plan / title
        Removed value: -"Plan"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / vpc_id / title
        Removed value: -"Vpc Id"
    • Changedgenerate_docker_credentials3 fields changed
      • removedInput schema / properties / expiry_seconds / title
        Removed value: -"Expiry Seconds"
      • removedInput schema / properties / read_write / title
        Removed value: -"Read Write"
      • removedInput schema / properties / registry_identifier / title
        Removed value: -"Registry Identifier"
    • Changedgenerate_kubernetes_credentials4 fields changed
      • removedInput schema / properties / base64_encode / title
        Removed value: -"Base64 Encode"
      • removedInput schema / properties / expiry_seconds / title
        Removed value: -"Expiry Seconds"
      • removedInput schema / properties / read_write / title
        Removed value: -"Read Write"
      • removedInput schema / properties / registry_identifier / title
        Removed value: -"Registry Identifier"
    • Changedget1 field changed
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changedget_application1 field changed
      • removedInput schema / properties / app_id / title
        Removed value: -"App Id"
    • Changedget_application_deployment_guide1 field changed
      • removedInput schema / properties / app_id / title
        Removed value: -"App Id"
    • Changedget_applications_by_vendor1 field changed
      • removedInput schema / properties / vendor / title
        Removed value: -"Vendor"
    • Changedget_availability1 field changed
      • removedInput schema / properties / region_id / title
        Removed value: -"Region Id"
    • Changedget_bandwidth1 field changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
    • Changedget_bare_metal_bandwidth1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedget_bare_metal_neighbors1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedget_bare_metal_plan1 field changed
      • removedInput schema / properties / plan_id / title
        Removed value: -"Plan Id"
    • Changedget_bare_metal_server1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedget_bare_metal_server_summary1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedget_bare_metal_user_data1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedget_cdn_ssl_certificate1 field changed
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedget_cdn_zone1 field changed
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedget_cdn_zone_logs4 fields changed
      • removedInput schema / properties / end_date / title
        Removed value: -"End Date"
      • removedInput schema / properties / per_page / title
        Removed value: -"Per Page"
      • removedInput schema / properties / start_date / title
        Removed value: -"Start Date"
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedget_cdn_zone_stats1 field changed
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedget_cdn_zone_summary1 field changed
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedget_cheapest_plan1 field changed
      • removedInput schema / properties / plan_type / title
        Removed value: -"Plan Type"
    • Changedget_configuration_summary1 field changed
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedget_connection_pool2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / pool_name / title
        Removed value: -"Pool Name"
    • Changedget_cost_analysis1 field changed
      • removedInput schema / properties / gateway_identifier / title
        Removed value: -"Gateway Identifier"
    • Changedget_cost_breakdown_by_service1 field changed
      • removedInput schema / properties / days / title
        Removed value: -"Days"
    • Changedget_docker_login_command3 fields changed
      • removedInput schema / properties / expiry_seconds / title
        Removed value: -"Expiry Seconds"
      • removedInput schema / properties / read_write / title
        Removed value: -"Read Write"
      • removedInput schema / properties / registry_identifier / title
        Removed value: -"Registry Identifier"
    • Changedget_domain1 field changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
    • Changedget_firewall_rule2 fields changed
      • removedInput schema / properties / firewall_rule_id / title
        Removed value: -"Firewall Rule Id"
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedget_forwarding_rule2 fields changed
      • removedInput schema / properties / forwarding_rule_id / title
        Removed value: -"Forwarding Rule Id"
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedget_gateway_status1 field changed
      • removedInput schema / properties / gateway_identifier / title
        Removed value: -"Gateway Identifier"
    • Changedget_group1 field changed
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
    • Changedget_health_status1 field changed
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedget_inference_deployment_guide1 field changed
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changedget_inference_usage1 field changed
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changedget_invoice1 field changed
      • removedInput schema / properties / invoice_id / title
        Removed value: -"Invoice Id"
    • Changedget_ip_whitelist1 field changed
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changedget_ip_whitelist_entry3 fields changed
      • removedInput schema / properties / subnet / title
        Removed value: -"Subnet"
      • removedInput schema / properties / subnet_size / title
        Removed value: -"Subnet Size"
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changedget_iso1 field changed
      • removedInput schema / properties / iso_id / title
        Removed value: -"Iso Id"
    • Changedget_iso_by_name1 field changed
      • removedInput schema / properties / name / title
        Removed value: -"Name"
    • Changedget_kafka_topic2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / topic_name / title
        Removed value: -"Topic Name"
    • Changedget_kubernetes_available_upgrades1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changedget_kubernetes_cluster1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changedget_kubernetes_cluster_config1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changedget_kubernetes_cluster_resources1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changedget_kubernetes_cluster_status1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changedget_kubernetes_node3 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / node_identifier / title
        Removed value: -"Node Identifier"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
    • Changedget_kubernetes_node_pool2 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
    • Changedget_logical_database2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / db_name / title
        Removed value: -"Db Name"
    • Changedget_maintenance_updates1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedget_marketplace_app_variables1 field changed
      • removedInput schema / properties / app_id / title
        Removed value: -"App Id"
    • Changedget_migration_status1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedget_monthly_usage_summary2 fields changed
      • removedInput schema / properties / month / title
        Removed value: -"Month"
      • removedInput schema / properties / year / title
        Removed value: -"Year"
    • Changedget_mount_instructions1 field changed
      • removedInput schema / properties / gateway_identifier / title
        Removed value: -"Gateway Identifier"
    • Changedget_mounting_instructions1 field changed
      • removedInput schema / properties / volume_identifier / title
        Removed value: -"Volume Identifier"
    • Changedget_network_info2 fields changed
      • removedInput schema / properties / identifier / title
        Removed value: -"Identifier"
      • removedInput schema / properties / vpc_type / title
        Removed value: -"Vpc Type"
    • Changedget_operating_system1 field changed
      • removedInput schema / properties / os_id / title
        Removed value: -"Os Id"
    • Changedget_os_by_name1 field changed
      • removedInput schema / properties / name / title
        Removed value: -"Name"
    • Changedget_plan1 field changed
      • removedInput schema / properties / plan_id / title
        Removed value: -"Plan Id"
    • Changedget_plan_by_type_and_spec5 fields changed
      • removedInput schema / properties / plan_type / title
        Removed value: -"Plan Type"
      • removedInput schema / properties / ram_gb / title
        Removed value: -"Ram Gb"
      • removedInput schema / properties / vcpus / title
        Removed value: -"Vcpus"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedget_plans_by_region_availability3 fields changed
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedget_popular_marketplace_apps1 field changed
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
    • Changedget_record2 fields changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedInput schema / properties / record_id / title
        Removed value: -"Record Id"
    • Changedget_registry_info1 field changed
      • removedInput schema / properties / registry_identifier / title
        Removed value: -"Registry Identifier"
    • Changedget_rule2 fields changed
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
      • removedInput schema / properties / firewall_rule_id / title
        Removed value: -"Firewall Rule Id"
    • Changedget_s3_config1 field changed
      • removedInput schema / properties / object_storage_id / title
        Removed value: -"Object Storage Id"
    • Changedget_serverless_inference1 field changed
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changedget_startup_script1 field changed
      • removedInput schema / properties / script_identifier / title
        Removed value: -"Script Identifier"
    • Changedget_startup_script_content3 fields changed
      • removedInput schema / properties / script_identifier / title
        Removed value: -"Script Identifier"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedget_usage1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedget_user2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changedget_volume_status1 field changed
      • removedInput schema / properties / volume_identifier / title
        Removed value: -"Volume Identifier"
    • Changedget_vpc21 field changed
      • removedInput schema / properties / vpc2_identifier / title
        Removed value: -"Vpc2 Identifier"
    • Changedimport_zone_file5 fields changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedInput schema / properties / dry_run / title
        Removed value: -"Dry Run"
      • removedInput schema / properties / zone_data / title
        Removed value: -"Zone Data"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_application_images2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_applications1 field changed
      • removedInput schema / properties / app_type / title
        Removed value: -"App Type"
    • Changedlist_attached2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_available_versions1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedlist_backups1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedlist_bare_metal_plans1 field changed
      • removedInput schema / properties / plan_type / title
        Removed value: -"Plan Type"
    • Changedlist_bare_metal_servers_by_region1 field changed
      • removedInput schema / properties / region / title
        Removed value: -"Region"
    • Changedlist_bare_metal_servers_by_status1 field changed
      • removedInput schema / properties / status / title
        Removed value: -"Status"
    • Changedlist_billing_history2 fields changed
      • removedInput schema / properties / days / title
        Removed value: -"Days"
      • removedInput schema / properties / per_page / title
        Removed value: -"Per Page"
    • Changedlist_boot_scripts2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_by_continent3 fields changed
      • removedInput schema / properties / continent / title
        Removed value: -"Continent"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_by_region3 fields changed
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_by_status1 field changed
      • removedInput schema / properties / status / title
        Removed value: -"Status"
    • Changedlist_by_type1 field changed
      • removedInput schema / properties / gateway_type / title
        Removed value: -"Gateway Type"
    • Changedlist_cluster_tiers1 field changed
      • removedInput schema / properties / cluster_id / title
        Removed value: -"Cluster Id"
    • Changedlist_connection_pools1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedlist_custom_isos2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_databases1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedlist_domains2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_firewall_rules1 field changed
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedlist_forwarding_rules1 field changed
      • removedInput schema / properties / load_balancer_id / title
        Removed value: -"Load Balancer Id"
    • Changedlist_groups2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_instance_networks1 field changed
      • removedInput schema / properties / instance_identifier / title
        Removed value: -"Instance Identifier"
    • Changedlist_invoice_items2 fields changed
      • removedInput schema / properties / invoice_id / title
        Removed value: -"Invoice Id"
      • removedInput schema / properties / per_page / title
        Removed value: -"Per Page"
    • Changedlist_invoices1 field changed
      • removedInput schema / properties / per_page / title
        Removed value: -"Per Page"
    • Changedlist_ipv43 fields changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_ipv63 fields changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_isos2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_kafka_topics1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedlist_kubernetes_node_pools1 field changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
    • Changedlist_kubernetes_nodes2 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
    • Changedlist_linux_os2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_operating_systems2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_os_by_family3 fields changed
      • removedInput schema / properties / family / title
        Removed value: -"Family"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_plans2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_public_isos2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_pxe_scripts2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_records3 fields changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_rules3 fields changed
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_startup_scripts2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_unattached2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_users1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedlist_vc2_plans2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_vhf_plans2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_voc_plans2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_vpc22 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_windows_os2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedlist_with_ddos_protection2 fields changed
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedmonitor_inference_performance1 field changed
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changedoptimize_gateway_configuration1 field changed
      • removedInput schema / properties / gateway_identifier / title
        Removed value: -"Gateway Identifier"
    • Changedoptimize_inference_costs1 field changed
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changedpromote_read_replica1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedpurge_cdn_zone1 field changed
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedreboot1 field changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
    • Changedreboot_bare_metal_server1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedrecycle_kubernetes_node3 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / node_identifier / title
        Removed value: -"Node Identifier"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
    • Changedregenerate_keys1 field changed
      • removedInput schema / properties / object_storage_id / title
        Removed value: -"Object Storage Id"
    • Changedreinstall2 fields changed
      • removedInput schema / properties / hostname / title
        Removed value: -"Hostname"
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
    • Changedreinstall_bare_metal_server2 fields changed
      • removedInput schema / properties / hostname / title
        Removed value: -"Hostname"
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedremove_ip_whitelist_entry3 fields changed
      • removedInput schema / properties / subnet / title
        Removed value: -"Subnet"
      • removedInput schema / properties / subnet_size / title
        Removed value: -"Subnet Size"
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changedrestore_from_backup6 fields changed
      • removedInput schema / properties / backup_label / title
        Removed value: -"Backup Label"
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / database_label / title
        Removed value: -"Database Label"
      • removedInput schema / properties / plan / title
        Removed value: -"Plan"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / vpc_id / title
        Removed value: -"Vpc Id"
    • Changedscale_kubernetes_node_pool3 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
      • removedInput schema / properties / target_node_count / title
        Removed value: -"Target Node Count"
    • Changedsearch_applications3 fields changed
      • removedInput schema / properties / app_type / title
        Removed value: -"App Type"
      • removedInput schema / properties / search_term / title
        Removed value: -"Search Term"
      • removedInput schema / properties / vendor / title
        Removed value: -"Vendor"
    • Changedsearch_bare_metal_plans4 fields changed
      • removedInput schema / properties / max_monthly_cost / title
        Removed value: -"Max Monthly Cost"
      • removedInput schema / properties / min_disk / title
        Removed value: -"Min Disk"
      • removedInput schema / properties / min_ram / title
        Removed value: -"Min Ram"
      • removedInput schema / properties / min_vcpus / title
        Removed value: -"Min Vcpus"
    • Changedsearch_os_by_name3 fields changed
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedsearch_plans_by_specs6 fields changed
      • removedInput schema / properties / max_monthly_cost / title
        Removed value: -"Max Monthly Cost"
      • removedInput schema / properties / min_disk / title
        Removed value: -"Min Disk"
      • removedInput schema / properties / min_ram / title
        Removed value: -"Min Ram"
      • removedInput schema / properties / min_vcpus / title
        Removed value: -"Min Vcpus"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedsearch_startup_scripts3 fields changed
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedsetup_cdn_for_website4 fields changed
      • removedInput schema / properties / enable_compression / title
        Removed value: -"Enable Compression"
      • removedInput schema / properties / enable_security / title
        Removed value: -"Enable Security"
      • removedInput schema / properties / origin_domain / title
        Removed value: -"Origin Domain"
      • removedInput schema / properties / regions / title
        Removed value: -"Regions"
    • Changedsetup_kubernetes_cluster_for_workload5 fields changed
      • removedInput schema / properties / auto_scaling / title
        Removed value: -"Auto Scaling"
      • removedInput schema / properties / environment / title
        Removed value: -"Environment"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / workload_type / title
        Removed value: -"Workload Type"
    • Changedsetup_mysql_database7 fields changed
      • removedInput schema / properties / app_database / title
        Removed value: -"App Database"
      • removedInput schema / properties / app_password / title
        Removed value: -"App Password"
      • removedInput schema / properties / app_user / title
        Removed value: -"App User"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / plan / title
        Removed value: -"Plan"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / root_password / title
        Removed value: -"Root Password"
    • Changedsetup_permissions2 fields changed
      • removedInput schema / properties / permissions / title
        Removed value: -"Permissions"
      • removedInput schema / properties / subaccount_id / title
        Removed value: -"Subaccount Id"
    • Changedsetup_postgresql_database7 fields changed
      • removedInput schema / properties / app_database / title
        Removed value: -"App Database"
      • removedInput schema / properties / app_password / title
        Removed value: -"App Password"
      • removedInput schema / properties / app_user / title
        Removed value: -"App User"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / plan / title
        Removed value: -"Plan"
      • removedInput schema / properties / region / title
        Removed value: -"Region"
      • removedInput schema / properties / version / title
        Removed value: -"Version"
    • Changedsetup_service_user4 fields changed
      • removedInput schema / properties / email / title
        Removed value: -"Email"
      • removedInput schema / properties / first_name / title
        Removed value: -"First Name"
      • removedInput schema / properties / last_name / title
        Removed value: -"Last Name"
      • removedInput schema / properties / permissions / title
        Removed value: -"Permissions"
    • Changedsetup_standard_user5 fields changed
      • removedInput schema / properties / email / title
        Removed value: -"Email"
      • removedInput schema / properties / first_name / title
        Removed value: -"First Name"
      • removedInput schema / properties / last_name / title
        Removed value: -"Last Name"
      • removedInput schema / properties / password / title
        Removed value: -"Password"
      • removedInput schema / properties / permissions_level / title
        Removed value: -"Permissions Level"
    • Changedsetup_web_server_rules4 fields changed
      • removedInput schema / properties / allow_ssh_from / title
        Removed value: -"Allow Ssh From"
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedsetup_website5 fields changed
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedInput schema / properties / ip / title
        Removed value: -"Ip"
      • removedInput schema / properties / www_enabled / title
        Removed value: -"Www Enabled"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"_WrappedResult"
    • Changedstart1 field changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
    • Changedstart_bare_metal_server1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedstart_maintenance1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedstart_migration7 fields changed
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / host / title
        Removed value: -"Host"
      • removedInput schema / properties / password / title
        Removed value: -"Password"
      • removedInput schema / properties / port / title
        Removed value: -"Port"
      • removedInput schema / properties / ssl / title
        Removed value: -"Ssl"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changedstart_version_upgrade2 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / version / title
        Removed value: -"Version"
    • Changedstop1 field changed
      • removedInput schema / properties / instance_id / title
        Removed value: -"Instance Id"
    • Changedstop_bare_metal_server1 field changed
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
    • Changedstop_migration1 field changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
    • Changedupdate3 fields changed
      • removedInput schema / properties / acls / title
        Removed value: -"Acls"
      • removedInput schema / properties / api_enabled / title
        Removed value: -"Api Enabled"
      • removedInput schema / properties / user_id / title
        Removed value: -"User Id"
    • Changedupdate_bare_metal_server5 fields changed
      • removedInput schema / properties / enable_ddos_protection / title
        Removed value: -"Enable Ddos Protection"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / server_identifier / title
        Removed value: -"Server Identifier"
      • removedInput schema / properties / tag / title
        Removed value: -"Tag"
      • removedInput schema / properties / user_data / title
        Removed value: -"User Data"
    • Changedupdate_cdn_zone7 fields changed
      • removedInput schema / properties / block_ai_bots / title
        Removed value: -"Block Ai Bots"
      • removedInput schema / properties / block_bad_bots / title
        Removed value: -"Block Bad Bots"
      • removedInput schema / properties / block_ip_addresses / title
        Removed value: -"Block Ip Addresses"
      • removedInput schema / properties / cors_policy / title
        Removed value: -"Cors Policy"
      • removedInput schema / properties / gzip_compression / title
        Removed value: -"Gzip Compression"
      • removedInput schema / properties / regions / title
        Removed value: -"Regions"
      • removedInput schema / properties / zone_identifier / title
        Removed value: -"Zone Identifier"
    • Changedupdate_connection_pool6 fields changed
      • removedInput schema / properties / database / title
        Removed value: -"Database"
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / mode / title
        Removed value: -"Mode"
      • removedInput schema / properties / pool_name / title
        Removed value: -"Pool Name"
      • removedInput schema / properties / size / title
        Removed value: -"Size"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changedupdate_group2 fields changed
      • removedInput schema / properties / description / title
        Removed value: -"Description"
      • removedInput schema / properties / firewall_group_id / title
        Removed value: -"Firewall Group Id"
    • Changedupdate_kafka_topic6 fields changed
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / partitions / title
        Removed value: -"Partitions"
      • removedInput schema / properties / replication / title
        Removed value: -"Replication"
      • removedInput schema / properties / retention_bytes / title
        Removed value: -"Retention Bytes"
      • removedInput schema / properties / retention_hours / title
        Removed value: -"Retention Hours"
      • removedInput schema / properties / topic_name / title
        Removed value: -"Topic Name"
    • Changedupdate_kubernetes_cluster2 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / label / title
        Removed value: -"Label"
    • Changedupdate_kubernetes_node_pool8 fields changed
      • removedInput schema / properties / auto_scaler / title
        Removed value: -"Auto Scaler"
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / labels / title
        Removed value: -"Labels"
      • removedInput schema / properties / max_nodes / title
        Removed value: -"Max Nodes"
      • removedInput schema / properties / min_nodes / title
        Removed value: -"Min Nodes"
      • removedInput schema / properties / node_quantity / title
        Removed value: -"Node Quantity"
      • removedInput schema / properties / nodepool_identifier / title
        Removed value: -"Nodepool Identifier"
      • removedInput schema / properties / tag / title
        Removed value: -"Tag"
    • Changedupdate_record6 fields changed
      • removedInput schema / properties / data / title
        Removed value: -"Data"
      • removedInput schema / properties / domain / title
        Removed value: -"Domain"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / priority / title
        Removed value: -"Priority"
      • removedInput schema / properties / record_id / title
        Removed value: -"Record Id"
      • removedInput schema / properties / ttl / title
        Removed value: -"Ttl"
    • Changedupdate_serverless_inference2 fields changed
      • removedInput schema / properties / label / title
        Removed value: -"Label"
      • removedInput schema / properties / subscription_id / title
        Removed value: -"Subscription Id"
    • Changedupdate_startup_script3 fields changed
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / script / title
        Removed value: -"Script"
      • removedInput schema / properties / script_identifier / title
        Removed value: -"Script Identifier"
    • Changedupdate_user4 fields changed
      • removedInput schema / properties / access_level / title
        Removed value: -"Access Level"
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / password / title
        Removed value: -"Password"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changedupdate_user_access_control6 fields changed
      • removedInput schema / properties / acl_categories / title
        Removed value: -"Acl Categories"
      • removedInput schema / properties / acl_channels / title
        Removed value: -"Acl Channels"
      • removedInput schema / properties / acl_commands / title
        Removed value: -"Acl Commands"
      • removedInput schema / properties / acl_keys / title
        Removed value: -"Acl Keys"
      • removedInput schema / properties / database_id / title
        Removed value: -"Database Id"
      • removedInput schema / properties / username / title
        Removed value: -"Username"
    • Changedupdate_vpc22 fields changed
      • removedInput schema / properties / description / title
        Removed value: -"Description"
      • removedInput schema / properties / vpc2_identifier / title
        Removed value: -"Vpc2 Identifier"
    • Changedupgrade_kubernetes_cluster2 fields changed
      • removedInput schema / properties / cluster_identifier / title
        Removed value: -"Cluster Identifier"
      • removedInput schema / properties / upgrade_version / title
        Removed value: -"Upgrade Version"
    • Changedvalidate_record5 fields changed
      • removedInput schema / properties / data / title
        Removed value: -"Data"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / priority / title
        Removed value: -"Priority"
      • removedInput schema / properties / record_type / title
        Removed value: -"Record Type"
      • removedInput schema / properties / ttl / title
        Removed value: -"Ttl"
    • Changedvalidate_s3_access1 field changed
      • removedInput schema / properties / object_storage_id / title
        Removed value: -"Object Storage Id"
  2. 265 tool updates
    • First observedadd_export
    • First observedadd_ip_whitelist_entry
    • First observedanalyze_cdn_performance
    • First observedanalyze_costs
    • First observedanalyze_domain
    • First observedanalyze_inference_usage
    • First observedanalyze_kubernetes_cluster_costs
    • First observedanalyze_spending_trends
    • First observedanalyze_user_permissions
    • First observedattach
    • First observedattach_to_instance
    • First observedcompare_plans
    • First observedconfigure_basic_web_lb
    • First observedconvert_instance_ip
    • First observedcreate
    • First observedcreate_bare_metal_server
    • First observedcreate_cdn_ssl_certificate
    • First observedcreate_cdn_zone
    • First observedcreate_common_startup_script
    • First observedcreate_connection_pool
    • First observedcreate_domain
    • First observedcreate_forwarding_rule
    • First observedcreate_from_url
    • First observedcreate_group
    • First observedcreate_ipv4
    • First observedcreate_iso
    • First observedcreate_kafka_topic
    • First observedcreate_kubernetes_cluster
    • First observedcreate_kubernetes_node_pool
    • First observedcreate_logical_database
    • First observedcreate_read_replica
    • First observedcreate_record
    • First observedcreate_rule
    • First observedcreate_serverless_inference
    • First observedcreate_startup_script
    • First observedcreate_user
    • First observedcreate_vpc2
    • First observeddelete
    • First observeddelete_bare_metal_server
    • First observeddelete_cdn_ssl_certificate
    • First observeddelete_cdn_zone
    • First observeddelete_connection_pool
    • First observeddelete_domain
    • First observeddelete_export
    • First observeddelete_forwarding_rule
    • First observeddelete_group
    • First observeddelete_ipv4
    • First observeddelete_iso
    • First observeddelete_kafka_topic
    • First observeddelete_kubernetes_cluster
    • First observeddelete_kubernetes_cluster_with_resources
    • First observeddelete_kubernetes_node
    • First observeddelete_kubernetes_node_pool
    • First observeddelete_logical_database
    • First observeddelete_record
    • First observeddelete_rule
    • First observeddelete_serverless_inference
    • First observeddelete_ssl
    • First observeddelete_startup_script
    • First observeddelete_user
    • First observeddelete_vpc2
    • First observeddetach
    • First observeddetach_from_instance
    • First observeddisable_auto_ssl
    • First observedexport_zone_file
    • First observedfind_by_email
    • First observedfind_by_name
    • First observedfind_by_region
    • First observedfind_regions_with_plan
    • First observedfork_database
    • First observedgenerate_docker_credentials
    • First observedgenerate_kubernetes_credentials
    • First observedget
    • First observedget_account_info
    • First observedget_application
    • First observedget_application_deployment_guide
    • First observedget_applications_by_vendor
    • First observedget_availability
    • First observedget_balance_summary
    • First observedget_bandwidth
    • First observedget_bare_metal_bandwidth
    • First observedget_bare_metal_neighbors
    • First observedget_bare_metal_plan
    • First observedget_bare_metal_server
    • First observedget_bare_metal_server_summary
    • First observedget_bare_metal_user_data
    • First observedget_cdn_available_regions
    • First observedget_cdn_ssl_certificate
    • First observedget_cdn_zone
    • First observedget_cdn_zone_logs
    • First observedget_cdn_zone_stats
    • First observedget_cdn_zone_summary
    • First observedget_cheapest_plan
    • First observedget_configuration_summary
    • First observedget_connection_pool
    • First observedget_cost_analysis
    • First observedget_cost_breakdown_by_service
    • First observedget_current_balance
    • First observedget_current_month_summary
    • First observedget_deployment_examples
    • First observedget_docker_login_command
    • First observedget_domain
    • First observedget_firewall_rule
    • First observedget_forwarding_rule
    • First observedget_gateway_status
    • First observedget_group
    • First observedget_health_status
    • First observedget_inference_deployment_guide
    • First observedget_inference_usage
    • First observedget_invoice
    • First observedget_ip_whitelist
    • First observedget_ip_whitelist_entry
    • First observedget_iso
    • First observedget_iso_by_name
    • First observedget_kafka_topic
    • First observedget_kubernetes_available_upgrades
    • First observedget_kubernetes_cluster
    • First observedget_kubernetes_cluster_config
    • First observedget_kubernetes_cluster_resources
    • First observedget_kubernetes_cluster_status
    • First observedget_kubernetes_node
    • First observedget_kubernetes_node_pool
    • First observedget_kubernetes_versions
    • First observedget_last_month_summary
    • First observedget_logical_database
    • First observedget_maintenance_updates
    • First observedget_marketplace_app_variables
    • First observedget_migration_status
    • First observedget_monthly_usage_summary
    • First observedget_mount_instructions
    • First observedget_mounting_instructions
    • First observedget_network_info
    • First observedget_operating_system
    • First observedget_os_by_name
    • First observedget_payment_summary
    • First observedget_plan
    • First observedget_plan_by_type_and_spec
    • First observedget_plans_by_region_availability
    • First observedget_popular_marketplace_apps
    • First observedget_record
    • First observedget_registry_info
    • First observedget_rule
    • First observedget_s3_config
    • First observedget_serverless_inference
    • First observedget_startup_script
    • First observedget_startup_script_content
    • First observedget_status_overview
    • First observedget_storage_summary
    • First observedget_usage
    • First observedget_user
    • First observedget_volume_status
    • First observedget_vpc2
    • First observedimport_zone_file
    • First observedlist
    • First observedlist_application_categories
    • First observedlist_application_images
    • First observedlist_applications
    • First observedlist_attached
    • First observedlist_available_permissions
    • First observedlist_available_versions
    • First observedlist_backups
    • First observedlist_bare_metal_plans
    • First observedlist_bare_metal_servers
    • First observedlist_bare_metal_servers_by_region
    • First observedlist_bare_metal_servers_by_status
    • First observedlist_billing_history
    • First observedlist_boot_scripts
    • First observedlist_by_continent
    • First observedlist_by_region
    • First observedlist_by_status
    • First observedlist_by_type
    • First observedlist_cdn_zones
    • First observedlist_cluster_tiers
    • First observedlist_clusters
    • First observedlist_connection_pools
    • First observedlist_custom_isos
    • First observedlist_databases
    • First observedlist_domains
    • First observedlist_firewall_rules
    • First observedlist_forwarding_rules
    • First observedlist_groups
    • First observedlist_instance_networks
    • First observedlist_invoice_items
    • First observedlist_invoices
    • First observedlist_ipv4
    • First observedlist_ipv6
    • First observedlist_isos
    • First observedlist_kafka_topics
    • First observedlist_kubernetes_clusters
    • First observedlist_kubernetes_node_pools
    • First observedlist_kubernetes_nodes
    • First observedlist_linux_os
    • First observedlist_marketplace_applications
    • First observedlist_oneclick_applications
    • First observedlist_operating_systems
    • First observedlist_os_by_family
    • First observedlist_plans
    • First observedlist_public_isos
    • First observedlist_pxe_scripts
    • First observedlist_records
    • First observedlist_rules
    • First observedlist_serverless_inference
    • First observedlist_startup_scripts
    • First observedlist_unattached
    • First observedlist_users
    • First observedlist_vc2_plans
    • First observedlist_vhf_plans
    • First observedlist_voc_plans
    • First observedlist_vpc2
    • First observedlist_windows_os
    • First observedlist_with_ddos_protection
    • First observedmonitor_inference_performance
    • First observedmonitor_usage
    • First observedoptimize_gateway_configuration
    • First observedoptimize_inference_costs
    • First observedpromote_read_replica
    • First observedpurge_cdn_zone
    • First observedreboot
    • First observedreboot_bare_metal_server
    • First observedrecycle_kubernetes_node
    • First observedregenerate_keys
    • First observedreinstall
    • First observedreinstall_bare_metal_server
    • First observedremove_ip_whitelist_entry
    • First observedrestore_from_backup
    • First observedscale_kubernetes_node_pool
    • First observedsearch_applications
    • First observedsearch_bare_metal_plans
    • First observedsearch_os_by_name
    • First observedsearch_plans_by_specs
    • First observedsearch_startup_scripts
    • First observedsetup_cdn_for_website
    • First observedsetup_kubernetes_cluster_for_workload
    • First observedsetup_mysql_database
    • First observedsetup_permissions
    • First observedsetup_postgresql_database
    • First observedsetup_service_user
    • First observedsetup_standard_user
    • First observedsetup_web_server_rules
    • First observedsetup_website
    • First observedstart
    • First observedstart_bare_metal_server
    • First observedstart_maintenance
    • First observedstart_migration
    • First observedstart_version_upgrade
    • First observedstop
    • First observedstop_bare_metal_server
    • First observedstop_migration
    • First observedupdate
    • First observedupdate_bare_metal_server
    • First observedupdate_cdn_zone
    • First observedupdate_connection_pool
    • First observedupdate_group
    • First observedupdate_kafka_topic
    • First observedupdate_kubernetes_cluster
    • First observedupdate_kubernetes_node_pool
    • First observedupdate_record
    • First observedupdate_serverless_inference
    • First observedupdate_startup_script
    • First observedupdate_user
    • First observedupdate_user_access_control
    • First observedupdate_vpc2
    • First observedupgrade_kubernetes_cluster
    • First observedvalidate_record
    • First observedvalidate_s3_access

TDQS

B3.2/5.0

Scored across 265 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific resources and actions, with clear naming like 'create_cdn_zone' vs 'update_cdn_zone'. However, there is some overlap in analysis tools (e.g., multiple 'analyze_' tools for different resources) and some redundancy like 'delete_kubernetes_cluster' vs 'delete_kubernetes_cluster_with_resources', which could cause minor confusion.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. Examples include 'create_domain', 'list_records', 'update_user', and 'delete_serverless_inference'. The pattern is maintained across all 265 tools with no deviations in style.

Tool Count2/5

With 265 tools, the set is extremely large and overwhelming for a cloud provider interface. While Vultr's scope is broad, this many tools suggests poor consolidation and will cause selection paralysis for agents. A well-scoped server should have 3-15 tools; this is an extreme mismatch.

Completeness5/5

The tool surface provides comprehensive CRUD/lifecycle coverage across all Vultr services including compute, storage, networking, databases, Kubernetes, CDN, DNS, and billing. There are no obvious gaps; each service has create, read, update, delete, list, and management operations, ensuring agents can handle full workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects AI assistants to Linode cloud infrastructure, enabling the management of compute instances, databases, and networking resources through natural language. It provides a comprehensive suite of tools for resource orchestration, monitoring, and account management using stdio, SSE, or HTTP transports.
    108
    20
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables comprehensive management of CloudStack infrastructure through natural language, providing access to over 735 API methods for virtual machines, networking, and storage. It features enterprise-grade security with a safety confirmation system for destructive operations and extensive API coverage.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides AI agents with natural language control over AWS, Azure, GCP, and Alibaba Cloud infrastructure through dynamic API discovery and execution. Supports 51,900+ cloud operations and includes OpenTofu integration for complete infrastructure lifecycle management.
    3
    MIT