scm-mcp
Provides comprehensive management of Palo Alto Networks Strata Cloud Manager (SCM) firewall configuration through 149 tools covering policy objects, security rules, NAT, profiles, decryption, QoS, and full CRUD operations across multi-tenant environments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@scm-mcplist all security rules in the Production folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
scm-mcp
A Model Context Protocol (MCP) server for Palo Alto Networks Strata Cloud Manager (SCM). Exposes 149 tools covering the full SCM configuration lifecycle — policy objects, security rules, NAT, profiles, decryption, QoS, and more — so you can manage firewall configuration through natural language in Claude Code or Claude Desktop.
Features
149 tools across 9 functional areas
Multi-tenant (multi-TSG) support — target different tenants per tool call with named aliases
Full CRUD for all supported resource types
Zero infrastructure — runs as a local stdio process, no server to maintain
Built on the pan-scm-sdk which handles OAuth2 token lifecycle, pagination, and Pydantic validation automatically
Tool Coverage
Area | Tools | Resources |
Setup | 12 | Folders, Snippets |
Objects | 45 | Addresses, Address Groups, Services, Service Groups, Tags, Log Forwarding Profiles, HTTP Server Profiles, Syslog Server Profiles |
Policy Objects | 24 | Applications, Application Groups, Application Filters, Schedules, External Dynamic Lists |
Security | 26 | Security Rules, Security Zones, Decryption Rules, Authentication Rules |
Network | 17 | NAT Rules, PBF Rules, QoS Rules |
Profiles | 24 | Anti-Spyware, WildFire, Vulnerability, URL Access, URL Categories, DNS Security, Decryption, File Blocking, Zone Protection |
Operations | 4 | Commit, Job Status, List Jobs, List TSG Profiles |
Total | 149 |
Requirements
Python 3.12+
A Palo Alto Networks SCM tenant with a service account
Installation
1. Clone and install
git clone https://github.com/your-username/scm-mcp.git
cd scm-mcp
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .2. Configure credentials
cp .env.example .envEdit .env with your SCM service account credentials:
SCM_CLIENT_ID=your_client_id_here
SCM_CLIENT_SECRET=your_client_secret_here
SCM_TSG_ID=your_default_tsg_id_here
# Optional: named aliases for multi-tenant use
# SCM_TSG_PROD=prod_tsg_id_here
# SCM_TSG_LAB=lab_tsg_id_hereWhere to find credentials: SCM portal → Settings → Service Accounts → Create. The TSG ID appears in the tenant URL:
https://stratacloudmanager.paloaltonetworks.com/tenants/<TSG_ID>/.
3. Register with Claude Code
claude mcp add scm -- /path/to/scm-mcp/.venv/bin/python -m src.serverOr add to .claude/settings.json manually:
{
"mcpServers": {
"scm": {
"command": "/path/to/scm-mcp/.venv/bin/python",
"args": ["-m", "src.server"],
"cwd": "/path/to/scm-mcp"
}
}
}4. Register with Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"scm": {
"command": "/path/to/scm-mcp/.venv/bin/python",
"args": ["-m", "src.server"],
"cwd": "/path/to/scm-mcp",
"env": {
"SCM_CLIENT_ID": "your_client_id",
"SCM_CLIENT_SECRET": "your_client_secret",
"SCM_TSG_ID": "your_tsg_id"
}
}
}
}Multi-Tenant Usage
Every tool accepts an optional tsg_id parameter. When omitted, the default SCM_TSG_ID is used.
Named aliases — define them in .env:
SCM_TSG_PROD=1234567890
SCM_TSG_LAB=9876543210Then pass the alias name to any tool:
# List which TSGs are configured
scm_list_tsg_profiles()
# Query the PROD tenant
scm_list_addresses(folder="All", tsg_id="PROD")
# Copy an object between tenants
scm_get_address(address_id="<uuid>", tsg_id="PROD")
scm_create_address(name="web-servers", folder="Texas", ip_netmask="10.0.1.0/24", tsg_id="LAB")You can also pass a raw TSG ID string directly if no alias is configured.
Project Structure
scm-mcp/
├── src/
│ ├── server.py # MCP server entry point and tool registration
│ ├── client.py # Per-TSG Scm client factory with alias resolution
│ ├── utils.py # Serialization (Pydantic → dict) and error handling
│ └── tools/
│ ├── setup.py # Folders, Snippets
│ ├── objects.py # Addresses, Address Groups, Services, Service Groups,
│ │ # Tags, Log/HTTP/Syslog Server Profiles
│ ├── policy_objects.py# Applications, App Groups, App Filters,
│ │ # Schedules, External Dynamic Lists
│ ├── security.py # Security Rules, Security Zones,
│ │ # Decryption Rules, Authentication Rules
│ ├── network.py # NAT Rules, PBF Rules, QoS Rules
│ ├── profiles.py # Anti-Spyware, WildFire, Vulnerability, URL Access,
│ │ # URL Categories, DNS Security, Decryption,
│ │ # File Blocking, Zone Protection Profiles
│ └── operations.py # Commit, Job Status, List Jobs, List TSG Profiles
├── .env.example # Credential template (commit this)
├── .env # Real credentials (gitignored)
├── pyproject.toml # Project metadata and dependencies
└── README.mdExample Prompts
Once the MCP server is connected, you can use natural language in Claude Code:
Show me all security rules in the Texas folder.
Create an address object for our web server farm: 10.10.1.0/24 in the Texas folder, tagged "web-tier".
Copy all address objects from the PROD tenant into the LAB tenant under the same folder.
Create a security rule allowing HTTPS from the trust zone to the DMZ zone for the web-servers address group. Use the best-practice security profile group.
What external dynamic lists are configured and when do they refresh?
Commit the changes in the Texas and California folders with description "Q2 policy update".Tool Reference
Operations
Tool | Description |
| List configured TSG profiles and their aliases |
| Commit staged changes and push to devices |
| Poll an async commit job for completion |
| List recent SCM jobs |
Setup
Tool | Description |
| List all folders |
| Get folder by UUID |
| Create a folder |
| Rename or redescribe a folder |
| Delete a folder |
| List all snippets |
| Get snippet by UUID |
| Create a snippet |
| Update a snippet |
| Delete a snippet |
| Associate a snippet with a folder |
| Remove snippet-folder association |
Objects
Tool | Description |
| List address objects |
| Get address by UUID |
| Create an address (IP/CIDR, range, wildcard, or FQDN) |
| Update an address |
| Delete an address |
| List address groups |
| Get address group by UUID |
| Create a static or dynamic address group |
| Update an address group |
| Delete an address group |
| List service objects |
| Get service by UUID |
| Create a TCP/UDP service |
| Update a service |
| Delete a service |
| List service groups |
| Get service group by UUID |
| Create a service group |
| Update a service group |
| Delete a service group |
| List tags |
| Get tag by UUID |
| Create a tag |
| Update a tag |
| Delete a tag |
| List log forwarding profiles |
| Get log forwarding profile by UUID |
| Create a log forwarding profile |
| Delete a log forwarding profile |
| List HTTP server profiles |
| Get HTTP server profile by UUID |
| Create an HTTP server profile |
| Delete an HTTP server profile |
| List syslog server profiles |
| Get syslog server profile by UUID |
| Create a syslog server profile |
| Delete a syslog server profile |
Policy Objects
Tool | Description |
| List application objects |
| Get application by UUID |
| Create a custom application |
| Update a custom application |
| Delete a custom application |
| List application groups |
| Get application group by UUID |
| Create an application group |
| Update an application group |
| Delete an application group |
| List application filters |
| Get application filter by UUID |
| Create a dynamic application filter |
| Delete an application filter |
| List schedule objects |
| Get schedule by UUID |
| Create a recurring or one-time schedule |
| Update a schedule |
| Delete a schedule |
| List external dynamic lists (EDLs) |
| Get EDL by UUID |
| Create an IP/URL/domain EDL |
| Update an EDL |
| Delete an EDL |
Security
Tool | Description |
| List security policy rules |
| Get security rule by UUID |
| Create a security rule |
| Update a security rule |
| Delete a security rule |
| Reorder a rule (top/bottom/before/after) |
| List security zones |
| Get security zone by UUID |
| Create a security zone |
| Update a security zone |
| Delete a security zone |
| List decryption policy rules |
| Get decryption rule by UUID |
| Create a decrypt/no-decrypt rule |
| Update a decryption rule |
| Delete a decryption rule |
| List authentication policy rules |
| Get authentication rule by UUID |
| Create an authentication rule |
| Update an authentication rule |
| Delete an authentication rule |
Network
Tool | Description |
| List NAT rules |
| Get NAT rule by UUID |
| Create a NAT rule (IPv4, NAT64, NPTv6) |
| Update a NAT rule |
| Delete a NAT rule |
| List policy-based forwarding rules |
| Get PBF rule by UUID |
| Create a PBF rule |
| Update a PBF rule |
| Delete a PBF rule |
| List QoS policy rules |
| Get QoS rule by UUID |
| Create a QoS rule |
| Update a QoS rule |
| Delete a QoS rule |
Security Profiles
Tool | Description |
| List anti-spyware profiles |
| Get anti-spyware profile by UUID |
| Create an anti-spyware profile |
| Delete an anti-spyware profile |
| List WildFire antivirus profiles |
| Get WildFire profile by UUID |
| Create a WildFire profile |
| Delete a WildFire profile |
| List vulnerability protection profiles |
| Get vulnerability profile by UUID |
| Create a vulnerability protection profile |
| Delete a vulnerability protection profile |
| List URL access (filtering) profiles |
| Get URL access profile by UUID |
| Create a URL access profile |
| Delete a URL access profile |
| List custom URL categories |
| Get URL category by UUID |
| Create a custom URL category |
| Delete a custom URL category |
| List DNS security profiles |
| Get DNS security profile by UUID |
| Create a DNS security profile |
| Delete a DNS security profile |
| List SSL/TLS decryption profiles |
| Get decryption profile by UUID |
| Create a decryption profile |
| Delete a decryption profile |
| List file blocking profiles |
| Get file blocking profile by UUID |
| Create a file blocking profile |
| Delete a file blocking profile |
| List zone protection profiles |
| Get zone protection profile by UUID |
| Create a zone protection profile |
| Delete a zone protection profile |
Environment Variables
Variable | Required | Description |
| Yes | OAuth2 client ID from the SCM service account |
| Yes | OAuth2 client secret from the SCM service account |
| Yes | Default Tenant Service Group ID |
| No | Named TSG alias — pass |
Authentication
SCM uses OAuth2 client credentials flow. Tokens have a 15-minute TTL and are automatically refreshed by the underlying pan-scm-sdk. No token management is required.
Service accounts are created in the SCM portal under Settings > Identity & Access > Service Accounts. The account needs appropriate role permissions for the resources you intend to manage.
Contributing
Issues and pull requests welcome. This project is built on pan-scm-sdk — if you need a resource type that isn't covered here, check whether the SDK supports it first.
License
MIT
Available Tools
151 toolsscm_associate_snippet_to_folderB
Associate a snippet with a folder.
Once associated, the snippet's configuration is applied to firewalls in that folder.
Args: snippet_id: UUID of the snippet. folder_id: UUID of the folder to associate with. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| snippet_id | Yes | ||
| folder_id | Yes | ||
| tsg_id | No |
TDQS
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 outcome ('snippet's configuration is applied to firewalls'), implying a write operation, but lacks details on permissions, side effects, error conditions, or response format. This leaves significant 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by parameter details in a structured 'Args' section. It avoids unnecessary fluff, but the second sentence could be integrated more seamlessly, and the overall length is appropriate for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 mutation tool with 3 parameters, the description is incomplete. It explains parameters well but lacks critical behavioral details like success/failure responses, idempotency, or system impact, making it 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.
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 all three parameters: snippet_id and folder_id as UUIDs, and tsg_id as optional with a default. This adds meaningful context beyond the bare 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'associate' and the resources 'snippet' and 'folder', making the purpose specific and understandable. However, it does not explicitly differentiate from its sibling 'scm_disassociate_snippet_from_folder', which is a closely related operation, leaving some ambiguity in sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 choose association over other snippet or folder operations. It mentions the effect ('snippet's configuration is applied to firewalls in that folder') but does not specify prerequisites, dependencies, 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.
scm_commitA
Commit pending configuration changes and push to devices.
This pushes staged changes in the specified folders to the managed firewalls. The operation is asynchronous — use sync=True to wait for completion (up to timeout seconds) or sync=False to get a job ID immediately.
Args: folders: List of folder names whose changes should be committed (e.g. ['Texas', 'California']). description: Optional commit description shown in the audit log. sync: Wait for the commit job to complete before returning (default True). timeout: Seconds to wait when sync=True (default 300). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folders | Yes | ||
| description | No | ||
| sync | No | ||
| timeout | No | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's a write operation (commit/push), it's asynchronous, it offers sync/async modes with timeout control, and it references an audit log. However, it doesn't mention potential side effects like configuration locks, error handling, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: a clear purpose statement followed by a focused explanation of asynchronous behavior, then a well-organized Args section. Every sentence adds value with no redundancy, and key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex write operation with 5 parameters, no annotations, and no output schema, the description is quite complete—covering purpose, behavior, and all parameters. It could be improved by mentioning the return format (e.g., job ID vs. completion status) or error conditions, but it provides sufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 5 parameters in detail: what 'folders' represents with examples, the purpose of 'description', how 'sync' affects behavior, what 'timeout' controls, and the default for 'tsg_id'. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('commit pending configuration changes and push to devices') and resource ('staged changes in the specified folders to the managed firewalls'), distinguishing it from sibling tools that primarily create, delete, get, list, or update individual configuration objects rather than committing batches of changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 the tool (to push staged changes) and mentions the asynchronous nature, but does not explicitly state when NOT to use it or name specific alternatives among the many sibling tools, such as whether to use scm_get_job_status for tracking async jobs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_addressA
Create an address object.
Exactly one of ip_netmask, ip_range, ip_wildcard, or fqdn must be provided.
Args: name: Unique name for the address object. folder: Folder to create the object in (e.g. 'Texas'). ip_netmask: CIDR notation (e.g. '10.0.0.0/8' or '192.168.1.1/32'). ip_range: IP range (e.g. '10.0.0.1-10.0.0.10'). ip_wildcard: Wildcard mask (e.g. '10.20.1.0/0.0.248.255'). fqdn: Fully qualified domain name (e.g. 'example.com'). description: Optional description. tag: Optional list of tag names to apply. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| ip_netmask | No | ||
| ip_range | No | ||
| ip_wildcard | No | ||
| fqdn | No | ||
| description | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 an address object but doesn't mention whether this is a mutation requiring permissions, if it's idempotent, what happens on conflicts (e.g., duplicate names), or any rate limits. The description adds minimal behavioral context beyond the basic action, which is insufficient for a creation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement upfront, followed by a critical constraint, and then a well-organized parameter list with brief explanations and examples. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, creation operation), no annotations, and no output schema, the description is partially complete. It excels in parameter semantics but lacks behavioral details like error handling, response format, or side effects. For a creation tool, this leaves gaps that could hinder an agent's ability to use it correctly without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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% schema description coverage. It explains the mutual exclusivity constraint ('Exactly one of ip_netmask, ip_range, ip_wildcard, or fqdn must be provided'), provides examples for each parameter (e.g., '10.0.0.0/8' for ip_netmask), clarifies optional vs. required parameters, and notes defaults (e.g., 'Defaults to SCM_TSG_ID' for tsg_id). This compensates fully 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.
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 ('address object'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_create_address_group' or 'scm_update_address', which would require mentioning what makes an address object distinct from an address group or update operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage through the 'Exactly one of...' constraint, which helps guide parameter selection, but it lacks explicit guidance on when to use this tool versus alternatives like 'scm_update_address' or 'scm_delete_address'. No prerequisites or exclusions are mentioned, leaving gaps in contextual decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_address_groupA
Create an address group.
Provide either static (list of address object names) or dynamic_filter (a tag-based filter expression), not both.
Args: name: Unique name for the address group. folder: Folder to create the group in. static: List of address object names for a static group. dynamic_filter: Tag-filter expression for a dynamic group (e.g. "'tag1' and 'tag2'"). description: Optional description. tag: Optional list of tag names to apply to the group itself. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| static | No | ||
| dynamic_filter | No | ||
| description | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It clearly indicates this is a creation operation (mutating/write), mentions the 'not both' constraint for static/dynamic_filter, and provides a default for tsg_id. However, it doesn't disclose permissions needed, rate limits, whether the operation is idempotent, or what happens on conflicts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a purpose statement, key constraint, then parameter explanations. It's appropriately sized for a 7-parameter tool. Minor improvement could be front-loading the 'not both' constraint more prominently, but overall it's efficient with zero wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description does well on parameters but lacks behavioral context. It doesn't explain what gets returned, error conditions, or system impacts. Given the complexity and lack of structured data, it should provide more operational guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 7 parameters. It clarifies that name must be unique, folder specifies location, static/dynamic_filter are mutually exclusive alternatives, description/tag are optional, and tsg_id has a default. It even provides a dynamic_filter example: "'tag1' and 'tag2'".
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'address group', specifying it's for creating either static or dynamic address groups. It distinguishes from sibling tools like scm_create_address (individual addresses) and scm_update_address_group (updates rather than creates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Provide either static or dynamic_filter, not both.' This gives clear constraints on parameter usage. However, it doesn't specify when to choose static vs dynamic groups or mention alternatives like scm_update_address_group for modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_anti_spyware_profileA
Create an anti-spyware security profile.
Creates a profile with default settings. Use scm_update_anti_spyware_profile to add threat exception rules after creation.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| tsg_id | No |
TDQS
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 creates with default settings and references a follow-up update tool, but doesn't disclose critical behavioral traits like whether this is a write operation (implied but not stated), what permissions are needed, whether it's idempotent, or what happens on failure. For a creation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a purpose statement, usage guidance, and parameter explanations in a clear format. It's appropriately sized with no wasted sentences, though the parameter section could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 4 parameters, no annotations, and no output schema, the description does well on parameters and basic usage but lacks behavioral context. It doesn't explain what the tool returns, error conditions, or system impacts. Given the complexity and missing structured data, it's partially complete but has significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 clear semantic explanations for all 4 parameters: name (unique), folder (location), description (optional), and tsg_id (optional with default). 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create an anti-spyware security profile') and specifies it creates with default settings. It distinguishes from sibling tools by mentioning scm_update_anti_spyware_profile for post-creation modifications, but doesn't explicitly differentiate from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use this tool (initial creation with defaults) and when to use an alternative (scm_update_anti_spyware_profile for adding threat exception rules). However, it doesn't mention prerequisites like authentication or when not to use it versus other creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_applicationB
Create a custom application object.
Args: name: Unique name for the application. folder: Folder to create the application in. category: Application category (e.g. 'business-systems', 'collaboration'). subcategory: Application subcategory (e.g. 'database', 'email'). technology: Underlying technology (e.g. 'client-server', 'peer-to-peer'). risk: Risk level 1-5 (1=low, 5=critical). description: Optional description. ports: Optional list of port/protocol entries (e.g. ['tcp/80', 'udp/53']). evasive: Application uses evasion techniques (default False). pervasive: Application is widely used (default False). excessive_bandwidth: Consumes excessive bandwidth (default False). used_by_malware: Known to be used by malware (default False). transfers_files: Capable of file transfer (default False). has_known_vulnerabilities: Has known CVEs (default False). tunnels_other_apps: Can tunnel other applications (default False). prone_to_misuse: Prone to misuse (default False). tag: Optional list of tag names. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| category | Yes | ||
| subcategory | Yes | ||
| technology | Yes | ||
| risk | Yes | ||
| description | No | ||
| ports | No | ||
| evasive | No | ||
| pervasive | No | ||
| excessive_bandwidth | No | ||
| used_by_malware | No | ||
| transfers_files | No | ||
| has_known_vulnerabilities | No | ||
| tunnels_other_apps | No | ||
| prone_to_misuse | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 'Create' implies a write/mutation operation, the description doesn't address critical behavioral aspects: whether this requires specific permissions, if it's idempotent, what happens on conflicts (e.g., duplicate names), what the response contains, or any rate limits. It only documents parameter defaults, which 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening statement followed by detailed parameter documentation. While lengthy due to many parameters, every sentence serves a purpose in explaining parameter semantics. It could be more front-loaded with critical behavioral information, but the parameter documentation is efficiently organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 18 parameters, no annotations, and no output schema, the description provides excellent parameter semantics but lacks critical behavioral context. The agent knows what parameters to provide but not what to expect in return, what permissions are needed, or how the system will behave. This creates significant gaps despite the thorough parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 18 parameters, the description provides comprehensive semantic information for all parameters. It explains what each parameter represents (e.g., 'risk: Risk level 1-5 (1=low, 5=critical)'), provides examples (e.g., 'category: Application category (e.g. 'business-systems', 'collaboration')'), and indicates optionality and defaults. 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.
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 'custom application object', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_create_application_group' or 'scm_create_application_filter', which would require more context about what distinguishes a 'custom application object' from other application-related entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 for creating different objects (e.g., scm_create_application_group, scm_create_application_filter), there's no indication of when this specific creation tool is appropriate, nor any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_application_filterA
Create an application filter.
Filters match applications dynamically by their attributes. At least one filter criterion should be specified.
Args: name: Unique name for the filter. folder: Folder to create the filter in. category: Match applications in these categories (optional). subcategory: Match applications in these subcategories (optional). technology: Match applications using these technologies (optional). risk: Match applications with these risk levels 1-5 (optional). evasive: Match evasive applications (optional). used_by_malware: Match applications used by malware (optional). transfers_files: Match applications that transfer files (optional). has_known_vulnerabilities: Match apps with known CVEs (optional). tunnels_other_apps: Match apps that tunnel other apps (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| category | No | ||
| subcategory | No | ||
| technology | No | ||
| risk | No | ||
| evasive | No | ||
| used_by_malware | No | ||
| transfers_files | No | ||
| has_known_vulnerabilities | No | ||
| tunnels_other_apps | No | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only minimally addresses behavior. It mentions that filters match dynamically and at least one criterion is needed, but doesn't disclose whether this is a write operation (implied by 'create'), what permissions are required, whether it's idempotent, what happens on duplicate names, or what the response contains. For a creation tool with 12 parameters, this is inadequate 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by detailed parameter documentation. It's appropriately sized for a tool with many parameters. However, the first sentence could be more front-loaded with key behavioral information, and some repetition exists in parameter descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, creation tool), no annotations, and no output schema, the description is partially complete. It covers parameters well but lacks crucial context about the creation operation's behavior, response format, error handling, and relationship to other tools. The parameter documentation is strong, but other aspects are underdeveloped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 12 parameters, the description compensates excellently by providing detailed parameter explanations in the Args section. Each parameter gets a clear semantic explanation beyond just names (e.g., 'Match applications in these categories', 'Match applications with these risk levels 1-5', 'Optional TSG ID or named alias'). 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an application filter and explains that filters match applications dynamically by their attributes. It distinguishes from siblings like scm_create_application or scm_create_application_group by focusing on filtering criteria rather than creating applications or groups directly. However, it doesn't explicitly contrast with scm_get_application_filter or scm_list_application_filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage by stating 'At least one filter criterion should be specified' and listing optional parameters, but lacks explicit guidance on when to use this vs. alternatives like scm_create_application_group or scm_search. It doesn't mention prerequisites, error conditions, or typical use cases beyond the basic functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_application_groupB
Create an application group.
Args: name: Unique name for the application group. folder: Folder to create the group in. members: List of application names to include. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| members | Yes | ||
| tsg_id | No |
TDQS
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 'Create' which implies a write/mutation operation, but doesn't disclose behavioral traits like required permissions, whether the creation is idempotent, what happens on duplicate names, or error conditions. The mention of 'Defaults to SCM_TSG_ID' for tsg_id adds some context about default behavior, but overall transparency is minimal for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 structured 'Args:' section that efficiently documents parameters. Every sentence earns its place with no redundant information, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (creation tool with 4 parameters), no annotations, and no output schema, the description is moderately complete. It covers the purpose and parameters well, but lacks context on behavioral aspects (e.g., permissions, idempotency) and doesn't explain return values or error handling. This is adequate for basic use but has clear gaps for robust agent operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters: 'name' as a unique identifier, 'folder' as the location, 'members' as a list of application names, and 'tsg_id' with default behavior. This adds significant value beyond the bare schema, though it lacks details like format constraints or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('application group'), making the purpose immediately understandable. It distinguishes from siblings like 'scm_create_application' or 'scm_create_application_filter' by specifying it creates a group of applications rather than individual applications or filters. However, it doesn't explicitly contrast with 'scm_create_application_group' vs 'scm_update_application_group' or deletion tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., existing applications for members, folder existence), when not to use it (e.g., if updating instead), or compare with sibling tools like 'scm_update_application_group' or 'scm_delete_application_group'. Usage is implied only through the action 'Create'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_authentication_ruleB
Create an authentication policy rule.
Args: name: Unique name for the rule. folder: Folder to create the rule in. source_zone: List of source zone names. destination_zone: List of destination zone names. authentication_enforcement: Authentication enforcement profile name. source: Source address objects/groups (default ['any']). destination: Destination address objects/groups (default ['any']). source_user: Source user/group names (default ['any']). description: Optional description. tag: Optional list of tag names. disabled: Whether the rule is disabled (default False). rulebase: Rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| source_zone | Yes | ||
| destination_zone | Yes | ||
| authentication_enforcement | Yes | ||
| source | No | ||
| destination | No | ||
| source_user | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| rulebase | No | pre | |
| tsg_id | No |
TDQS
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 rules but doesn't mention whether this is a write operation requiring specific permissions, if changes are reversible, potential side effects, or what happens on success/failure. For a mutation tool with 13 parameters and no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and well-structured with a clear purpose statement followed by a parameter glossary. Each parameter explanation is concise and earns its place. However, the 'Args:' section could be more tightly integrated with the purpose statement for better front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex mutation tool with 13 parameters, no annotations, and no output schema, the description is partially complete. It excels at parameter documentation but lacks behavioral context, usage guidelines, and information about what the tool returns. Given the complexity, it should provide more about authentication rule behavior and system impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given the schema description coverage is 0%, the description compensates fully by providing detailed parameter semantics for all 13 parameters. It explains each parameter's purpose, data types (e.g., 'List of source zone names'), default values (e.g., "default ['any']"), and optional/required status. This adds substantial value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'Create an authentication policy rule' with a specific verb ('Create') and resource ('authentication policy rule'). It distinguishes from siblings like 'scm_create_security_rule' by specifying the rule type, though it doesn't explicitly contrast with other authentication-related tools like 'scm_update_authentication_rule' or 'scm_delete_authentication_rule'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., existing folders or profiles), when not to use it, or how it relates to sibling tools like 'scm_update_authentication_rule' or 'scm_delete_authentication_rule'. The only implied usage is for creating rules, but no contextual boundaries are defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_decryption_profileB
Create a decryption profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. ssl_forward_proxy: Forward-proxy SSL inspection settings dict (optional). Keys include: block_expired_certificate, block_untrusted_issuer, block_unknown_cert, min_version ('tls1-0', 'tls1-1', 'tls1-2', 'tls1-3'). ssl_inbound_inspection: Inbound inspection settings dict (optional). Keys: min_version, max_version. ssl_no_proxy: No-proxy settings dict for excluded traffic (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| ssl_forward_proxy | No | ||
| ssl_inbound_inspection | No | ||
| ssl_no_proxy | No | ||
| tsg_id | No |
TDQS
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 tool but provides no information about permissions required, whether this is a destructive operation, what happens on success/failure, or any system constraints. The mention of 'Defaults to SCM_TSG_ID' for tsg_id is helpful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by detailed parameter documentation. While somewhat lengthy due to parameter details, every sentence adds value. The parameter documentation is organized with clear labels and formatting, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 6 parameters, 0% schema coverage, no annotations, and no output schema, the description does a good job documenting parameters but lacks critical behavioral context. It doesn't explain what a decryption profile is, what happens after creation, error conditions, or system implications. The parameter documentation is strong, but overall completeness is limited.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 6 parameters, the description provides excellent parameter semantics. It explains what each parameter represents, indicates which are optional, provides default values, and details the structure of complex dictionary parameters with specific keys and enum values for ssl_forward_proxy.min_version.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'Create' and resource 'decryption profile', making it immediately understandable. However, it doesn't differentiate this from sibling tools like 'scm_create_decryption_rule' or explain what distinguishes a decryption profile from other security profile types 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.
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 for creating different security profiles (decryption_rule, anti_spyware_profile, etc.), there's no indication of when a decryption profile is appropriate versus other profile types or what prerequisites might be needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_decryption_ruleB
Create a decryption policy rule.
Args: name: Unique name for the rule. folder: Folder to create the rule in. action: Decryption action — 'decrypt', 'no-decrypt'. source_zone: List of source zone names. destination_zone: List of destination zone names. source: Source address objects/groups (default ['any']). destination: Destination address objects/groups (default ['any']). service: List of service names (default ['any']). profile: Decryption profile name to apply (optional). description: Optional description. tag: Optional list of tag names. disabled: Whether the rule is disabled (default False). rulebase: Rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| action | Yes | ||
| source_zone | Yes | ||
| destination_zone | Yes | ||
| source | No | ||
| destination | No | ||
| service | No | ||
| profile | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| rulebase | No | pre | |
| tsg_id | No |
TDQS
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 rule, implying a write operation, but fails to mention critical behavioral aspects such as required permissions, whether the rule is immediately active, potential side effects (e.g., impact on traffic), or error handling. This is a significant gap for a mutation tool with 14 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 a clear 'Args:' section listing each parameter with brief explanations. There is minimal waste, though some sentences could be more concise (e.g., merging default explanations).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (14 parameters, no annotations, no output schema), the description is partially complete. It covers parameter semantics thoroughly but misses behavioral context (e.g., creation effects, error responses) and output details. For a creation tool with many parameters, this leaves 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.
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 detailed semantic explanations for all 14 parameters, including defaults (e.g., 'default ['any']', 'default False'), optional status, and enumerations (e.g., action options 'decrypt', 'no-decrypt'). This adds substantial value beyond the bare schema, though it lacks format examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 decryption policy rule.' It specifies the verb ('Create') and resource ('decryption policy rule'), making the intent unambiguous. However, it does not explicitly differentiate this from sibling tools like 'scm_create_decryption_profile' or 'scm_create_security_rule', which could cause confusion in selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 a decryption profile first), exclusions, or comparisons to sibling tools like 'scm_update_decryption_rule' or 'scm_delete_decryption_rule'. This absence leaves 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.
scm_create_dns_security_profileB
Create a DNS security profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. botnet_domains: Optional botnet domain configuration dict. Controls threat categories and actions, e.g.: {'dns_security_categories': [{'name': 'pan-dns-sec-malware', 'action': 'sinkhole'}], 'sinkhole': {'ipv4_address': 'pan-sinkhole-default-ip'}}. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| botnet_domains | No | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks critical behavioral details. It states it 'Create[s] a DNS security profile' implying a mutation, but doesn't disclose permissions needed, whether creation is idempotent, error conditions, or what happens on success (e.g., returns a profile ID). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by parameter details. Each parameter explanation is efficient, though the botnet_domains example is slightly verbose but necessary for clarity. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, 0% schema coverage, no annotations, and no output schema, the description does a decent job on parameters but lacks behavioral context. It covers what to provide but not what happens during/after execution, leaving gaps in understanding the tool's full operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 5 parameters: 'name' as 'Unique name', 'folder' as 'Folder to create the profile in', 'description' as 'Optional description', 'botnet_domains' with a detailed example, and 'tsg_id' with default behavior. 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.
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 security profile', making the purpose unambiguous. It distinguishes from sibling tools like 'scm_get_dns_security_profile' (read) and 'scm_delete_dns_security_profile' (delete) by its creation action, though it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 updating or deleting profiles, or prerequisites such as required permissions or system state. The description only lists parameters without contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_external_dynamic_listA
Create an external dynamic list.
Args: name: Unique name for the EDL. folder: Folder to create the EDL in. list_type: Type and source configuration dict. For an IP list: {'ip': {'url': 'https://feeds.example.com/blocklist.txt', 'recurring': {'daily': {'at': '01:00'}}}}. For a URL list: {'url': {'url': '...', 'recurring': {...}}}. For a domain list: {'domain': {'url': '...', 'recurring': {...}}}. The 'recurring' key controls fetch frequency: {'five_minute': {}}, {'hourly': {}}, {'daily': {'at': 'HH:MM'}}, {'weekly': {'day_of_week': 'monday', 'at': 'HH:MM'}}. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| list_type | Yes | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It clearly indicates this is a creation operation (implying mutation), describes the recurring fetch behavior for list types, and mentions default values. However, it doesn't disclose permission requirements, rate limits, error conditions, or what happens on duplicate names. The behavioral context is adequate but 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by detailed parameter documentation. Each sentence adds value, though the 'list_type' explanation is quite detailed (which is necessary given complexity). It could be slightly more concise in the recurring frequency examples, but overall efficiently communicates essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (including a complex nested object), 0% schema coverage, and no output schema, the description does a good job on parameters but lacks important context. It doesn't explain what the tool returns, error conditions, or system behavior aspects. The parameter documentation is excellent, but other aspects are under-specified for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 semantic information for all 4 parameters. It explains what each parameter represents, provides format examples for the complex 'list_type' object, documents the optional nature of 'tsg_id', and specifies default values. This goes well beyond what the bare schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an external dynamic list (EDL), specifying the verb 'create' and resource 'external dynamic list'. It distinguishes from siblings like 'scm_update_external_dynamic_list' and 'scm_delete_external_dynamic_list' by focusing on creation, but doesn't explicitly differentiate from other 'create_' tools in the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to create an EDL with specific configurations, but doesn't explicitly state when to use this tool versus alternatives like 'scm_update_external_dynamic_list' or 'scm_create_folder'. It mentions the 'tsg_id' defaults to SCM_TSG_ID, providing some context, but lacks clear when-not-to-use guidance or prerequisite information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_file_blocking_profileB
Create a file blocking profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. rules: Optional list of file blocking rules. Each rule dict includes: name, application (list), file_type (list), direction ('upload', 'download', 'both'), action ('alert', 'block', 'continue', 'forward'). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| rules | No | ||
| tsg_id | No |
TDQS
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 context. It states this is a creation operation but doesn't mention whether this requires specific permissions, what happens on success/failure, if it's idempotent, or how it interacts with the system. The mention of 'tsg_id' defaulting to 'SCM_TSG_ID' is helpful 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.
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. Each parameter earns its place by providing necessary context. The formatting with bullet-like structure for 'rules' enhances readability without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations, and no output schema, the description is incomplete. It explains parameters well but lacks crucial behavioral context about permissions, side effects, error conditions, and what constitutes successful creation. The absence of output information is particularly problematic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It clarifies that 'name' must be unique, 'folder' specifies location, 'description' is optional, 'rules' includes detailed structure with nested fields, and 'tsg_id' has a default value. 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.
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 'file blocking profile', making the purpose immediately understandable. It distinguishes this as a creation tool among siblings that include various other create/update/delete operations, though it doesn't explicitly differentiate from similar creation tools like 'scm_create_anti_spyware_profile'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 including 'scm_get_file_blocking_profile', 'scm_delete_file_blocking_profile', and 'scm_list_file_blocking_profiles', there's no indication of prerequisites, dependencies, or appropriate contexts for creation versus retrieval or deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_folderB
Create a new folder in Strata Cloud Manager.
Args: name: Unique name for the folder. parent: Name of the parent folder (e.g. 'All', 'Texas'). description: Optional human-readable description. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| parent | Yes | ||
| description | No | ||
| tsg_id | No |
TDQS
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 creation operation. It doesn't disclose behavioral traits like required permissions, whether the operation is idempotent, what happens on duplicate names, or what the response contains. The description adds minimal value beyond the obvious 'create' implication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by parameter documentation. It's appropriately sized with no redundant information. The only minor issue is that the parameter documentation 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.
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 provides adequate parameter semantics but lacks important behavioral context. It doesn't explain what the tool returns, error conditions, or system constraints. The parameter documentation is good, but overall completeness is only moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides meaningful semantic information for all 4 parameters: name uniqueness requirement, parent folder examples, description optionality, and tsg_id default behavior. This significantly compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 folder') and resource ('in Strata Cloud Manager'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'scm_create_snippet' or 'scm_create_tag', which also create resources in the same system.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, dependencies, or when this tool is appropriate versus other folder-related tools like 'scm_update_folder' or 'scm_delete_folder'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_http_server_profileB
Create an HTTP server profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. server: List of server definitions. Each dict requires: name, address, protocol ('HTTP' or 'HTTPS'), port (default 443), and optionally http_method ('POST' or 'PUT'), tls_version, certificate_profile. description: Optional description. tag_registration: Enable tag registration via HTTP (default False). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| server | Yes | ||
| description | No | ||
| tag_registration | No | ||
| tsg_id | No |
TDQS
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 creation tool, implying a write/mutation operation, but doesn't disclose behavioral traits like required permissions, whether it's idempotent, error conditions, or what happens on success (e.g., returns a profile ID). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by an Args section. Each parameter explanation is concise and to the point. There's no wasted text, though the formatting as a docstring might be slightly verbose. Every sentence earns its place by clarifying parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 or annotations, the description does a good job on parameters but lacks completeness in other areas. It doesn't cover behavioral aspects (e.g., side effects, errors) or output details. For a creation tool with moderate complexity, this is adequate but has clear gaps in transparency and guidelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate fully. It provides detailed semantics for all 6 parameters: explains 'name' must be unique, 'folder' is the target location, 'server' requires specific fields with defaults and options, 'description' is optional, 'tag_registration' has a default, and 'tsg_id' has a 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an HTTP server profile, which is a specific verb+resource combination. It distinguishes from siblings like scm_get_http_server_profile (read) and scm_delete_http_server_profile (delete), though it doesn't explicitly contrast with them. The purpose is unambiguous but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 folder), when not to use it, or how it relates to sibling tools like scm_update_http_server_profile (which doesn't exist in the list, suggesting creation is the primary method). Usage context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_log_forwarding_profileB
Create a log forwarding profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. enhanced_logging: Enable enhanced application logging (default False). match_list: Optional list of match list entries defining log destinations. Each entry is a dict with keys like: name, log_type, filter, send_syslog, send_http, send_email. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| enhanced_logging | No | ||
| match_list | No | ||
| tsg_id | No |
TDQS
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 'Create' implies a write/mutation operation, the description doesn't mention required permissions, whether this operation is idempotent, what happens on conflict, or any rate limits. It provides basic parameter info but lacks crucial behavioral context for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by organized parameter documentation. Each parameter explanation is concise and focused. While efficient, the 'Args:' section formatting could be slightly more integrated with the main description text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 6 parameters, no annotations, and no output schema, the description does a good job with parameters but lacks important context. It doesn't explain what a log forwarding profile is, what happens after creation, error conditions, or return values. The parameter documentation is strong, but other contextual gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter documentation. It explains all 6 parameters, their purposes, optionality, defaults, and even provides specific structure details for the complex 'match_list' parameter. 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.
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 ('log forwarding profile'), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like 'scm_get_log_forwarding_profile' or 'scm_delete_log_forwarding_profile' beyond the obvious verb difference, 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.
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, dependencies, or when this creation operation is appropriate versus using other log forwarding profile tools. The only implicit guidance comes from the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_nat_ruleB
Create a NAT rule.
Args: name: Unique name for the NAT rule. folder: Folder to create the rule in. nat_type: NAT type — 'ipv4' (most common), 'nat64', or 'nptv6'. source_zone: List of source zone names. destination_zone: List of destination zone names. source: Source address objects/groups (default ['any']). destination: Destination address objects/groups (default ['any']). service: Service name (default 'any'). source_translation: Dict describing source NAT, e.g. {'dynamic_ip_and_port': {'interface_address': {'interface': 'ethernet1/1'}}}. destination_translation: Dict describing destination NAT (DNAT/port forwarding), e.g. {'translated_address': '10.0.0.5', 'translated_port': 8080}. description: Optional description. tag: Optional list of tag names. disabled: Whether the rule is disabled (default False). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| nat_type | Yes | ||
| source_zone | Yes | ||
| destination_zone | Yes | ||
| source | No | ||
| destination | No | ||
| service | No | ||
| source_translation | No | ||
| destination_translation | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| tsg_id | No |
TDQS
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 disclosure. It states this is a creation tool (implying mutation) but doesn't mention permission requirements, whether changes are immediate or require commit, error conditions, rate limits, or what the tool returns. For a 14-parameter creation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by organized parameter documentation. Each parameter explanation is concise yet informative. While slightly lengthy due to 14 parameters, every sentence earns its place by adding semantic value not present in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex creation tool with 14 parameters, no annotations, and no output schema, the description is incomplete. While parameter semantics are well-covered, it lacks crucial context about the creation process: what permissions are needed, whether a commit is required, what the return value contains, error handling, and how this integrates with the broader SCM workflow. The parameter documentation is strong, but overall completeness is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter explanations beyond just names. It clarifies defaults ('any', False, null), gives nat_type enum values, provides concrete examples for complex parameters (source_translation, destination_translation), and explains optional vs required parameters. This adds substantial value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a NAT rule, specifying the verb 'Create' and resource 'NAT rule'. It distinguishes itself from siblings like 'scm_update_nat_rule' and 'scm_delete_nat_rule' by its creation purpose, but doesn't explicitly contrast with other rule types like security or PBF rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., existing zones, addresses), when NAT rules are appropriate versus other rule types, or what happens after creation (e.g., need for commit). With many sibling tools available, this lack of context 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.
scm_create_pbf_ruleA
Create a policy-based forwarding rule.
Args: name: Unique name for the PBF rule. folder: Folder to create the rule in. source_zone: List of source zone names. action: Forwarding action dict. For nexthop forwarding: {'forward': {'nexthop': {'ip_address': '10.0.0.1'}}}. For discard: {'discard': {}}. For no-pbf (fall back to routing): {'no_pbf': {}}. source: Source address objects/groups (default ['any']). destination: Destination address objects/groups (default ['any']). application: Application names (default ['any']). service: Service names (default ['any']). description: Optional description. tag: Optional list of tag names. disabled: Whether the rule is disabled (default False). rulebase: Rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| source_zone | Yes | ||
| action | Yes | ||
| source | No | ||
| destination | No | ||
| application | No | ||
| service | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| rulebase | No | pre | |
| tsg_id | No |
TDQS
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' implying a write operation but doesn't mention permissions required, whether changes are immediate or require commit, error handling, or rate limits. It lacks critical behavioral context for a creation tool in a network security context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by a parameter list. Each parameter explanation is concise and to the point. While slightly lengthy due to 13 parameters, every sentence earns its place by providing essential information, and the structure aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 13 parameters, no annotations, and no output schema, the description covers parameters thoroughly but lacks behavioral context (e.g., commit requirements, error responses). It's adequate for parameter semantics but incomplete for overall tool understanding, given the complexity and mutation nature of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema description coverage and 13 parameters (4 required), the description compensates fully by explaining each parameter's purpose, format, and defaults. It provides concrete examples for the 'action' parameter (nexthop, discard, no-pbf), clarifies defaults (e.g., source defaults to ['any']), and explains optional vs. required fields, 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.
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 policy-based forwarding rule') and distinguishes it from siblings like 'scm_update_pbf_rule' (update) and 'scm_delete_pbf_rule' (delete). It specifies the resource type (PBF rule) and the creation context, 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.
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 'scm_update_pbf_rule' or 'scm_delete_pbf_rule', nor does it mention prerequisites (e.g., existing folder, zones). It only lists parameters without contextual usage advice, leaving the agent to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_qos_ruleB
Create a QoS policy rule.
Args: name: Unique name for the QoS rule. folder: Folder to create the rule in. action: QoS action dict, e.g. {'class': '4'} to assign to QoS class 4. source_zone: Source zone names (default ['any']). destination_zone: Destination zone names (default ['any']). source: Source address objects/groups (default ['any']). destination: Destination address objects/groups (default ['any']). application: Application names (default ['any']). service: Service names (default ['any']). description: Optional description. tag: Optional list of tag names. disabled: Whether the rule is disabled (default False). rulebase: Rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| action | Yes | ||
| source_zone | No | ||
| destination_zone | No | ||
| source | No | ||
| destination | No | ||
| application | No | ||
| service | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| rulebase | No | pre | |
| tsg_id | No |
TDQS
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 creation tool, implying a write/mutation operation, but doesn't mention critical aspects like required permissions, whether changes are immediate or require a commit, error handling, or side effects. The example for 'action' is helpful but insufficient for comprehensive behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by a parameter list. Each parameter explanation is concise and informative. While slightly lengthy due to 14 parameters, every sentence earns its place by clarifying semantics, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (14 parameters, no annotations, no output schema), the description does a good job on parameters but lacks broader context. It doesn't explain the tool's role in a larger workflow (e.g., commit requirements), error conditions, or return values. For a creation tool with many parameters, this leaves gaps in operational understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate fully. It provides detailed parameter explanations, including defaults (e.g., 'any' for source_zone), optional vs. required status, format examples (e.g., action dict), and contextual meanings (e.g., rulebase options 'pre' or 'post'). 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.
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 'QoS policy rule', making the purpose immediately understandable. It distinguishes this tool from siblings like 'scm_update_qos_rule' or 'scm_delete_qos_rule' by its creation function, though it doesn't explicitly contrast with other QoS-related tools beyond the naming pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_update_qos_rule' or other rule creation tools (e.g., security rules). The description lists parameters but offers no context about prerequisites, dependencies, or typical workflows, 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.
scm_create_scheduleB
Create a schedule object.
Args: name: Unique name for the schedule. folder: Folder to create the schedule in. schedule_type: Schedule definition dict. For recurring weekly schedule: {'recurring': {'weekly': {'monday': ['09:00-17:00'], 'tuesday': ['09:00-17:00']}}}. For non-recurring (one-time) schedule: {'non_recurring': ['2026-01-01T09:00:00/2026-01-01T17:00:00']}. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| schedule_type | Yes | ||
| tsg_id | No |
TDQS
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 creation operation, implying mutation, but doesn't disclose behavioral traits like required permissions, whether the schedule is immediately active, what happens on duplicate names, or error conditions. The description adds minimal context beyond the basic 'create' 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The parameter explanations are necessary given the 0% schema coverage. However, the formatting with 'Args:' and code-like examples is slightly verbose but earns its place by clarifying complex nested structures. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters with nested objects, 0% schema coverage, no annotations, and no output schema, the description is moderately complete. It explains parameters well but lacks behavioral context (e.g., mutation effects, error handling) and output details. For a creation tool with this complexity, it should do more to compensate for missing structured data, but the parameter coverage raises it above minimal adequacy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 detailed semantics for all 4 parameters: name (unique identifier), folder (location), schedule_type (with explicit format examples for recurring and non-recurring schedules), and tsg_id (optional with default). This adds substantial meaning beyond the bare schema, though it could clarify data types or constraints more formally.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a schedule object, which is a specific verb+resource combination. It distinguishes from siblings like scm_update_schedule (update) and scm_delete_schedule (delete), but doesn't explicitly differentiate from scm_get_schedule or scm_list_schedules, which are read operations. The purpose is clear but could be more specific about what a 'schedule object' entails in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 folder), when not to use it (e.g., for updating existing schedules), or refer to sibling tools like scm_update_schedule for modifications. 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.
scm_create_security_ruleB
Create a security policy rule.
Args: name: Unique name for the rule. folder: Folder to create the rule in. action: Rule action — 'allow' or 'deny'. source_zone: List of source zone names (e.g. ['trust', 'any']). destination_zone: List of destination zone names. source: List of source address objects/groups (default ['any']). destination: List of destination address objects/groups (default ['any']). application: List of application names (default ['any']). service: List of service names (default ['application-default']). profile_setting: Optional security profile group dict, e.g. {'group': ['best-practice']}. log_setting: Optional log forwarding profile name. description: Optional description. tag: Optional list of tag names. disabled: Whether the rule is disabled (default False). rulebase: Which rulebase to add the rule to — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| action | Yes | ||
| source_zone | Yes | ||
| destination_zone | Yes | ||
| source | No | ||
| destination | No | ||
| application | No | ||
| service | No | ||
| profile_setting | No | ||
| log_setting | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| rulebase | No | pre | |
| tsg_id | No |
TDQS
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 creation tool, implying a write operation, but doesn't disclose behavioral traits like whether it requires specific permissions, if it's idempotent, what happens on conflicts (e.g., duplicate names), or if changes are immediate or require a commit. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the purpose is stated first, followed by a structured parameter list. Each parameter explanation is concise and adds value. However, the 'Args:' section could be slightly more integrated with the initial sentence for better flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (16 parameters, mutation tool), no annotations, and no output schema, the description is partially complete. It excels in parameter documentation but lacks behavioral context (e.g., error handling, side effects) and output details. For a creation tool in a security context, more completeness is needed despite the strong parameter coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 detailed semantics for all 16 parameters, including explanations, examples (e.g., action values, default lists), and optional/default behaviors. This adds substantial meaning beyond the bare schema, fully documenting the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 security policy rule.' It specifies the verb ('create') and resource ('security policy rule'), which is unambiguous. However, it doesn't explicitly differentiate from siblings like 'scm_update_security_rule' or 'scm_delete_security_rule', though the action 'create' implies a distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., existing folders or zones), exclusions, or comparisons to sibling tools like 'scm_update_security_rule' or 'scm_move_security_rule'. Usage is implied by the action 'create', but no explicit context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_security_zoneB
Create a security zone.
Args: name: Unique name for the zone. folder: Folder to create the zone in. enable_user_id: Enable User-ID for this zone (default False). dos_profile: Optional DoS protection profile name. dos_log_setting: Optional DoS log forwarding profile name. network_layer3: Optional list of Layer 3 interface names to add. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| enable_user_id | No | ||
| dos_profile | No | ||
| dos_log_setting | No | ||
| network_layer3 | No | ||
| tsg_id | No |
TDQS
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 write operation, the description doesn't mention permissions required, whether this is idempotent, what happens on failure, or any rate limits. It lacks critical behavioral context for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by a parameter list. Every sentence earns its place, though the initial statement 'Create a security zone.' is somewhat minimal and could be slightly more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations, and no output schema, the description is incomplete. It covers parameters well but lacks behavioral context, error handling, return values, and usage guidelines, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 7 parameters (2 required), the description compensates fully by providing clear explanations for each parameter in the 'Args' section. It adds meaning beyond the bare schema, including purpose, defaults, and optionality details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a security zone'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'scm_create_folder' or 'scm_create_address', 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.
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 (e.g., 'scm_create_folder', 'scm_create_address'), there's no indication of prerequisites, dependencies, 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.
scm_create_serviceB
Create a service object.
Args: name: Unique name for the service. folder: Folder to create the service in. protocol: Transport protocol — 'tcp' or 'udp'. destination_port: Destination port(s), e.g. '80', '443', '8080-8090'. source_port: Optional source port(s). description: Optional description. tag: Optional list of tag names. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| protocol | Yes | ||
| destination_port | Yes | ||
| source_port | No | ||
| description | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 'Create' implies a write/mutation operation, it doesn't mention permissions required, whether the creation is idempotent, what happens on conflicts (e.g., duplicate names), or any rate limits. The description provides basic parameter info but misses critical behavioral context for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by a clear parameter list. Every sentence earns its place by explaining parameters, though it could be slightly more front-loaded with context about what a 'service object' represents in this system.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations, and no output schema, the description does a decent job explaining parameters but lacks broader context. It doesn't explain what a 'service object' is, how it fits into the system, what happens after creation, or error conditions. Given the complexity, more completeness would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 8 parameters (4 required), the description compensates excellently by explaining each parameter's purpose and providing examples (e.g., protocol values 'tcp' or 'udp', port format '8080-8090', defaults for tsg_id). This adds substantial meaning beyond the bare schema, making parameter usage clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a service object'), making the purpose specific and understandable. However, it doesn't differentiate this tool from other 'create' siblings like scm_create_address or scm_create_security_rule, which would require mentioning what distinguishes a 'service object' from those other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools (including other 'create' operations and scm_update_service), the description lacks any context about prerequisites, dependencies, or typical workflows that would 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.
scm_create_service_groupC
Create a service group.
Args: name: Unique name for the service group. folder: Folder to create the group in. members: List of service object names to include. tag: Optional list of tag names. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| members | Yes | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 states the tool creates something, implying a write operation, but doesn't disclose permissions needed, whether it's idempotent, what happens on failure, or any rate limits. The default value for 'tsg_id' is mentioned, but overall behavioral context is lacking for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the purpose is stated first in a clear sentence, followed by a structured 'Args:' section. Each parameter explanation is brief and to the point, with no redundant information. It could be slightly more concise by integrating the args into the main text, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a creation tool with 5 parameters), no annotations, and no output schema, the description is incomplete. It covers basic parameter semantics but lacks critical context: no information on return values (e.g., success confirmation, created object details), error handling, or behavioral traits like side effects. For a tool that modifies state, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 brief explanations for all 5 parameters (e.g., 'Unique name for the service group', 'Folder to create the group in'), adding meaning beyond the bare schema. However, it doesn't detail format constraints (e.g., naming conventions for 'name', folder path structure) or elaborate on 'members' beyond 'List of service object names', leaving gaps in semantic clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('service group'), which is specific and unambiguous. It distinguishes from siblings like 'scm_create_service' or 'scm_update_service_group' by focusing on creation of groups rather than individual services or updates. However, it doesn't explicitly differentiate from other 'create' tools beyond the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (like needing an existing folder), when not to use it (e.g., for updating existing groups), or refer to sibling tools like 'scm_update_service_group' or 'scm_get_service_group'. Usage is implied only through the action and parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_snippetB
Create a new configuration snippet.
Args: name: Unique name for the snippet. description: Optional human-readable description. labels: Optional list of label strings for categorization. enable_prefix: Whether to enable name prefixing (default False). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| labels | No | ||
| enable_prefix | No | ||
| tsg_id | No |
TDQS
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 default values (e.g., enable_prefix default False, tsg_id defaults to SCM_TSG_ID) but fails to disclose critical traits like required permissions, whether creation is idempotent, error handling, or what the tool returns upon success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 concise Args section listing each parameter with brief explanations. Every sentence earns its place, avoiding redundancy and maintaining clarity without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters with 0% schema coverage and no output schema or annotations, the description partially compensates by detailing parameters but lacks completeness. It misses behavioral context (e.g., mutation effects, error responses) and doesn't explain the snippet's role in the broader SCM system, leaving gaps for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, which it does effectively by explaining all 5 parameters with clear semantics: name uniqueness, optional fields, default values, and TSG ID behavior. This adds significant meaning beyond the bare schema, though some nuances like label format or prefixing details could be elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'configuration snippet', making the purpose specific and understandable. It distinguishes from siblings like scm_update_snippet or scm_delete_snippet by focusing on creation, though it doesn't explicitly contrast with other create tools like scm_create_address or scm_create_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., needing a folder or TSG), typical workflows, or comparisons to other creation tools in the sibling list, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_syslog_server_profileB
Create a syslog server profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. server: List of syslog server definitions. Each dict requires: name, server (hostname/IP), and optionally transport ('UDP', 'TCP', 'SSL'), port (default 514), format ('BSD' or 'IETF'), facility. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| server | Yes | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states it 'Create[s]' without behavioral details. It doesn't disclose if this is a write operation requiring permissions, whether it's idempotent, what happens on failure, or any rate limits. The parameter details add some context but lack overall behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the purpose, followed by a structured 'Args:' section. Each sentence adds value, though the parameter explanations could be slightly more concise (e.g., merging server details).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters with 0% schema coverage and no output schema or annotations, the description does a decent job explaining inputs but lacks completeness. It doesn't cover the return value, error conditions, or behavioral aspects like idempotency, leaving gaps for a creation tool with no structured support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well by explaining all 4 parameters: 'name' (unique), 'folder' (location), 'server' (list with required/optional fields like transport and port defaults), and 'tsg_id' (optional with default). It adds meaning beyond the bare schema, though it could detail 'folder' format or 'server' dict structure more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a syslog server profile'), making the purpose specific and understandable. It distinguishes from siblings like 'scm_get_syslog_server_profile' (read) and 'scm_delete_syslog_server_profile' (delete), though it doesn't explicitly contrast with other creation tools (e.g., 'scm_create_log_forwarding_profile').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 name implies creation, there's no mention of prerequisites (e.g., needing a folder first), when not to use it, or how it relates to similar tools like 'scm_create_log_forwarding_profile' or 'scm_update_syslog_server_profile' (if exists).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_tagB
Create a tag.
Args: name: Unique name for the tag. folder: Folder to create the tag in. color: Optional color name (e.g. 'Red', 'Blue', 'Green'). comments: Optional description/comments. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| color | No | ||
| comments | No | ||
| tsg_id | No |
TDQS
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 a tag' which implies a write operation, but fails to mention critical aspects like required permissions, whether the tag name must be globally unique, what happens on duplicate names, or the response format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a brief purpose statement followed by a parameter list. Each parameter explanation is succinct and adds necessary context without redundancy. However, the initial 'Create a tag.' is overly terse and could be slightly expanded for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 mutation with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral traits like error handling, authentication needs, or return values, which are crucial 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.
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 all 5 parameters: 'name' as a unique identifier, 'folder' as the location, 'color' with examples, 'comments' as a description, and 'tsg_id' with a default. This adds substantial value beyond the bare schema, though it could detail format constraints like folder paths.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'tag', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_update_tag' or 'scm_get_tag', which would require mentioning it's for initial creation rather than modification or retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_update_tag' for modifying existing tags or 'scm_delete_tag' for removal. The description lacks context about prerequisites, such as needing an existing folder, 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.
scm_create_url_access_profileB
Create a URL access (filtering) profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. allow_categories: URL categories to allow (optional). block_categories: URL categories to block (optional). alert_categories: URL categories to allow with alert (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| allow_categories | No | ||
| block_categories | No | ||
| alert_categories | No | ||
| tsg_id | No |
TDQS
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' which implies a write operation, but doesn't mention permissions, side effects (e.g., impact on existing configurations), or response behavior (e.g., success/failure indicators). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by parameter explanations, making it easy to parse. It's appropriately sized with no redundant information, though the parameter list could be slightly more concise by grouping similar categories.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, mutation operation), lack of annotations, and no output schema, the description is moderately complete. It covers parameters well but misses behavioral details (e.g., what happens after creation, error handling) and doesn't reference sibling tools, leaving room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 clear explanations for all 7 parameters (e.g., 'Unique name for the profile', 'URL categories to allow (optional)'), adding substantial meaning beyond the bare schema. However, it doesn't detail format constraints (e.g., what constitutes a valid 'folder' or 'tsg_id'), preventing a perfect score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('URL access (filtering) profile'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_create_url_category' or 'scm_get_url_access_profile', 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.
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 create a URL access profile versus other profile types (e.g., anti-spyware, vulnerability) or when to use update/delete operations. It lacks context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_url_categoryB
Create a custom URL category.
Args: name: Unique name for the URL category. folder: Folder to create the category in. list_entries: List of URLs or domains to include (e.g. ['example.com', '*.evil.com']). category_type: Category type — 'URL List' (default) or 'Category Match'. description: Optional description. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| list_entries | Yes | ||
| category_type | No | URL List | |
| description | No | ||
| tsg_id | No |
TDQS
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 creation but doesn't specify whether this is a write operation requiring permissions, if it's idempotent, what happens on duplicate names, or the expected response format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by parameter details. Each sentence adds value, though the parameter explanations could be more integrated into the flow rather than listed as 'Args:'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 6 parameters and no annotations or output schema, the description covers the basics but lacks critical context like error conditions, permissions needed, or what the tool returns. It's adequate but has clear gaps given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explanations for all 6 parameters, including examples for 'list_entries' and defaults for 'category_type' and 'tsg_id'. This adds substantial value beyond the bare schema, though some details like format constraints are still missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'custom URL category', making the purpose evident. However, it doesn't differentiate from sibling tools like 'scm_create_url_access_profile' or 'scm_update_url_category', which would require more specific context about what makes this creation unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_update_url_category' or 'scm_delete_url_category'. The description lacks context about prerequisites, such as whether a folder must exist first, or when to choose 'URL List' vs 'Category Match'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_vulnerability_profileB
Create a vulnerability protection security profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| tsg_id | No |
TDQS
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 'Create' implying a write operation, but doesn't disclose behavioral traits like required permissions, whether the profile is immediately active, potential side effects, or error conditions. The description lacks critical context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: a clear purpose statement followed by a bullet-point list of parameters with brief explanations. Every sentence adds value, with no redundant information. It's appropriately sized for a tool with 4 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 doesn't explain what happens after creation (e.g., success response, profile ID), error handling, or system behavior. Given the complexity of creating a security profile, more context about the operation's impact is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'name' as a unique identifier, 'folder' as the location, 'description' as optional details, and 'tsg_id' with a default value. This goes beyond the schema's basic titles, providing practical context for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a vulnerability protection security profile, specifying the verb 'Create' and resource 'vulnerability protection security profile'. It distinguishes from siblings like 'scm_get_vulnerability_profile' (read) and 'scm_delete_vulnerability_profile' (delete), though it doesn't explicitly contrast with other creation tools like 'scm_create_anti_spyware_profile'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, such as needing a folder to exist, or when to choose this over other profile creation tools (e.g., 'scm_create_anti_spyware_profile'). It only lists parameters without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_wildfire_profileB
Create a WildFire antivirus security profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| tsg_id | No |
TDQS
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' but doesn't mention whether this is a write operation requiring permissions, if it's idempotent, what happens on failure, or any rate limits. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief purpose statement followed by a parameter list. It's front-loaded and wastes no words, though the parameter explanations could be slightly more detailed without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 mutation tool with 4 parameters, the description is incomplete. It covers parameters well but lacks behavioral context (e.g., permissions, side effects) and output details, 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.
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 all 4 parameters: 'name' as unique, 'folder' as location, 'description' as optional, and 'tsg_id' as optional with a default. This adds substantial value beyond the bare schema, though it could include format examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'WildFire antivirus security profile', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_create_anti_spyware_profile' or 'scm_create_vulnerability_profile' beyond the resource name, 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.
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 profile creation tools in the sibling list (e.g., 'scm_create_anti_spyware_profile'). It also lacks information on prerequisites, dependencies, or typical use cases, leaving the agent with minimal contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_create_zone_protection_profileC
Create a zone protection profile.
Args: name: Unique name for the profile. folder: Folder to create the profile in. description: Optional description. flood: Flood protection settings dict (optional). Controls SYN, UDP, ICMP, and other flood thresholds, e.g.: {'syn': {'enable': True, 'red': {'alarm_rate': 10000, 'activate_rate': 10000}}}. reconnaissance: Reconnaissance protection settings dict (optional). Controls port scan and host sweep detection. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| folder | Yes | ||
| description | No | ||
| flood | No | ||
| reconnaissance | No | ||
| tsg_id | No |
TDQS
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 disclosure. It states this is a 'create' operation (implying mutation/write), but doesn't mention permission requirements, whether the profile becomes active immediately, if changes are reversible, rate limits, or what the response contains. The example for 'flood' parameter hints at structure but doesn't fully describe behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized but not optimally structured. The opening sentence is clear, but the parameter documentation uses a mix of brief and detailed explanations (good for 'flood', sparse for others). Some sentences like 'Controls SYN, UDP, ICMP, and other flood thresholds' are useful, but overall organization could be more front-loaded with critical usage info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 6 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. While it documents parameters well, it lacks crucial context: what a zone protection profile is, how it integrates with the system, what happens on success/failure, and expected return values. The agent would struggle to use this effectively without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 6 parameters: explains 'name' must be unique, 'folder' is where to create, 'description' is optional, gives detailed examples for 'flood' and 'reconnaissance' (including nested structure), and clarifies 'tsg_id' default. 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.
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 'Create a zone protection profile' which is a specific verb+resource combination. It distinguishes from siblings like 'scm_get_zone_protection_profile' (read) and 'scm_delete_zone_protection_profile' (delete) by the 'create' action, though it doesn't explicitly mention these alternatives in the description text itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 folder), when not to use it, or what happens after creation. While siblings include various 'create_' tools, the description offers no comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_addressB
Delete an address object by UUID.
Args: address_id: UUID of the address object to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| address_id | Yes | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action without disclosing critical behavioral traits: it doesn't mention if deletion is permanent/reversible, permission requirements, side effects (e.g., breaking references), or error handling. The phrase 'Delete' implies mutation but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by parameter details in a clear 'Args:' section. It avoids redundancy and is appropriately sized for a simple delete operation, though the formatting could be slightly more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 information on return values, error cases, confirmation prompts, or impact on related objects. Sibling tools suggest a complex SCM system, requiring more contextual guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: address_id as 'UUID of the address object to delete' and tsg_id as 'Optional TSG ID or named alias' with a default. 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.
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 ('an address object by UUID'), distinguishing it from siblings like scm_create_address, scm_update_address, and scm_get_address. It precisely defines the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., scm_update_address for modification, scm_list_addresses for viewing). It mentions a default for tsg_id but lacks context on prerequisites, dependencies, or error conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_address_groupC
Delete an address group by UUID.
Args: group_id: UUID of the address group to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| tsg_id | No |
TDQS
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, which implies it's destructive, but doesn't specify whether deletion is permanent, requires confirmation, affects dependent resources, or has any rate limits. The description provides 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear purpose statement followed by parameter explanations. The two-sentence structure is efficient, though the parameter documentation could be more integrated rather than appearing as a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, 0% schema description coverage, and no output schema, the description is insufficient. It doesn't address critical behavioral aspects like permanence, dependencies, error conditions, or what happens upon successful deletion. The description should provide more context given the tool's destructive nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'group_id' is the 'UUID of the address group to delete' and 'tsg_id' is an 'Optional TSG ID or named alias' with a default value. This adds meaningful context beyond the bare schema, though it doesn't fully explain what TSG represents or how aliases work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('address group by UUID'), making the purpose immediately understandable. It distinguishes this as a deletion operation among many sibling tools that include create, update, get, and list operations for address groups and other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 sibling tools include 'scm_delete_address' and 'scm_update_address_group', the description doesn't indicate whether deletion is irreversible, requires specific permissions, or should be used with caution compared to other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_anti_spyware_profileB
Delete an anti-spyware profile by UUID.
Args: profile_id: UUID of the anti-spyware profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 'Delete' which implies a destructive mutation, but doesn't clarify if this is permanent, reversible, requires specific permissions, or has side effects. No information about rate limits, authentication needs, or what happens if the profile is in use is included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: a clear purpose statement followed by parameter explanations. The 'Args:' section is well-structured, though the formatting could be slightly cleaner. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 incomplete. It explains parameters adequately but lacks critical behavioral context about the deletion operation's consequences, permissions required, error conditions, or what happens to dependent configurations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 clearly explains both parameters: 'profile_id' as 'UUID of the anti-spyware profile to delete' and 'tsg_id' as 'Optional TSG ID or named alias' with default behavior. This adds meaningful context beyond the bare schema, though it doesn't fully explain TSG ID semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('an anti-spyware profile by UUID'), distinguishing it from sibling tools like 'scm_create_anti_spyware_profile' and 'scm_get_anti_spyware_profile'. It provides precise verb+resource+identification method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 deletion of a specific profile, it doesn't mention prerequisites (e.g., whether the profile must exist, be unused), consequences, or when to choose deletion over other operations. The sibling list includes many 'delete_' tools, but no differentiation is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_applicationC
Delete a custom application object by UUID.
Args: app_id: UUID of the application to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | ||
| tsg_id | No |
TDQS
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 destructive action) but doesn't mention whether deletion is permanent, reversible, requires specific permissions, or what the response looks like (success/failure indicators). For a destructive 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.
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. Every sentence serves a purpose, though the parameter section could be slightly more detailed given the lack of schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive deletion tool with 2 parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It lacks critical information about behavioral consequences, error handling, and operational context that would help an agent use it safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'app_id' is a 'UUID of the application to delete' and 'tsg_id' is an 'Optional TSG ID or named alias' with a default, adding meaningful context beyond the bare schema. However, it doesn't clarify what 'TSG' stands for or provide examples of valid UUID formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('a custom application object by UUID'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling delete tools (like scm_delete_address or scm_delete_application_filter), but the resource specificity is adequate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., needing an existing application), consequences of deletion, or what happens if the UUID doesn't exist. It simply states what the tool does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_application_filterB
Delete an application filter by UUID.
Args: filter_id: UUID of the application filter to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes | ||
| tsg_id | No |
TDQS
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 a deletion (implying a destructive mutation) but does not disclose critical behavioral traits such as required permissions, whether the deletion is reversible, potential side effects (e.g., impact on dependent configurations), or error conditions. This leaves significant gaps 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.
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 details. The 'Args:' section is structured but slightly verbose; every sentence earns its place by adding necessary parameter explanations, though it could be more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive deletion with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It fails to address behavioral aspects like permissions, reversibility, or response format, which are critical for safe and correct usage. The parameter explanations help but do not compensate for the overall gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'filter_id' is explained as 'UUID of the application filter to delete', and 'tsg_id' is clarified as 'Optional TSG ID or named alias' with a default value. This provides essential context beyond the bare schema, though it could elaborate on TSG ID format or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 target resource ('an application filter by UUID'), distinguishing it from sibling tools like 'scm_delete_application' or 'scm_delete_application_group' which target different resources. It precisely communicates the tool's function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 filter), consequences of deletion, or how it relates to sibling tools like 'scm_get_application_filter' or 'scm_list_application_filters'. Usage context 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.
scm_delete_application_groupC
Delete an application group by UUID.
Args: group_id: UUID of the application group to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| tsg_id | No |
TDQS
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') but doesn't disclose behavioral traits like whether deletion is permanent, requires specific permissions, has side effects (e.g., affecting related resources), or what the response looks like (e.g., success/failure indicators). This leaves significant gaps 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.
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 parameter details in a structured 'Args:' section. There's minimal waste, though it could be slightly more concise by integrating parameter explanations more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a destructive delete operation with no annotations and no output schema, the description is incomplete. It lacks critical context such as behavioral implications (e.g., irreversibility), error handling, or return values, which are essential 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.
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 'group_id' is a 'UUID of the application group to delete' and 'tsg_id' is an 'Optional TSG ID or named alias' with a default, which clarifies beyond the schema's basic types. However, it doesn't fully detail parameter constraints or usage examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('an application group by UUID'), making the purpose specific and understandable. It distinguishes from siblings like 'scm_delete_application' or 'scm_delete_address_group' by specifying the resource type, though it doesn't explicitly contrast with them in the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 siblings include other delete operations (e.g., 'scm_delete_application'), the description lacks explicit when/when-not instructions or prerequisites, such as dependencies or permissions needed for deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_authentication_ruleB
Delete an authentication rule by UUID.
Args: rule_id: UUID of the authentication rule to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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, but doesn't clarify if deletion is permanent, reversible, or has side effects. No information about permissions, rate limits, or error conditions is included, leaving significant behavioral gaps 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.
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. Every sentence adds value: the first states what the tool does, and the Args section clarifies parameter meanings. No redundant or unnecessary information is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 what happens after deletion (confirmation, error handling), whether the operation is atomic, or what permissions are required. The parameter explanations help, but overall context for safe usage is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: rule_id is 'UUID of the authentication rule to delete' and tsg_id is 'Optional TSG ID or named alias' with a default value. This adds meaningful context beyond the bare schema, though it doesn't specify UUID format or TSG alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('authentication rule by UUID'), making the purpose immediately understandable. It distinguishes from siblings by specifying the exact resource type (authentication rule) rather than a generic delete operation, though it doesn't explicitly contrast with other delete tools like scm_delete_security_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it mentions a sibling tool scm_create_authentication_rule exists, it doesn't explain when deletion is appropriate or what prerequisites might be needed (e.g., rule must exist, no dependencies). No explicit when/when-not or alternative usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_decryption_profileB
Delete a decryption profile by UUID.
Args: profile_id: UUID of the decryption profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 mutation, but doesn't mention permissions required, whether the deletion is permanent or reversible, or what happens to associated rules or configurations. For a destructive operation with zero annotation coverage, this leaves critical 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.
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 parameter explanations are brief and directly relevant. There's no wasted text, though the structure could be slightly improved by integrating the parameter details more seamlessly rather than as a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 what happens on success/failure, error conditions, or system impact. Given the complexity of a deletion operation in what appears to be a security configuration management system, more behavioral and outcome information is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' is explained as 'UUID of the decryption profile to delete', and 'tsg_id' as 'Optional TSG ID or named alias' with a default value. This adds meaningful context beyond the bare schema, though it doesn't fully explain what a TSG is or how aliases work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 decryption profile by UUID'), distinguishing it from sibling tools like 'scm_create_decryption_profile' and 'scm_get_decryption_profile' which perform different operations on the same resource type. It precisely defines the tool's function without redundancy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 it's clear this deletes a decryption profile, there's no mention of prerequisites (e.g., whether the profile must be unused), consequences, or what to do if deletion fails. The description lacks context about usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_decryption_ruleB
Delete a decryption rule by UUID.
Args: rule_id: UUID of the decryption rule to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 deletion operation, implying it is destructive, but does not disclose critical behavioral traits like whether the deletion is permanent, requires specific permissions, has side effects, or what the response looks like. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by clear parameter explanations in a structured format. 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.
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 information on behavioral consequences, error handling, or return values, which are critical for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'rule_id' as the UUID to delete and 'tsg_id' as optional with a default. It adds meaningful context beyond the schema, though it could detail format constraints or alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 decryption rule by UUID'), distinguishing it from sibling tools like 'scm_create_decryption_rule' or 'scm_get_decryption_rule'. It precisely identifies 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.
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 deletion is appropriate or what prerequisites might be needed. It mentions a default for 'tsg_id' but does not explain the context or implications of using this parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_dns_security_profileC
Delete a DNS security profile by UUID.
Args: profile_id: UUID of the DNS security profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 it's destructive, but doesn't specify if deletion is permanent, requires specific permissions, has side effects, or provides confirmation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one stating the purpose and another detailing parameters. It's front-loaded with the core action and avoids unnecessary fluff, though the parameter explanations could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 insufficient. It lacks critical details like error handling, return values (e.g., success confirmation or job ID), dependencies, or safety warnings, leaving 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.
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 profile_id as 'UUID of the DNS security profile to delete' and tsg_id as 'Optional TSG ID or named alias' with a default, adding meaningful context beyond the schema's basic types. However, it doesn't clarify what SCM_TSG_ID is or provide examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('DNS security profile by UUID'), making the purpose immediately understandable. However, it doesn't differentiate from sibling delete tools (like scm_delete_address or scm_delete_application) beyond specifying the resource type, which is adequate but not exceptional.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., needing an existing profile), consequences of deletion, or relationships with other tools like scm_get_dns_security_profile or scm_create_dns_security_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_external_dynamic_listB
Delete an external dynamic list by UUID.
Args: edl_id: UUID of the EDL to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| edl_id | Yes | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. While 'Delete' implies a destructive operation, the description doesn't disclose important behavioral traits: whether deletion is permanent/reversible, what permissions are required, whether it affects dependent configurations, or what happens on success/failure. For a destructive 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The two-sentence structure with parameter explanations is efficient, though the 'Args:' section formatting could be slightly cleaner. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't address critical context: what happens after deletion, error conditions, confirmation requirements, or system impact. The parameter explanations help but don't compensate for the missing behavioral transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'edl_id' is the 'UUID of the EDL to delete' and 'tsg_id' is an 'Optional TSG ID or named alias' with a default value. This adds meaningful context beyond the bare schema, but doesn't fully cover format expectations (e.g., UUID format) or what TSG represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('external dynamic list by UUID'), distinguishing it from sibling tools like 'scm_create_external_dynamic_list' and 'scm_get_external_dynamic_list'. It provides a precise 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.
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 EDL), consequences of deletion, or when to choose deletion over other operations like updating. With many sibling tools available, this lack of context 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.
scm_delete_file_blocking_profileB
Delete a file blocking profile by UUID.
Args: profile_id: UUID of the file blocking profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 this is a deletion operation, implying it's destructive, but doesn't clarify if it's irreversible, requires specific permissions, or has side effects (e.g., breaking dependencies). The description lacks details on error handling, response format, or rate limits, leaving significant gaps in behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 parameter details. The two-sentence structure is efficient, though the parameter explanations could be slightly more integrated into the flow rather than as a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description is incomplete. It doesn't cover behavioral aspects like irreversibility, permissions needed, or what the response contains. For a deletion tool with zero annotation coverage, this leaves the agent without sufficient context to use it safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' as the UUID to delete and 'tsg_id' as an optional TSG ID with a default. This adds crucial meaning beyond the bare schema, clarifying the purpose and default behavior of each parameter, though it doesn't detail UUID format or TSG alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('file blocking profile by UUID'), making the purpose specific and understandable. It distinguishes from siblings like 'scm_delete_address' or 'scm_delete_security_rule' by specifying the resource type, though it doesn't explicitly differentiate from other delete operations beyond naming the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 profile), consequences (e.g., what happens to associated rules), or suggest alternatives like 'scm_get_file_blocking_profile' for verification. The only implicit usage hint is the need for a UUID, but this is insufficient for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_folderA
Delete a folder by its UUID.
WARNING: This is irreversible. Ensure the folder has no dependent configuration objects before deleting.
Args: folder_id: UUID of the folder to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_id | Yes | ||
| tsg_id | No |
TDQS
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 communicates critical traits: the action is irreversible (destructive) and has a prerequisite (no dependent configuration objects). This adds significant value beyond the basic schema, though it could mention error handling or confirmation steps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core action, followed by a warning and parameter details. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive deletion), no annotations, no output schema, and low schema coverage, the description is mostly complete. It covers purpose, warnings, and parameters well, but could benefit from mentioning typical response formats or error conditions to be fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 semantics for both parameters: 'folder_id' is explained as 'UUID of the folder to delete', and 'tsg_id' is detailed as 'Optional TSG ID or named alias' with a default value. This adds essential meaning not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 folder by its UUID'), distinguishing it from sibling tools like 'scm_create_folder' or 'scm_update_folder'. It precisely identifies the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context with a WARNING about irreversibility and a prerequisite to check for dependent objects, which helps guide usage. However, it does not explicitly mention when to use alternatives like 'scm_update_folder' or 'scm_disassociate_snippet_from_folder' for related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_http_server_profileB
Delete an HTTP server profile by UUID.
Args: profile_id: UUID of the HTTP server profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 'Delete' implies a destructive operation, it fails to detail critical aspects like whether deletion is irreversible, what permissions are required, or how errors are handled. This leaves significant gaps in understanding the tool's behavior 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.
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 details. Every sentence adds value without redundancy, though the structure could be slightly improved by integrating the parameter explanations more seamlessly rather than as a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 traits (e.g., confirmation prompts, error responses), prerequisites, or return values, making it inadequate for safe and effective use by an AI agent in a complex system management context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'profile_id' as the UUID to delete and 'tsg_id' as an optional TSG ID with a default. It adds meaningful context beyond the schema's minimal titles, though it could elaborate on format or validation rules for the UUID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('HTTP server profile by UUID'), distinguishing it from siblings like 'scm_create_http_server_profile' or 'scm_get_http_server_profile'. It provides a precise verb+resource combination that leaves no ambiguity about its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives, such as when deletion is appropriate or what prerequisites might be needed (e.g., ensuring no dependencies exist). It mentions a default for 'tsg_id' but lacks explicit usage context or exclusions, leaving the agent to infer based on tool naming patterns alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_log_forwarding_profileB
Delete a log forwarding profile by UUID.
Args: profile_id: UUID of the log forwarding profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 behavior) but doesn't mention whether deletion is permanent, requires specific permissions, has confirmation steps, or what happens to associated resources. The description provides 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one stating the purpose and another explaining parameters. It's front-loaded with the main action first. The parameter explanations are clear but could be slightly more structured (e.g., bullet points).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description is incomplete. It doesn't address critical aspects like confirmation requirements, error conditions, return values, or system impact. Given the complexity of a deletion tool in what appears to be a security configuration management system, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' as 'UUID of the log forwarding profile to delete' and 'tsg_id' as 'Optional TSG ID or named alias' with default behavior. This adds meaningful semantic context beyond the bare schema, though it doesn't explain TSG ID format or alias resolution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('log forwarding profile'), making the purpose unambiguous. It distinguishes from siblings like 'scm_create_log_forwarding_profile' by specifying deletion rather than creation, but doesn't explicitly differentiate from other delete operations 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.
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. While the description implies deletion of a specific profile, it doesn't mention prerequisites (e.g., whether the profile must exist), consequences, or when to choose deletion over other operations like updating or disabling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_nat_ruleB
Delete a NAT rule by UUID.
Args: rule_id: UUID of the NAT rule to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 NAT rule, implying a destructive mutation, but does not mention potential consequences (e.g., network impact, irreversibility), required permissions, or error conditions. This leaves significant gaps in understanding the tool's behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core action. The two-sentence structure is efficient, with the first stating the purpose and the second detailing parameters. There is no wasted text, though it could be slightly more structured with bullet points for parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive mutation), lack of annotations, and no output schema, the description is incomplete. It fails to address critical aspects like behavioral traits (e.g., confirmation prompts, side effects), error handling, or return values, leaving the agent with insufficient information for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'rule_id' as 'UUID of the NAT rule to delete' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. This adds meaningful context beyond the schema's basic types, clarifying the purpose and optionality of each parameter effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 NAT rule') and identifies the resource ('by UUID'), distinguishing it from sibling tools like 'scm_create_nat_rule' and 'scm_get_nat_rule' through the verb 'Delete'. It precisely conveys 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.
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 'scm_update_nat_rule' for modifications or 'scm_list_nat_rules' for viewing. It lacks context about prerequisites, like needing an existing NAT rule, and does not mention any exclusions or specific scenarios for its application.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_pbf_ruleB
Delete a PBF rule by UUID.
Args: rule_id: UUID of the PBF rule to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 a destructive mutation, but lacks critical details like whether deletion is permanent, requires specific permissions, or has side effects (e.g., affecting dependent configurations).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by parameter details in a structured 'Args:' section. It's appropriately sized with no redundant sentences, though the parameter explanations 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.
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 information on behavioral traits (e.g., confirmation, error handling), output format, or integration with sibling tools (e.g., how to obtain rule UUIDs from 'scm_list_pbf_rules').
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for both parameters: 'rule_id' is explained as 'UUID of the PBF rule to delete', and 'tsg_id' is clarified as 'Optional TSG ID or named alias' with a default value. With 0% schema description coverage, this compensates well, though it doesn't specify UUID format or TSG alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 PBF rule by UUID'), distinguishing it from siblings like 'scm_get_pbf_rule' (read) and 'scm_update_pbf_rule' (modify). It precisely defines the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While the purpose is clear, there's no mention of prerequisites (e.g., needing the rule's UUID), consequences (e.g., irreversible deletion), or related tools like 'scm_list_pbf_rules' to find rules first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_qos_ruleB
Delete a QoS rule by UUID.
Args: rule_id: UUID of the QoS rule to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool deletes but doesn't clarify if deletion is permanent, reversible, requires specific permissions, or has side effects (e.g., affecting network traffic). The description lacks critical behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by a structured 'Args' section. Every sentence adds value: the first states the action, and the parameter explanations are necessary. No wasted words, and the structure enhances readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema, and 0% schema description coverage, the description is incomplete. It lacks information on behavioral traits (e.g., irreversibility, permissions), expected outcomes, error conditions, and how it fits into broader workflows. The parameter info is helpful but insufficient for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'rule_id' as 'UUID of the QoS rule to delete' and 'tsg_id' as 'Optional TSG ID or named alias' with a default value. This adds meaningful semantics beyond the bare schema, though it could detail format constraints (e.g., UUID structure).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 QoS rule by UUID'), distinguishing it from sibling tools like 'scm_create_qos_rule' and 'scm_get_qos_rule'. 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.
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 QoS rule), consequences of deletion, or when to choose deletion over other operations like updating. Usage context 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.
scm_delete_scheduleB
Delete a schedule object by UUID.
Args: schedule_id: UUID of the schedule to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes | ||
| tsg_id | No |
TDQS
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 the basic action. It lacks details on behavioral traits like whether deletion is permanent, requires specific permissions, has side effects (e.g., affecting dependent rules), or returns confirmation. This is inadequate 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The two-sentence structure is efficient, though the second sentence could be slightly more polished (e.g., clarifying 'Defaults to SCM_TSG_ID' as an environment variable).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 doesn't cover critical aspects like success/error responses, idempotency, or safety warnings, leaving significant gaps for an AI agent to understand the tool's behavior fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'schedule_id' as the UUID to delete and 'tsg_id' as optional with a default. It adds meaningful context beyond the schema's basic types, though it doesn't specify UUID format or TSG alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 schedule object by UUID'), distinguishing it from siblings like 'scm_create_schedule' or 'scm_update_schedule'. It precisely identifies the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While the purpose is clear, there's no mention of prerequisites (e.g., whether the schedule must exist or be unused), consequences, 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.
scm_delete_security_ruleC
Delete a security rule by UUID.
Args: rule_id: UUID of the security rule to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 security rule, implying a destructive mutation, but lacks critical details: whether deletion is permanent or reversible, required permissions, rate limits, error handling, or what happens to dependent configurations. This leaves significant gaps for safe agent operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear main statement followed by parameter details. The two-sentence structure is efficient, though the 'Args:' section could be integrated more smoothly. There's minimal waste, but it could be slightly more polished for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral risks, success/error responses, or integration with sibling tools. For a deletion tool in a security context, this is 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.
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 'rule_id' as 'UUID of the security rule to delete' and 'tsg_id' as 'Optional TSG ID or named alias' with a default, which clarifies purpose beyond the schema's basic types. However, it doesn't cover format details (e.g., UUID structure) or provide examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('security rule by UUID'), making the purpose specific and understandable. It distinguishes itself from siblings like 'scm_get_security_rule' or 'scm_update_security_rule' by focusing on deletion, though it doesn't explicitly compare to other delete operations 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.
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 rule), consequences of deletion, or how it relates to other tools like 'scm_list_security_rules' for selection. The only implied usage is from the parameter descriptions, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_security_zoneB
Delete a security zone by UUID.
Args: zone_id: UUID of the security zone to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | ||
| tsg_id | No |
TDQS
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 security zone, implying a destructive mutation, but lacks critical details: whether deletion is permanent, requires specific permissions, has side effects (e.g., breaking associated rules), or returns confirmation. This is inadequate for a destructive operation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core action. The two-sentence structure is efficient, though the Args section could be integrated more smoothly. No wasted words, but minor structural improvements are possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is incomplete. It covers parameters well but lacks behavioral context (e.g., safety, permissions, side effects) and output details. For a delete operation, this leaves significant gaps for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: zone_id as 'UUID of the security zone to delete' and tsg_id as 'Optional TSG ID or named alias' with a default. This adds clear meaning beyond the bare schema, though it could specify format (e.g., UUID version) or what 'SCM_TSG_ID' refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('security zone by UUID'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling delete tools (e.g., scm_delete_address, scm_delete_security_rule), which share the same pattern but target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., needing the zone to exist), consequences (e.g., impact on dependent rules), or suggest related tools like scm_get_security_zone for verification. The description only states what it does, not when or why to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_serviceC
Delete a service object by UUID.
Args: service_id: UUID of the service object to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | Yes | ||
| tsg_id | No |
TDQS
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 service object, implying a destructive mutation, but lacks details on permissions required, whether deletion is reversible, side effects (e.g., impact on dependent configurations), or error handling. 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.
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 parameter details. There's no wasted text, though the structure could be slightly improved by integrating parameter explanations more seamlessly rather than a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive deletion with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It misses critical behavioral details like confirmation prompts, return values, error cases, and integration with sibling tools, 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.
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 service_id is a 'UUID of the service object to delete' and tsg_id is an 'Optional TSG ID or named alias' with a default, adding meaningful context beyond the schema's basic types. However, it doesn't clarify what TSG stands for or provide examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 service object by UUID'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling delete tools (like scm_delete_service_group) beyond the resource name, which is implied but not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., scm_delete_service_group for groups, scm_update_service for modifications, or scm_get_service for checking existence). The description only lists parameters without context about prerequisites, dependencies, or typical workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_service_groupB
Delete a service group by UUID.
Args: group_id: UUID of the service group to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| tsg_id | No |
TDQS
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 deletes a service group, implying a destructive operation, but fails to mention critical details like whether deletion is permanent, requires specific permissions, or has side effects (e.g., affecting dependent configurations). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose, followed by parameter details in a structured 'Args:' section. It avoids unnecessary verbosity, though the parameter explanations could be slightly more detailed without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive deletion with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It misses essential context like deletion consequences, error handling, or return values, 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.
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 'group_id' is the UUID of the service group to delete and 'tsg_id' is an optional TSG ID or named alias defaulting to SCM_TSG_ID, adding meaning beyond the bare schema. However, it doesn't clarify what TSG ID represents or provide examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 service group by UUID'), distinguishing it from sibling tools like 'scm_delete_service' or 'scm_create_service_group'. 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.
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 deletion is appropriate versus updating or listing service groups. It lacks context about prerequisites, dependencies, or warnings about irreversible actions, which is critical for a destructive operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_snippetA
Delete a snippet by its UUID.
WARNING: This is irreversible. Disassociate the snippet from all folders and devices before deleting.
Args: snippet_id: UUID of the snippet to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| snippet_id | Yes | ||
| tsg_id | No |
TDQS
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 communicates critical traits: the operation is destructive ('Delete'), irreversible ('WARNING: This is irreversible'), and has prerequisites ('Disassociate the snippet from all folders and devices before deleting'). This provides essential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core action, followed by a warning, prerequisite, and parameter details. Every sentence adds value without redundancy, making it efficient and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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), no annotations, no output schema, and 0% schema coverage, the description is largely complete. It covers purpose, risks, prerequisites, and parameters. However, it lacks details on error conditions or response format, which could enhance completeness for a deletion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: snippet_id is explained as 'UUID of the snippet to delete', and tsg_id as 'Optional TSG ID or named alias' with a default. This clarifies purpose and usage, though it could detail format constraints (e.g., UUID structure) for a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 snippet by its UUID'), distinguishing it from sibling tools like scm_update_snippet or scm_get_snippet. It precisely defines the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context with a warning about irreversibility and a prerequisite to disassociate the snippet before deletion, which guides when to use it. However, it does not explicitly mention alternatives (e.g., scm_update_snippet for modification) or when not to use it, keeping it from a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_syslog_server_profileB
Delete a syslog server profile by UUID.
Args: profile_id: UUID of the syslog server profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 profile, implying a destructive mutation, but doesn't cover critical aspects like permissions required, irreversible effects, error handling, or confirmation prompts. This leaves significant gaps in understanding the tool's behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by parameter details in a clear 'Args:' section. It avoids redundancy and uses minimal sentences, making it efficient. However, the lack of behavioral or usage information slightly limits its completeness, but it's well-structured for its content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 low schema coverage, the description is incomplete. It covers parameters adequately but fails to address critical context like deletion consequences, error responses, or integration with sibling tools, leaving the agent under-informed for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for both parameters: it clarifies that profile_id is a UUID for the profile to delete and explains tsg_id as an optional TSG ID or named alias with a default. With schema description coverage at 0%, this compensates well by providing essential semantic details beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 syslog server profile by UUID'), making the purpose specific and understandable. However, it doesn't differentiate from sibling delete tools (e.g., scm_delete_address, scm_delete_security_rule) beyond mentioning the specific resource type, which is adequate but not fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 deletion tools or related operations like scm_get_syslog_server_profile. It mentions the parameters but lacks context on prerequisites, dependencies, or typical use cases, 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.
scm_delete_tagC
Delete a tag by UUID.
Args: tag_id: UUID of the tag to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | ||
| tsg_id | No |
TDQS
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 states the action ('Delete') but doesn't disclose critical traits like required permissions, whether deletion is reversible, rate limits, or error conditions. This is inadequate for a destructive operation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with a clear header and bullet-pointed args. The two-sentence structure is efficient, though the 'Args' section could be integrated more smoothly. No wasted words, but minor structural improvements are possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 essential context like success/error responses, side effects, authentication needs, and detailed parameter guidance. The agent would struggle 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds limited value. It explains 'tag_id' as 'UUID of the tag to delete' and 'tsg_id' as 'Optional TSG ID or named alias', but doesn't clarify what TSG means, where to find these IDs, or format requirements. For 2 parameters with no schema descriptions, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 tag by UUID'), making the purpose specific and understandable. It distinguishes from sibling tools like 'scm_get_tag' and 'scm_update_tag' by focusing on deletion, though it doesn't explicitly contrast with them 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.
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., tag must exist), consequences (e.g., impact on associated resources), 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.
scm_delete_url_access_profileB
Delete a URL access profile by UUID.
Args: profile_id: UUID of the URL access profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 deletion but lacks critical behavioral details: it does not specify whether this action is reversible, what permissions are required, if it has side effects (e.g., affecting associated rules), or what the response looks like (success/failure indicators). This is inadequate for a destructive operation 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.
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. It uses minimal sentences without redundancy, though the 'Args:' section could be integrated more seamlessly. Overall, it is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 behavioral transparency (e.g., confirmation prompts, error handling), usage guidelines, and output expectations. Given the complexity of deletion in a security context, this leaves significant gaps for an agent to operate safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' as the UUID to delete and 'tsg_id' as optional with a default. This adds meaningful context beyond the schema's basic types, though it could elaborate on format (e.g., UUID structure) or TSG alias examples. With 2 parameters fully addressed, it meets most needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 URL access profile by UUID'), distinguishing it from sibling tools like 'scm_get_url_access_profile' (read) and 'scm_create_url_access_profile' (create). 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.
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., whether the profile must exist), exclusions, or comparisons with other deletion tools in the sibling list (e.g., 'scm_delete_folder' or 'scm_delete_security_rule'), leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_url_categoryB
Delete a custom URL category by UUID.
Args: category_id: UUID of the URL category to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | ||
| tsg_id | No |
TDQS
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 'Delete' implying a destructive mutation, but fails to mention critical details like required permissions, whether deletion is permanent, side effects on dependent configurations, or expected response format. This leaves significant gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by a structured 'Args' section. Every sentence adds value with no 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.
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, no output schema, and 0% schema coverage, the description is incomplete. It lacks information on behavioral consequences, error conditions, or integration with commit workflows (suggested by sibling 'scm_commit'), leaving the agent under-informed for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'category_id' as 'UUID of the URL category to delete' and 'tsg_id' with its optional nature and default value. This adds meaningful context beyond the bare schema, though it could specify UUID format or TSG alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 custom URL category by UUID'), distinguishing it from sibling tools like 'scm_create_url_category' and 'scm_get_url_category'. It precisely defines the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 siblings include 'scm_delete_url_category' and 'scm_get_url_category', the description lacks explicit when/when-not instructions or prerequisites, such as needing to commit changes after deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_vulnerability_profileB
Delete a vulnerability protection profile by UUID.
Args: profile_id: UUID of the vulnerability protection profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 profile, implying a destructive mutation, but lacks details on permissions required, whether deletion is reversible, error handling, or confirmation prompts. This is a significant gap for a deletion 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one for the purpose and one for parameters. It's front-loaded with the main action, and the parameter explanations are concise, though the 'Args:' section could be integrated more smoothly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive deletion), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It misses critical context like behavioral traits, return values, error conditions, and security implications, making it inadequate for safe agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' as the UUID to delete and 'tsg_id' as optional with a default. This adds crucial meaning beyond the bare schema, though it doesn't detail format constraints (e.g., UUID structure) or what 'SCM_TSG_ID' refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'vulnerability protection profile by UUID', making the purpose specific and understandable. It distinguishes from siblings like 'scm_get_vulnerability_profile' or 'scm_create_vulnerability_profile' by the action, though it doesn't explicitly mention these alternatives in the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention prerequisites (e.g., needing an existing profile), exclusions, or compare it to other deletion tools in the sibling list, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_wildfire_profileB
Delete a WildFire antivirus profile by UUID.
Args: profile_id: UUID of the WildFire profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 profile but fails to mention critical details like whether deletion is permanent, requires authentication, has side effects, or returns confirmation. This leaves significant gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by parameter details in a structured 'Args' section. It avoids unnecessary words, but the parameter explanations could be more detailed given the low schema coverage, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 information on behavioral traits (e.g., irreversibility), error handling, and return values, 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.
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 'profile_id' as 'UUID of the WildFire profile to delete' and 'tsg_id' as 'Optional TSG ID or named alias' with a default, adding meaning beyond the bare schema. However, it doesn't clarify format constraints or provide examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 WildFire antivirus profile by UUID'), distinguishing it from sibling tools like 'scm_create_wildfire_profile' and 'scm_get_wildfire_profile'. It precisely defines the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 whether deletion is irreversible or requires specific permissions. It mentions a default for 'tsg_id' but lacks context about prerequisites or consequences, leaving usage decisions unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_delete_zone_protection_profileB
Delete a zone protection profile by UUID.
Args: profile_id: UUID of the zone protection profile to delete. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides minimal behavioral context. It indicates a destructive 'Delete' action but doesn't disclose critical traits like whether deletion is permanent, requires specific permissions, has side effects (e.g., breaking references), or returns confirmation. 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.
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' section is structured but slightly verbose; it could be more integrated. Overall, it's efficient with minimal waste, though not perfectly polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 behavioral outcomes (e.g., success/failure responses, error conditions), security implications, and system impact. Given the complexity of deletion operations, this leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' as 'UUID of the zone protection profile to delete' and 'tsg_id' with its optionality and default. This adds clear meaning beyond the bare schema, though it could detail format constraints (e.g., UUID structure) for a perfect score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('zone protection profile by UUID'), making the purpose evident. It distinguishes from siblings like 'scm_get_zone_protection_profile' (read) and 'scm_create_zone_protection_profile' (create), but doesn't explicitly contrast with other delete tools for different resources, 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.
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. It doesn't mention prerequisites (e.g., needing an existing profile), exclusions, or related tools like 'scm_list_zone_protection_profiles' for selection. The description only states what it 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.
scm_disassociate_snippet_from_folderC
Remove the association between a snippet and a folder.
Args: snippet_id: UUID of the snippet. folder_id: UUID of the folder to disassociate from. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| snippet_id | Yes | ||
| folder_id | Yes | ||
| tsg_id | No |
TDQS
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 performs a removal action ('Remove the association'), implying a mutation, but doesn't disclose behavioral traits like whether this requires specific permissions, if it's reversible, what happens to the snippet or folder afterward, or any error conditions. 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.
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 section is structured but could be more integrated; 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.
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 0% schema description coverage, the description is incomplete. It covers basic purpose and parameters but lacks critical context for a mutation tool, such as behavioral effects, error handling, or return values, making it inadequate for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 basic semantics for all three parameters (snippet_id, folder_id, tsg_id), explaining what they represent and default behavior for tsg_id. However, it doesn't add details like UUID format, what TSG ID or named alias means, or validation rules, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Remove the association') and resource ('between a snippet and a folder'), making the purpose specific and understandable. It distinguishes from the sibling 'scm_associate_snippet_to_folder' by being the inverse operation, though this distinction isn't explicitly stated in the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 or any prerequisites. While the sibling list includes 'scm_associate_snippet_to_folder' as a clear counterpart, the description doesn't mention it or provide context about when disassociation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_addressC
Get a single address object by UUID.
Args: address_id: UUID of the address object. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| address_id | Yes | ||
| tsg_id | No |
TDQS
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 'Get[s] a single address object,' implying a read-only operation, but doesn't disclose behavioral traits such as authentication needs, error handling, rate limits, or what happens if the UUID is invalid. This leaves significant gaps in understanding how the tool behaves beyond basic retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose followed by parameter details in a structured 'Args:' section. Every sentence adds value, with no wasted words, though it could be slightly more polished for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 output schema, no annotations), the description is incomplete. It lacks details on return values, error conditions, and behavioral context, making it insufficient for an agent to fully understand how to invoke and interpret results, especially with no annotations to fill gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'address_id' is a 'UUID of the address object' and 'tsg_id' is an 'Optional TSG ID or named alias' with a default, which clarifies parameter roles beyond the schema's basic types. However, it doesn't fully cover semantics like format details or usage examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a single address object by UUID'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_list_addresses' or 'scm_get_address_group', which would require mentioning it retrieves a single record rather than a list or 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.
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 'scm_list_addresses' for listing multiple addresses or 'scm_get_address_group' for a different resource, nor does it specify prerequisites or contexts for usage, leaving the agent without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_address_groupB
Get a single address group by UUID.
Args: group_id: UUID of the address group. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| tsg_id | No |
TDQS
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 'Get' operation, implying read-only behavior, but doesn't clarify if it requires authentication, has rate limits, returns structured data, or handles errors. 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.
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 clear 'Args:' section with bullet points. Every sentence adds value without redundancy, making it efficient and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters, no output schema, no annotations), the description is minimally adequate. It covers the purpose and parameters but lacks behavioral context (e.g., response format, error handling) and usage guidelines. Without annotations or output schema, more detail would improve completeness for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'group_id' as the 'UUID of the address group' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. This adds meaningful semantics beyond the schema's basic types, though it doesn't detail format constraints (e.g., UUID structure) or TSG alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single address group by UUID.' This specifies the verb ('Get'), resource ('address group'), and key identifier ('by UUID'), making it distinct from list operations like 'scm_list_address_groups'. However, it doesn't explicitly differentiate from other 'get' tools (e.g., 'scm_get_address'), 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.
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 retrieving by UUID but doesn't specify prerequisites (e.g., needing an existing address group) or contrast it with sibling tools like 'scm_list_address_groups' for multiple groups or 'scm_get_address' for individual addresses. This leaves usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_anti_spyware_profileA
Get a single anti-spyware profile by UUID.
Args: profile_id: UUID of the anti-spyware profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 retrieves data ('Get'), implying a read-only operation, but doesn't disclose behavioral traits like authentication requirements, rate limits, error handling, or what happens if the profile doesn't exist. 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.
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 structured 'Args:' section. Every sentence earns its place with no wasted words, 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.
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 parameters well but lacks behavioral context (e.g., read-only nature, error responses) and output details. For a simple retrieval tool, it's minimally adequate but has clear gaps in transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: profile_id as 'UUID of the anti-spyware profile' and tsg_id as 'Optional TSG ID or named alias' with a default. This adds meaningful context beyond the schema's basic types, though it doesn't detail format constraints (e.g., UUID structure).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get a single anti-spyware profile') and resource ('by UUID'), distinguishing it from siblings like scm_list_anti_spyware_profiles (which lists multiple) and scm_create_anti_spyware_profile (which creates). The verb 'Get' 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.
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 scm_list_anti_spyware_profiles or scm_search. The description implies usage for retrieving a specific profile by ID, but lacks context on prerequisites (e.g., needing the UUID) or exclusions (e.g., not for bulk retrieval).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_applicationC
Get a single application object by UUID.
Args: app_id: UUID of the application object. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | ||
| tsg_id | No |
TDQS
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 like authentication requirements, rate limits, error conditions, or what happens if the UUID doesn't exist. For a retrieval 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.
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 parameter explanations are brief but clear. There's no wasted text, though the structure could be slightly improved by integrating the parameter details more seamlessly rather than as a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (simple retrieval), no annotations, no output schema, and 2 parameters with 0% schema coverage, the description is minimally adequate. It covers the purpose and parameters but lacks behavioral context, usage guidance, and output details. For a basic 'get' operation, this is borderline acceptable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'app_id' as 'UUID of the application object' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. This adds meaningful semantics beyond the bare schema. However, it doesn't clarify what 'TSG' stands for or provide examples of 'named alias', leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single application object by UUID.' This specifies the verb ('Get'), resource ('application object'), and key identifier ('UUID'). However, it doesn't explicitly differentiate from sibling tools like 'scm_list_applications' or 'scm_get_application_filter', 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.
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 'scm_list_applications' for listing multiple applications or 'scm_get_application_filter' for filtered retrieval. The only contextual hint is the parameter description for 'tsg_id', 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.
scm_get_application_filterB
Get a single application filter by UUID.
Args: filter_id: UUID of the application filter. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes | ||
| tsg_id | No |
TDQS
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'), but doesn't disclose behavioral traits like authentication requirements, rate limits, error handling (e.g., what happens if filter_id doesn't exist), or response format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one for purpose and one for parameters. It's front-loaded with the main action. The Args section is clear but could be more integrated. No wasted words, though slightly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 2 parameters, the description is minimally complete. It covers the basic purpose and parameters but lacks behavioral context, error handling, and output details. It's adequate for a simple read tool but has clear gaps in operational guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'filter_id' as 'UUID of the application filter' and 'tsg_id' as 'Optional TSG ID or named alias' with default behavior. This adds meaningful semantics beyond the bare schema, though it doesn't fully explain TSG ID context or format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'a single application filter by UUID', making the purpose specific and understandable. It distinguishes from sibling tools like 'scm_list_application_filters' (which lists multiple) and 'scm_create_application_filter' (which creates), though it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_application_filters' or 'scm_search'. The description implies usage when you have a specific filter UUID, but lacks context about prerequisites, error conditions, or comparison with other retrieval methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_application_groupC
Get a single application group by UUID.
Args: group_id: UUID of the application group. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| tsg_id | No |
TDQS
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 read operation ('Get'). It lacks behavioral details like authentication requirements, rate limits, error conditions, or what happens if the UUID doesn't exist. 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.
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 section is structured but could be more integrated. No wasted sentences, though minor improvements in flow are possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on return values, error handling, and behavioral traits, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaningful context: it explains group_id is a 'UUID of the application group' and tsg_id is 'Optional TSG ID or named alias' with a default. This compensates somewhat, though it doesn't fully document both parameters' formats or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a single application group by UUID'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling 'get' tools like scm_get_application or scm_get_application_filter, 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.
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 scm_list_application_groups (for listing multiple groups) or scm_get_application (for individual applications), leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_authentication_ruleC
Get a single authentication rule by UUID.
Args: rule_id: UUID of the authentication rule. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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'), but doesn't specify authentication requirements, rate limits, error conditions, or the format of the returned data. This leaves significant gaps for a tool with no structured safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one for the purpose and one for parameter details. It's front-loaded with the core function, though the parameter section could be slightly more integrated for better flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 lacks information on authentication, error handling, return format, and usage context, which are critical for a tool with two parameters and no structured behavioral hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'rule_id' is a UUID and 'tsg_id' is optional with a default, adding meaningful context beyond the schema's basic types. However, it doesn't detail format constraints or provide examples for these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a single authentication rule by UUID'), making the purpose specific and understandable. It distinguishes from siblings like 'scm_list_authentication_rules' by specifying retrieval of a single item, though it doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_authentication_rules' or 'scm_get_*' tools for other resources. The description only states what it does, without context on prerequisites, timing, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_decryption_profileB
Get a single decryption profile by UUID.
Args: profile_id: UUID of the decryption profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 a read-only fetch, but doesn't disclose any behavioral traits like authentication requirements, error handling, rate limits, or what happens if the profile doesn't exist. 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.
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 structured 'Args:' section. There's no wasted text, and each sentence adds value. However, the formatting with bullet-like indentation could be slightly improved for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a simple read operation), no annotations, no output schema, and 0% schema coverage, the description is moderately complete. It covers the purpose and parameters well but lacks behavioral details and output information. For a basic 'get' tool, this is adequate but leaves room for improvement in transparency and guidelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' as 'UUID of the decryption profile' and 'tsg_id' as 'Optional TSG ID or named alias. Defaults to SCM_TSG_ID.' This adds meaningful context beyond the bare schema, clarifying the UUID format and default behavior, though it doesn't fully detail all possible values or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single decryption profile by UUID.' It specifies the verb ('Get') and resource ('decryption profile'), making it easy to understand. However, it doesn't explicitly distinguish this tool from its sibling 'scm_get_decryption_rule' or 'scm_list_decryption_profiles', which would require more specific differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_decryption_profiles' for listing multiple profiles or 'scm_get_decryption_rule' for related resources. The only usage hint is the parameter explanation, which doesn't address tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_decryption_ruleC
Get a single decryption rule by UUID.
Args: rule_id: UUID of the decryption rule. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 read-only behavior, but doesn't disclose critical traits: authentication requirements, rate limits, error handling (e.g., invalid UUID), or response format. For a tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 'Args' section. There's no wasted text. However, the structure could be slightly improved by integrating parameter details more seamlessly, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters), no annotations, and no output schema, the description is incomplete. It lacks information on authentication, error handling, response structure, and usage context. While it covers basic purpose and parameters, it doesn't provide enough context for reliable agent invocation without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'rule_id' as 'UUID of the decryption rule' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. This clarifies data types and purposes beyond the schema's basic titles. However, it doesn't cover format details (e.g., UUID version) or TSG alias examples, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single decryption rule by UUID.' This is a specific verb ('Get') and resource ('decryption rule'), and it distinguishes from siblings like 'scm_list_decryption_rules' (list vs. get single). However, it doesn't explicitly differentiate from other 'get' tools (e.g., 'scm_get_decryption_profile'), though the resource name makes it clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 valid UUID), compare it to 'scm_list_decryption_rules' for browsing, or specify error conditions. The only implicit context is the parameter descriptions, which are basic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_dns_security_profileB
Get a single DNS security profile by UUID.
Args: profile_id: UUID of the DNS security profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 needs, rate limits, error conditions, or what the return value looks like (no output schema). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose in the first sentence. The 'Args:' section is structured but could be more integrated. There's minimal waste, though it could be slightly more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters), no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, potential errors, or usage context. For a tool in this environment, more detail is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'profile_id' is explained as 'UUID of the DNS security profile,' and 'tsg_id' as 'Optional TSG ID or named alias. Defaults to SCM_TSG_ID.' This clarifies their purposes and default behavior, though it doesn't cover all possible details like format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single DNS security profile by UUID.' It specifies the verb ('Get'), resource ('DNS security profile'), and key identifier ('by UUID'). However, it doesn't explicitly differentiate from its sibling 'scm_list_dns_security_profiles' beyond the singular vs. plural naming, which is why it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_dns_security_profiles' for listing multiple profiles or 'scm_create_dns_security_profile' for creation. It mentions the parameters but doesn't explain usage context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_external_dynamic_listA
Get a single external dynamic list by UUID.
Args: edl_id: UUID of the external dynamic list. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| edl_id | Yes | ||
| tsg_id | No |
TDQS
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 is for 'Get' (implying read-only), but doesn't clarify if it requires specific permissions, what happens on invalid UUID, rate limits, or the return format. 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.
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 'Args:' section. Every sentence earns its place by providing essential information 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.
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 adequate but has clear gaps. It covers the basic purpose and parameters, but lacks details on behavioral traits (e.g., error handling, permissions) and output format, which are critical for a read operation with undocumented parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'edl_id' is explained as 'UUID of the external dynamic list', and 'tsg_id' as 'Optional TSG ID or named alias' with a default value. This clarifies purpose and usage beyond the bare schema, though it doesn't detail UUID format or TSG alias examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get a single external dynamic list') and resource ('by UUID'), distinguishing it from sibling tools like 'scm_list_external_dynamic_lists' (plural) and 'scm_create_external_dynamic_list' (creation). It precisely defines the scope as retrieving a single item using a unique identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'by UUID' and listing parameters, suggesting it's for retrieving a known specific list rather than browsing. However, it lacks explicit guidance on when to use this versus alternatives like 'scm_list_external_dynamic_lists' or prerequisites such as authentication needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_file_blocking_profileB
Get a single file blocking profile by UUID.
Args: profile_id: UUID of the file blocking profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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, implying read-only behavior, but doesn't disclose whether it requires authentication, has rate limits, returns structured data, or handles errors. For a read 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.
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 clear 'Args:' section. No wasted sentences. However, the structure could be slightly improved by integrating parameter details more seamlessly rather than a separate section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 but lacks context on authentication, error handling, return format, or system behavior. It's minimally adequate for a simple read tool but misses details that would help an agent use it correctly in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' is a 'UUID of the file blocking profile' (clarifying format and purpose), and 'tsg_id' is 'Optional TSG ID or named alias' with a default. This goes beyond the schema's basic type definitions, though it doesn't explain 'TSG' or where to find these IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single file blocking profile by UUID.' This is a specific verb ('Get') + resource ('file blocking profile') + identifier method ('by UUID'). It distinguishes from sibling tools like 'scm_list_file_blocking_profiles' (list multiple) and 'scm_create_file_blocking_profile' (create). However, it doesn't explicitly mention what 'file blocking profile' means in context, 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.
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 valid UUID), compare it to list operations (e.g., 'scm_list_file_blocking_profiles' for browsing), or specify error conditions. 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.
scm_get_folderB
Get a single folder by its UUID.
Args: folder_id: The UUID of the folder to retrieve. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_id | Yes | ||
| tsg_id | No |
TDQS
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 behavior, but doesn't explicitly confirm it's non-destructive. It doesn't mention authentication requirements, rate limits, error conditions, or what the return format looks like (especially important since there's no output schema). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and concise: a clear purpose statement followed by parameter documentation. Every sentence earns its place - the first sentence states what the tool does, and the Args section efficiently documents parameters. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is incomplete. While it documents parameters adequately, it fails to describe the return value format (critical for a 'get' operation), error conditions, authentication requirements, or behavioral constraints. For a tool with this complexity and lack of structured documentation, the description should provide more complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder_id' as 'The UUID of the folder to retrieve' and 'tsg_id' as 'Optional TSG ID or named alias' with default behavior. This adds meaningful semantics beyond the bare schema. However, it doesn't explain what a TSG ID represents in this context or provide format examples for the UUID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 a single folder by its UUID' - a specific verb ('Get') and resource ('folder') with a clear identifier. It distinguishes from siblings like 'scm_list_folders' (which retrieves multiple folders) and 'scm_create_folder'/'scm_update_folder'/'scm_delete_folder' (which modify folders). However, it doesn't explicitly mention it's a read operation versus those modification tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 use 'scm_get_folder' versus 'scm_list_folders' (for retrieving multiple folders) or other folder-related tools. The parameter documentation implies usage context but doesn't provide explicit when/when-not guidance or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_http_server_profileC
Get a single HTTP server profile by UUID.
Args: profile_id: UUID of the HTTP server profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 'Get[s] a single HTTP server profile,' implying a read-only operation, but doesn't clarify if it's safe, idempotent, or has side effects. It lacks details on authentication needs, rate limits, error handling, or response format. 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.
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 a structured 'Args:' section. There's no wasted text, and the information is organized for quick comprehension. A minor deduction for not integrating the parameter details more seamlessly, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (simple retrieval), no annotations, no output schema, and 2 parameters with 0% schema coverage, the description is minimally adequate. It explains the purpose and parameters but lacks behavioral context, usage guidance, and output details. It meets basic needs but leaves gaps that could hinder effective tool invocation in more complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compensates by explaining both parameters: 'profile_id: UUID of the HTTP server profile' and 'tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.' This adds clear meaning beyond the schema's basic types. However, it doesn't cover validation rules or examples, leaving some semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single HTTP server profile by UUID.' It specifies the verb ('Get'), resource ('HTTP server profile'), and key identifier ('by UUID'), which is specific and actionable. However, it doesn't explicitly distinguish this tool from sibling 'get' tools (e.g., scm_get_address, scm_get_folder) beyond the resource type, missing sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 scm_list_http_server_profiles for listing profiles or scm_create_http_server_profile for creation, nor does it specify prerequisites, error conditions, or contextual constraints. The absence of usage guidelines leaves the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_job_statusB
Get the status of an SCM job (e.g. a commit job).
Args: job_id: The job UUID returned by scm_commit or another async operation. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| tsg_id | No |
TDQS
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 read-only, but doesn't disclose behavioral traits like authentication needs, rate limits, error handling, or what the status output includes (e.g., pending, success, failure). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one stating the purpose and another explaining parameters. It's front-loaded with the main function and uses bullet-like 'Args:' for clarity. There's minimal waste, though it could be slightly more structured with separate lines for each parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 basic purpose and parameters but lacks details on behavioral aspects, return values, or error handling. For a tool checking job status in a complex SCM system, this leaves the agent with insufficient context to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'job_id' as 'The job UUID returned by scm_commit or another async operation' and 'tsg_id' as 'Optional TSG ID or named alias. Defaults to SCM_TSG_ID.' This adds meaningful context beyond the schema, but doesn't fully detail parameter formats or constraints, keeping it at a baseline level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 status of an SCM job (e.g. a commit job).' It specifies the verb ('Get') and resource ('status of an SCM job'), and provides an example ('e.g. a commit job') for context. However, it doesn't explicitly differentiate from sibling tools like 'scm_list_jobs' or 'scm_commit', 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by referencing 'job UUID returned by scm_commit or another async operation,' suggesting it's for checking async job results. However, it lacks explicit guidance on when to use this tool versus alternatives like 'scm_list_jobs' or direct status checks in other tools, and doesn't specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_log_forwarding_profileC
Get a single log forwarding profile by UUID.
Args: profile_id: UUID of the log forwarding profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 read-only behavior, but doesn't disclose other traits like authentication needs, error handling (e.g., if UUID is invalid), rate limits, or response format. The description is minimal and lacks 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.
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 parameter details. There's no wasted text, and the structure (purpose then args) is logical. However, it could be slightly more polished (e.g., integrating args into a single paragraph).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters), no annotations, and no output schema, the description is incomplete. It lacks information on return values, error conditions, or system context (e.g., what a log forwarding profile is). For a tool with zero structured coverage, more explanatory content is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some semantics: it explains 'profile_id' as 'UUID of the log forwarding profile' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. However, it doesn't fully compensate for the coverage gap—e.g., no details on UUID format or TSG alias examples. With 2 parameters, this partial info warrants a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single log forwarding profile by UUID.' It specifies the verb ('Get'), resource ('log forwarding profile'), and key identifier ('by UUID'). However, it doesn't explicitly differentiate from sibling tools like 'scm_list_log_forwarding_profiles' (list vs. get single), though the distinction is implied by the naming pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It mentions the 'profile_id' parameter but doesn't clarify prerequisites (e.g., needing an existing profile) or contrast with list operations. The sibling tools include 'scm_list_log_forwarding_profiles', 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.
scm_get_nat_ruleB
Get a single NAT rule by UUID.
Args: rule_id: UUID of the NAT rule. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 ('Get'), which implies it's non-destructive, but doesn't clarify authentication needs, rate limits, error responses, or what the return data includes (e.g., rule details in JSON). 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.
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 parameter details in a structured 'Args:' section. It's efficient with minimal waste, though the parameter explanations could be slightly more detailed (e.g., clarifying UUID format). No extraneous information is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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% schema description coverage, the description provides basic purpose and parameter semantics but lacks behavioral context (e.g., error handling, return format) and usage guidelines. It's adequate for a simple read tool but incomplete for full agent understanding, especially without output details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'rule_id' as 'UUID of the NAT rule' and 'tsg_id' as 'Optional TSG ID or named alias' with a default value. This adds crucial meaning beyond the bare schema (which only shows types and titles), though it doesn't detail UUID format or TSG alias examples. For 2 parameters, this is strong but not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get a single NAT rule') and resource ('by UUID'), distinguishing it from sibling tools like 'scm_list_nat_rules' (which lists multiple) and 'scm_create_nat_rule'/'scm_update_nat_rule'/'scm_delete_nat_rule' (which modify rather than retrieve). The verb 'Get' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. While the purpose implies it's for retrieving a specific NAT rule, there's no mention of prerequisites (e.g., needing the rule's UUID), comparison to 'scm_list_nat_rules' for browsing, or error conditions (e.g., what happens if the rule doesn't exist). The description assumes context without stating it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_pbf_ruleB
Get a single PBF rule by UUID.
Args: rule_id: UUID of the PBF rule. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 retrieves a rule. It doesn't disclose whether this is a read-only operation, what permissions are needed, error conditions, or response format. For a retrieval 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear purpose statement followed by parameter explanations. It's front-loaded with the main action and wastes no words, though the parameter section could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with 2 parameters and no output schema, the description covers the basics but lacks behavioral context. Without annotations, it should explain more about what 'Get' entails (e.g., read-only, expected response). 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.
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 both parameters: 'rule_id' as 'UUID of the PBF rule' and 'tsg_id' with its optional nature and default value. 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.
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 'a single PBF rule by UUID', making the purpose specific and understandable. However, it doesn't differentiate from sibling 'scm_get_pbf_rule' vs 'scm_list_pbf_rules' or other 'get' 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.
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 'scm_list_pbf_rules' or other retrieval tools. The description only states what it does, not when it's appropriate or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_qos_ruleC
Get a single QoS rule by UUID.
Args: rule_id: UUID of the QoS rule. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 a read-only action, but doesn't disclose behavioral traits such as authentication requirements, error handling, rate limits, or what happens if the rule doesn't exist. The description is minimal and lacks crucial operational context 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.
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 'Args' section. There's no wasted text, and the structure is clear, though it could be slightly more polished by integrating the parameter explanations into a single cohesive paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a read operation with 2 parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It lacks information on return values, error conditions, authentication needs, and how the tool interacts with the system. For a tool in a security management context, this is a significant gap in providing enough context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'rule_id' as 'UUID of the QoS rule' and 'tsg_id' as 'Optional TSG ID or named alias' with a default value. This clarifies the purpose of both parameters beyond their schema titles, but it doesn't provide format details, examples, 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.
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 single QoS rule by UUID.' It specifies the verb ('Get') and resource ('QoS rule') with the identifier method ('by UUID'). However, it doesn't explicitly differentiate from sibling tools like 'scm_get_qos_rule' vs 'scm_list_qos_rules' or 'scm_create_qos_rule', though the naming pattern implies this is a read operation for a single item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 use 'scm_get_qos_rule' instead of 'scm_list_qos_rules' for listing multiple rules or 'scm_update_qos_rule' for modifications. The only implied usage is retrieving a specific rule by UUID, but no context or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_scheduleC
Get a single schedule object by UUID.
Args: schedule_id: UUID of the schedule object. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes | ||
| tsg_id | No |
TDQS
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 read operation ('Get'), which implies it's non-destructive, but doesn't clarify authentication needs, rate limits, error handling, or what the return object contains. For a tool with zero annotation coverage, this leaves significant behavioral gaps, warranting a low score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 'Args' section. There's no wasted text, and it's structured for quick comprehension. A point is deducted as the 'Args' formatting could be slightly more integrated, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no annotations), the description is incomplete. It lacks details on the return value (e.g., what fields the schedule object includes), error cases, or dependencies like authentication. For a read operation with no structured output, more context is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 clarifies that 'schedule_id' is a UUID and 'tsg_id' is optional with a default. However, with 0% schema description coverage, the schema provides no parameter details, so the description compensates somewhat but doesn't fully explain parameter formats or usage. This meets the baseline for partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'a single schedule object by UUID', making the purpose specific and understandable. It distinguishes from sibling tools like 'scm_list_schedules' (which retrieves multiple) and 'scm_create_schedule' (which creates). However, it doesn't explicitly contrast with other 'get' tools for different resource types, keeping it at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 a specific schedule by UUID, it doesn't mention prerequisites (e.g., needing the UUID), when to use 'scm_list_schedules' instead for browsing, or any context-specific constraints. This leaves the agent without explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_security_ruleA
Get a single security rule by UUID.
Args: rule_id: UUID of the security rule. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| tsg_id | No |
TDQS
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 fetches a rule but omits critical details: whether it's a read-only operation (implied by 'Get' but not explicit), authentication requirements, rate limits, error handling, or the return format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by parameter explanations in a clear 'Args:' section. It avoids redundancy and wastes no words, though the parameter details could be slightly more integrated into the main flow for optimal structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 2 parameters, the description is incomplete. It covers the basic purpose and parameters but misses behavioral traits (e.g., safety, errors), output details, and deeper usage context, making it inadequate for reliable tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'rule_id' as a UUID for the security rule and 'tsg_id' as optional with a default value. This adds meaningful context beyond the bare schema, though it doesn't detail UUID format or TSG alias specifics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get a single security rule') and resource ('by UUID'), distinguishing it from siblings like 'scm_list_security_rules' (which retrieves multiple) and 'scm_create_security_rule' (which creates rather than fetches). The verb 'Get' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a specific security rule's details are needed, but lacks explicit guidance on when to use this versus alternatives like 'scm_list_security_rules' for browsing or 'scm_search' for broader queries. No prerequisites or exclusions are mentioned, leaving usage context partially inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_security_zoneB
Get a single security zone by UUID.
Args: zone_id: UUID of the security zone. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | ||
| tsg_id | No |
TDQS
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 ('Get'), implying it's non-destructive, but doesn't specify if it requires specific permissions, rate limits, error handling, or what the return format looks like. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 structured 'Args:' section that efficiently explains parameters. 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.
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 parameters, no nested objects) but lack of annotations and output schema, the description is moderately complete. It covers the purpose and parameters well but misses behavioral aspects like permissions, error cases, and return values. For a simple read tool, this is adequate but leaves room for improvement in providing a fuller operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'zone_id' is explained as 'UUID of the security zone', and 'tsg_id' is clarified as 'Optional TSG ID or named alias' with a default value. This goes beyond the schema's basic type definitions, providing essential semantic information that aids correct usage, though it could detail format expectations (e.g., UUID format).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a single security zone by UUID'), making the purpose specific and understandable. It distinguishes itself from sibling tools like 'scm_list_security_zones' by focusing on retrieving a single item rather than listing multiple. However, it doesn't explicitly contrast with other 'get' tools for different resource types, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a specific security zone UUID is known, as opposed to listing all zones. It mentions the 'tsg_id' parameter defaults to 'SCM_TSG_ID', providing some context for when to override this. However, it lacks explicit guidance on when to use this tool versus alternatives like 'scm_list_security_zones' or prerequisites such as authentication needs, keeping it at an implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_serviceC
Get a single service object by UUID.
Args: service_id: UUID of the service object. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | Yes | ||
| tsg_id | No |
TDQS
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 the basic retrieval action without addressing critical aspects like authentication requirements, error handling, rate limits, or what happens if the UUID doesn't exist. This leaves significant gaps for an agent to understand 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.
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 parameter explanations. There's minimal waste, though the structure could be slightly improved by integrating parameter details more seamlessly rather than a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (retrieval operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what a 'service object' entails, what data is returned, or any behavioral nuances, leaving the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some value by explaining that service_id is a 'UUID of the service object' and tsg_id is an 'Optional TSG ID or named alias' with a default. However, it doesn't fully compensate for the coverage gap, lacking details on UUID format, TSG ID meaning, or how the default SCM_TSG_ID works.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a single service object by UUID'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling 'get' tools like scm_get_service_group or scm_get_address, which have similar patterns but target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 scm_list_services for listing multiple services or scm_create_service for creating new ones, nor does it specify any prerequisites or contextual constraints for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_service_groupC
Get a single service group by UUID.
Args: group_id: UUID of the service group. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| tsg_id | No |
TDQS
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 'Get' operation, implying it's likely read-only and non-destructive, but doesn't confirm this or describe any behavioral traits like authentication needs, rate limits, error conditions, or what happens if the UUID doesn't exist. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose in the first sentence, followed by parameter explanations. There's minimal waste, though the structure could be slightly improved by separating the purpose from parameter details more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a read operation with 2 parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It covers basic purpose and parameters but lacks crucial context about behavior, error handling, return format, and differentiation from sibling tools, making it inadequate for confident tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compensates by explaining both parameters: 'group_id' as 'UUID of the service group' and 'tsg_id' as 'Optional TSG ID or named alias' with default behavior. However, it doesn't fully explain what a TSG is, how aliases work, or provide examples, leaving some semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a single service group by UUID'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'scm_list_service_groups' or 'scm_get_service', which would require more specific scope clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_service_groups' for listing multiple groups or 'scm_get_service' for individual services, nor does it specify prerequisites or appropriate contexts for retrieving a single service group.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_snippetC
Get a single snippet by its UUID.
Args: snippet_id: The UUID of the snippet to retrieve. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| snippet_id | Yes | ||
| tsg_id | No |
TDQS
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 'retrieves' a snippet, implying a read-only operation. It doesn't disclose behavioral traits like authentication needs, rate limits, error handling, or what happens if the snippet doesn't exist. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear purpose statement followed by parameter explanations. The 'Args:' section is structured but could be more integrated. Every sentence adds value, though it could be more front-loaded with key usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 2 parameters, the description is incomplete. It lacks information on return values, error conditions, prerequisites (e.g., authentication), and how this tool fits into the broader SCM context. For a retrieval tool in a complex system, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'snippet_id' as 'The UUID of the snippet to retrieve' and 'tsg_id' as 'Optional TSG ID or named alias' with a default, adding meaningful semantics beyond the bare schema. However, it doesn't clarify what TSG is or provide format examples for UUIDs, leaving some gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'a single snippet by its UUID', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_list_snippets' or 'scm_get_snippet' vs 'scm_get_address', though the UUID focus provides some implicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_snippets' for multiple snippets or other 'scm_get_*' tools for different resources. It mentions the 'tsg_id' default but offers no context about when this parameter is needed or what TSG represents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_syslog_server_profileB
Get a single syslog server profile by UUID.
Args: profile_id: UUID of the syslog server profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 context. It implies a read-only operation ('Get') but doesn't disclose permissions needed, rate limits, error conditions, or what the return value contains (especially critical since there's no output schema). 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.
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 parameter details. There's no wasted text, though the structure could be slightly improved by explicitly labeling the 'Args' section as part of the description rather than assuming it's recognized as such.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters), lack of annotations, and absence of an output schema, the description is incomplete. It doesn't explain what data is returned, potential errors, or behavioral constraints, making it inadequate for reliable agent use despite covering parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for both parameters: 'profile_id' is explained as 'UUID of the syslog server profile', and 'tsg_id' is clarified as 'Optional TSG ID or named alias' with a default value. Since schema description coverage is 0%, this compensates well by providing essential semantic information beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('a single syslog server profile by UUID'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_list_syslog_server_profiles' or 'scm_create_syslog_server_profile', 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.
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 'scm_list_syslog_server_profiles' for listing multiple profiles or 'scm_create_syslog_server_profile' for creating new ones, leaving 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.
scm_get_tagC
Get a single tag by UUID.
Args: tag_id: UUID of the tag. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | ||
| tsg_id | No |
TDQS
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 like authentication needs, rate limits, error handling, or what the return value looks like (especially since there's no 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.
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. It's concise with no wasted words, though the parameter explanations could be slightly more detailed to improve clarity without adding bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain the return format, error conditions, or behavioral context like whether it's idempotent or safe. For a tool with zero annotation coverage and no output schema, more detail is needed to fully guide an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'tag_id' as 'UUID of the tag' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. This adds meaningful semantics beyond the schema's basic types, but doesn't fully cover nuances like UUID format or what 'TSG' stands for. Given the coverage gap, this is adequate but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single tag by UUID.' This specifies the verb ('Get') and resource ('a single tag'), making it easy to understand. However, it doesn't explicitly distinguish this tool from its sibling 'scm_list_tags' or other 'get' tools, 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.
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 'scm_list_tags' for listing multiple tags or 'scm_get_*' tools for other resources, nor does it specify prerequisites or context for usage. The only implicit guidance is that you need a specific tag UUID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_url_access_profileC
Get a single URL access profile by UUID.
Args: profile_id: UUID of the URL access profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 'Get' operation, implying read-only behavior, but doesn't confirm if it's safe, describe authentication needs, rate limits, 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.
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 structured 'Args' section. There's no wasted text, and it's easy to scan. However, it could be slightly more concise by integrating the args into the main flow, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks details on return values, error conditions, and behavioral traits like safety or performance. For a tool in this context, it should provide more comprehensive guidance to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some parameter semantics: it explains that 'profile_id' is a 'UUID of the URL access profile' and 'tsg_id' is an 'Optional TSG ID or named alias' with a default. However, with 0% schema description coverage and 2 parameters, this only partially compensates—it doesn't detail UUID format, TSG alias examples, or error cases. The baseline is lower due to poor schema coverage, but the description provides moderate value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 single URL access profile by UUID.' It specifies the verb ('Get') and resource ('URL access profile'), and the UUID qualification distinguishes it from list operations. However, it doesn't explicitly differentiate from other 'get' tools for different resource types among siblings, 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.
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 'scm_list_url_access_profiles' for listing multiple profiles or 'scm_create_url_access_profile' for creation, nor does it specify prerequisites or exclusions. The 'Args' section describes parameters but not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_url_categoryC
Get a single custom URL category by UUID.
Args: category_id: UUID of the URL category. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | ||
| tsg_id | No |
TDQS
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 'Get' operation which implies read-only behavior, but doesn't describe authentication requirements, rate limits, error handling, or what happens when the UUID doesn't exist. The description provides minimal behavioral context beyond the basic operation type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly address the tool's purpose and parameters. The structure is front-loaded with the main purpose first, followed by parameter details. No unnecessary information is included, though the formatting with 'Args:' could be slightly cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, 0% schema description coverage, no annotations, and no output schema, the description is insufficient. It doesn't explain what information is returned, error conditions, authentication requirements, or how this tool relates to other URL category operations. The minimal description leaves significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 that 'category_id' is a 'UUID of the URL category' and 'tsg_id' is an 'Optional TSG ID or named alias' with a default value. However, it doesn't explain what TSG stands for, where to find these IDs, or provide examples of valid UUID formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'a single custom URL category by UUID', making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from its sibling 'scm_list_url_categories' which retrieves multiple categories, though the 'single' vs 'list' naming convention provides some implicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_url_categories' or 'scm_create_url_category'. It mentions the required parameter but doesn't explain prerequisites, error conditions, or appropriate contexts for retrieving a single category versus listing multiple categories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_vulnerability_profileB
Get a single vulnerability protection profile by UUID.
Args: profile_id: UUID of the vulnerability protection profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 retrieves data ('Get'), implying read-only behavior, but doesn't disclose critical traits like authentication requirements, rate limits, error handling, or what happens if the profile doesn't exist. The description lacks 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.
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 section is structured but slightly redundant with the schema. Every sentence adds value, though it could be more streamlined by integrating parameter details into the main description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 adequately but lacks behavioral details (e.g., permissions, errors) and output information. For a simple retrieval tool, it's viable 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.
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: 'profile_id' is the UUID of the profile, and 'tsg_id' is an optional TSG ID or named alias with a default. This adds meaningful context beyond the schema's basic types, though it doesn't explain format details (e.g., UUID structure).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 a single vulnerability protection profile by UUID', specifying the verb ('Get'), resource ('vulnerability protection profile'), and key identifier ('UUID'). It distinguishes from list operations like 'scm_list_vulnerability_profiles' by focusing on single retrieval, though it doesn't explicitly contrast with other get operations 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the parameter descriptions: 'profile_id' is required for retrieval, and 'tsg_id' defaults to SCM_TSG_ID. However, there's no explicit guidance on when to use this tool versus alternatives (e.g., 'scm_list_vulnerability_profiles' for multiple profiles) or any prerequisites like authentication needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_get_wildfire_profileB
Get a single WildFire antivirus profile by UUID.
Args: profile_id: UUID of the WildFire profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 behavior, but doesn't explicitly confirm this or mention any authentication requirements, rate limits, error conditions, or what the response contains. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear purpose statement followed by parameter documentation. Both sentences earn their place by providing essential information. The structure is front-loaded with the main purpose, though the parameter section could be slightly more integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with 2 parameters and no output schema, the description is adequate but has gaps. It covers the basic purpose and parameters, but lacks information about the return value format, error handling, or authentication context. With no annotations and no output schema, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description compensates well by explaining both parameters: profile_id as 'UUID of the WildFire profile' and tsg_id as 'Optional TSG ID or named alias' with default behavior. This adds meaningful context beyond the bare schema, though it doesn't explain format constraints or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'a single WildFire antivirus profile by UUID', making the purpose specific and understandable. It distinguishes this from list operations (like scm_list_wildfire_profiles) by specifying 'single', but doesn't explicitly differentiate from other get operations 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.
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 use scm_list_wildfire_profiles for listing multiple profiles, or scm_get_wildfire_profile versus other get operations. The only contextual hint is the parameter documentation, which 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.
scm_get_zone_protection_profileB
Get a single zone protection profile by UUID.
Args: profile_id: UUID of the zone protection profile. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | ||
| tsg_id | No |
TDQS
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 action is 'Get', implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, returns error conditions, or what the output format looks like. For a retrieval 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.
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' section is structured but could be more integrated; overall, it's efficient with minimal waste, though slightly fragmented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 or annotations, the description provides basic parameter semantics but lacks details on behavior, error handling, or output. It's minimally adequate for a simple retrieval tool but misses richer context needed for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'profile_id' is explained as 'UUID of the zone protection profile', and 'tsg_id' as 'Optional TSG ID or named alias' with a default. This clarifies the purpose and optionality of parameters 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.
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 ('a single zone protection profile by UUID'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_list_zone_protection_profiles' or 'scm_get_zone_protection_profile' (if there were multiple get variants), though the UUID focus implies it's for retrieving a specific instance rather than listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_list_zone_protection_profiles' for listing profiles or 'scm_create_zone_protection_profile' for creation, nor does it specify prerequisites or contexts where this retrieval is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_addressesB
List address objects in a folder.
Args: folder: Folder name to scope the query (e.g. 'All', 'Texas'). name: Optional filter by address name (exact match). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| name | No | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 list operation, implying read-only behavior, but doesn't disclose critical traits like pagination, rate limits, authentication needs, error handling, or what 'address objects' entail. The description lacks behavioral details beyond the basic action, leaving significant gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose. The 'Args:' section efficiently explains parameters without redundancy. It's appropriately sized for a list tool, though it could be slightly more concise by integrating examples into the main text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations, but has output schema), the description is partially complete. It covers the purpose and parameters adequately, but lacks behavioral context (e.g., pagination, errors) and usage guidelines. The output schema mitigates some gaps, but overall it's minimal for a list operation in a security context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder' scopes the query with examples ('All', 'Texas'), 'name' is an optional exact-match filter, and 'tsg_id' defaults to 'SCM_TSG_ID'. This clarifies usage beyond the bare schema, though it doesn't cover all nuances (e.g., folder format constraints).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 address objects in a folder.' It specifies the verb ('List') and resource ('address objects'), and distinguishes it from siblings like 'scm_get_address' (singular retrieval) and 'scm_create_address' (creation). However, it doesn't explicitly differentiate from other list tools like 'scm_list_address_groups' 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.
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., folder existence), compare it to other list tools (e.g., 'scm_list_address_groups'), or specify use cases. The only implied context is filtering by folder, but no explicit usage instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_address_groupsC
List address group objects in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 list operation. It doesn't disclose behavioral traits like whether it's read-only, paginated, rate-limited, authentication requirements, or what happens if the folder doesn't exist. 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.
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 section is structured but could be more integrated. There's minimal waste, though it could be slightly more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (which handles return values), the description is minimally complete. It covers the basic operation and parameters but lacks depth on behavior, usage context, and full parameter details, making 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.
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 'folder' scopes the query and 'tsg_id' defaults to SCM_TSG_ID, which helps beyond the bare schema. However, it doesn't fully cover both parameters' semantics (e.g., format of folder, what TSG ID represents), keeping it at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('address group objects in a folder'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling list tools like scm_list_addresses or scm_list_folders, 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.
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 scoping to a folder but doesn't explain why this is needed or how it relates to other list operations in the system, 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.
scm_list_anti_spyware_profilesC
List anti-spyware security profiles in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 it's read-only and non-destructive, but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or what happens if the folder 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear main sentence and a structured 'Args' section. It's front-loaded with the core purpose, and the parameter explanations are concise. However, the 'Args' formatting could be more integrated, and there's minor redundancy in stating defaults already implied by schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and an output schema (which handles return values), the description is minimally adequate. It covers the basic purpose and parameter roles but lacks details on behavior, error handling, or output structure, leaving room for improvement in completeness for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'folder' scopes the query and 'tsg_id' is optional with a default, which clarifies their roles beyond the schema's basic types. However, it doesn't detail parameter formats (e.g., folder syntax, TSG ID examples) or constraints, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('anti-spyware security profiles in a folder'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling list tools (e.g., scm_list_addresses, scm_list_application_filters) beyond the resource type, missing explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by mentioning the 'folder' parameter to scope the query, but lacks explicit when-to-use instructions, prerequisites, or alternatives compared to other list tools or search functions (e.g., scm_search). No exclusions or contextual usage details are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_application_filtersB
List application filter objects in a folder.
Application filters dynamically match applications based on attributes (category, subcategory, technology, risk) for use in security policy.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 list operation (implies read-only) and mentions the folder scope, but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, error conditions, or what 'list' returns (though output schema exists). For a tool with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 concise explanation of application filters, then parameter details in a clear 'Args:' section. Every sentence adds value without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (list operation with 2 parameters), no annotations, and an output schema (which handles return values), the description is reasonably complete. It covers purpose, parameter semantics, and context, but lacks behavioral details like pagination or error handling. The output schema reduces the need for return value explanation, making this adequate though not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 value by explaining 'folder' as 'Folder name to scope the query' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. However, it doesn't specify format constraints, valid values, or examples for either parameter. With 2 parameters and low schema coverage, this provides basic but incomplete compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('application filter objects in a folder'), and explains what application filters are ('dynamically match applications based on attributes... for use in security policy'). It distinguishes from siblings like 'scm_get_application_filter' (singular get) and 'scm_create_application_filter' (create). However, it doesn't explicitly differentiate from other list tools like 'scm_list_applications' or 'scm_list_application_groups' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'in a folder' and the purpose of application filters for security policy. It doesn't provide explicit when-to-use vs. alternatives (e.g., when to use this vs. 'scm_list_applications'), prerequisites, or exclusions. The guidance is limited to the basic scope of folder-based listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_application_groupsC
List application group objects in a folder.
Application groups bundle multiple applications for use in security policy.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 ('List'), implying it's non-destructive, but doesn't mention permissions, rate limits, pagination, or the format of returned data. For a list 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and concise: a clear purpose statement followed by parameter explanations. Every sentence adds value, with no wasted words. However, it could be slightly more front-loaded by integrating parameter hints into the main description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (list operation), 2 parameters, and an output schema (which handles return values), the description is minimally adequate. However, with no annotations and 0% schema coverage, it lacks behavioral context (e.g., pagination) and doesn't fully explain parameter semantics, leaving room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 value by explaining 'folder' scopes the query and 'tsg_id' is optional with a default, but it doesn't detail parameter formats (e.g., folder syntax) or constraints. This partially compensates but doesn't fully address the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 application group objects in a folder.' It specifies the verb ('List'), resource ('application group objects'), and scope ('in a folder'). However, it doesn't explicitly distinguish this tool from sibling list tools like 'scm_list_applications' or 'scm_list_application_filters', 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance: it mentions scoping by folder and includes an optional TSG ID parameter. However, it doesn't specify when to use this tool versus alternatives (e.g., other list tools for different resource types), nor does it mention prerequisites or exclusions. 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.
scm_list_applicationsC
List application objects in a folder.
Applications are the building blocks of application-based security policy. This returns both predefined and custom application objects.
Args: folder: Folder name to scope the query (e.g. 'All', 'Predefined'). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 indicates this is a read operation ('List'), but doesn't mention whether it's paginated, what the output format is (though output schema exists), authentication requirements, rate limits, or error conditions. The description adds some context about application objects 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences and a parameter section. The first sentence states the core purpose, the second adds context about applications, and the third clarifies scope. The Args section is structured but could be more integrated. No wasted sentences, though the parameter explanations could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 provides adequate parameter semantics but lacks behavioral context. For a list operation with no annotations, it should mention pagination, sorting, or response structure. The existence of an output schema reduces the need to describe return values, but operational guidance is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'folder' is explained as scoping the query with examples ('All', 'Predefined'), and 'tsg_id' is described as optional with a default value. However, it doesn't explain what TSG ID represents or provide format requirements beyond the basic type information in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 objects in a folder'), and explains what applications are ('building blocks of application-based security policy'). It distinguishes the scope by mentioning it returns 'both predefined and custom application objects'. However, it doesn't explicitly differentiate from sibling list tools like 'scm_list_application_filters' or 'scm_list_application_groups'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance on when to use this tool. It mentions the folder parameter can scope queries (e.g., 'All', 'Predefined'), but doesn't explain when to choose specific folders or when to use alternatives like 'scm_get_application' for single objects or 'scm_search' for broader queries. 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.
scm_list_authentication_rulesB
List authentication policy rules in a folder.
Authentication rules enforce user identity verification before allowing access — typically used with Captive Portal or MFA.
Args: folder: Folder name to scope the query. rulebase: Which rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| rulebase | No | pre | |
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 important behavioral aspects like pagination, rate limits, authentication requirements, error conditions, or what happens when no rules exist. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement, brief context, and organized parameter documentation. It's appropriately sized for a list tool with three parameters. The information is front-loaded with the most important details first, though the authentication rule explanation could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 3 parameters, 0% schema coverage, no annotations, but with an output schema, the description is adequate but has gaps. It covers the purpose and parameters well, but lacks behavioral context (pagination, errors, etc.) that would be helpful for an agent. The existence of an output schema reduces the need to describe return values, 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.
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 lack of parameter documentation. It successfully explains all three parameters: 'folder' (scope), 'rulebase' (pre/post with default), and 'tsg_id' (optional with default). The explanations add meaningful context beyond what the bare schema provides, though some details like TSG_ID meaning could be clearer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 authentication policy rules in a folder' with a brief explanation of what authentication rules do. It distinguishes from siblings like 'scm_create_authentication_rule' by being a list operation, but doesn't explicitly differentiate from other list tools like 'scm_list_addresses' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the explanation of authentication rules ('typically used with Captive Portal or MFA'), but doesn't provide explicit guidance on when to use this tool versus alternatives. No specific prerequisites, exclusions, or comparison to similar list tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_decryption_profilesA
List decryption profiles in a folder.
Decryption profiles control SSL/TLS inspection settings — protocol versions, cipher suites, and certificate validation behavior.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 list operation, implying read-only, but does not disclose behavioral traits like pagination, rate limits, authentication needs, or what happens if the folder doesn't exist. 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.
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 a brief explanation of decryption profiles, then parameter details. Every sentence adds value with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters, no annotations, and an output schema (which handles return values), the description is mostly complete. It covers purpose, parameter semantics, and domain context. However, it lacks behavioral details like error handling or performance considerations, which would be helpful 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.
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: 'folder' as 'Folder name to scope the query' and 'tsg_id' with its optionality and default. This adds meaningful semantics beyond the bare schema, though it doesn't detail format constraints (e.g., folder naming rules).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('decryption profiles in a folder'), and distinguishes from siblings like 'scm_get_decryption_profile' (singular get) and 'scm_create_decryption_profile' (create). It also explains what decryption profiles are, adding domain context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying 'in a folder' and providing parameter details, but does not explicitly state when to use this tool versus alternatives like 'scm_get_decryption_profile' or 'scm_search'. 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.
scm_list_decryption_rulesB
List decryption policy rules in a folder.
Decryption rules control SSL/TLS traffic inspection — which sessions are decrypted, forwarded, or excluded from decryption.
Args: folder: Folder name to scope the query. rulebase: Which rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| rulebase | No | pre | |
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 lists rules, implying a read-only operation, but does not disclose behavioral traits such as whether it requires specific permissions, how it handles pagination or large result sets, or any rate limits. The description adds some context about decryption rules but lacks critical 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.
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 explanatory context and parameter details. It avoids redundancy and wastes no words, though the parameter section 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters, no annotations, but with an output schema), the description is moderately complete. It covers the purpose and parameters but lacks behavioral transparency and usage guidelines. The output schema existence means return values needn't be explained, but other gaps remain for a list operation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder' scopes the query, 'rulebase' specifies which rulebase with defaults, and 'tsg_id' is optional with a default. This adds significant value beyond the bare schema, though it doesn't detail parameter formats or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 decryption policy rules in a folder.' It specifies the verb ('List') and resource ('decryption policy rules'), and adds context about what decryption rules control. However, it does not explicitly differentiate from sibling tools like 'scm_get_decryption_rule' or 'scm_create_decryption_rule', which is why it doesn't 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning 'folder' as a required parameter and providing defaults for 'rulebase' and 'tsg_id', but it does not explicitly state when to use this tool versus alternatives (e.g., 'scm_get_decryption_rule' for a single rule or 'scm_create_decryption_rule' for creation). The context is clear but lacks explicit guidance on exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_dns_security_profilesB
List DNS security profiles in a folder.
DNS security profiles control how the firewall responds to DNS queries for known malicious domains — block, sinkhole, or allow.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool lists profiles and explains what DNS security profiles do, but doesn't describe the return format, pagination behavior, authentication requirements, rate limits, or whether this is a read-only operation. The explanation of DNS security profiles adds some context but doesn't fully address behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences: purpose statement, explanation of DNS security profiles, and parameter documentation. It's front-loaded with the core purpose first. The structure is clear but could be slightly more efficient in the parameter documentation section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 2 parameters with 0% schema coverage, the description provides basic purpose and parameter information. However, for a list operation in what appears to be a security management system, it should ideally include more about authentication requirements, pagination, or error conditions to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters: 'folder' as 'Folder name to scope the query' and 'tsg_id' with its default value. However, it doesn't explain parameter formats, constraints, or provide examples. The description adds basic semantics but doesn't fully compensate for the schema coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'List' and resource 'DNS security profiles in a folder', and explains what DNS security profiles do. However, it doesn't explicitly differentiate from sibling 'list' tools like scm_list_addresses or scm_list_anti_spyware_profiles 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'in a folder' and mentioning the optional tsg_id parameter with its default. However, it doesn't provide explicit guidance on when to use this tool versus alternatives or any prerequisites for successful invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_external_dynamic_listsA
List external dynamic lists (EDLs) in a folder.
EDLs are feeds of IP addresses, URLs, or domains pulled from external sources (HTTP/HTTPS) and used in security policy.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 that EDLs are used in security policy, hinting at read-only behavior, but does not disclose critical traits like whether this is a safe read operation, pagination, rate limits, or authentication needs. The description is insufficient 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by a concise explanation of EDLs and parameter details. It avoids redundancy and uses clear sections, though the EDL explanation, while useful, slightly extends length beyond minimal necessity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers purpose and parameters adequately. However, it lacks behavioral details (e.g., safety, pagination) and does not explain the return format, relying on the output schema. For a list tool with no annotations, this leaves gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder' scopes the query, and 'tsg_id' is optional with a default. This adds meaningful context beyond the schema's basic types, though it could detail format constraints (e.g., folder naming conventions).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), resource ('external dynamic lists'), and scope ('in a folder'), with additional context about what EDLs are. It distinguishes from siblings like 'scm_get_external_dynamic_list' (singular get) and 'scm_create_external_dynamic_list' (create), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the folder parameter to scope the query, but does not explicitly state when to use this tool versus alternatives (e.g., vs. 'scm_get_external_dynamic_list' for a single EDL or 'scm_search' for broader queries). It provides basic context but lacks explicit guidance on exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_file_blocking_profilesA
List file blocking profiles in a folder.
File blocking profiles control which file types are allowed, blocked, or forwarded to WildFire for analysis.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 the tool as a list operation, which implies read-only behavior, and adds context about what file blocking profiles do. However, it lacks details on behavioral traits like pagination, rate limits, authentication needs, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences and a parameter section. It is front-loaded with the core purpose, followed by explanatory context and parameter details. No wasted sentences, though the parameter section could be integrated more smoothly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, the description is fairly complete. It covers purpose, parameter meanings, and context about file blocking profiles. With an output schema, it need not explain return values, but could add more on usage or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder' as the folder name to scope the query, and 'tsg_id' as optional with a default. This adds meaningful semantics beyond the bare schema, though it could specify format or constraints for 'folder'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List file blocking profiles'), the resource ('in a folder'), and the purpose of file blocking profiles ('control which file types are allowed, blocked, or forwarded to WildFire for analysis'). It distinguishes from siblings like 'scm_get_file_blocking_profile' (singular get) and 'scm_create_file_blocking_profile' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the folder parameter scopes the query, but it does not explicitly state when to use this tool versus alternatives like 'scm_get_file_blocking_profile' for a single profile or 'scm_search' for broader queries. 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.
scm_list_foldersB
List all folders in Strata Cloud Manager.
Returns a list of folder objects. Folders form the container hierarchy used to scope firewall configuration (policies, objects, etc.).
Args: tsg_id: Optional TSG ID or named alias (e.g. 'PROD'). Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 folder objects and mentions the container hierarchy purpose, but doesn't describe important behavioral aspects like whether this is a read-only operation, if it requires authentication, potential rate limits, pagination behavior, or error conditions. The description adds some context about folder purpose but lacks operational transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The three sentences each serve distinct purposes: stating the action, describing the return value, explaining folder purpose, and documenting the parameter. There's minimal waste, though the parameter documentation could be more integrated with the main description flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (list operation with one optional parameter), no annotations, and the presence of an output schema (which handles return value documentation), the description is minimally adequate. It covers the basic purpose and parameter semantics but lacks behavioral context and usage guidance that would make it more complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides meaningful semantic information about the single parameter (tsg_id) that goes beyond the schema's minimal coverage (0%). It explains that tsg_id is optional, can be an ID or named alias like 'PROD', and defaults to SCM_TSG_ID. This compensates well for the schema's lack of description, though it doesn't fully explain what SCM_TSG_ID represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('folders in Strata Cloud Manager'), and explains that folders form a container hierarchy for firewall configuration. However, it doesn't explicitly distinguish this from sibling list tools (e.g., scm_list_addresses, scm_list_security_rules) 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.
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 tool is appropriate (e.g., for browsing folder structure vs. getting specific folder details with scm_get_folder) or any prerequisites beyond the optional tsg_id parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_http_server_profilesC
List HTTP server profiles in a folder.
HTTP server profiles define HTTP endpoints that receive log data from log forwarding profiles.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 safe, but lacks details on critical behaviors: no mention of pagination, rate limits, authentication requirements, error handling, or the format/structure of the returned list. The description adds basic context about what HTTP server profiles are, but fails to cover operational aspects needed for reliable tool invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and concise. The first sentence states the core purpose, followed by a brief explanation of HTTP server profiles, and then parameter details in a clear 'Args:' section. There's no wasted text, and information is front-loaded. A score of 5 is reserved for exceptional brevity with no room for improvement, but this is highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the context: no annotations, 2 parameters with 0% schema coverage, and an output schema exists (so return values are documented elsewhere), the description is minimally adequate. It covers the purpose and parameters but lacks behavioral details (e.g., pagination, errors) and usage guidelines. For a simple list tool, this might suffice, but the absence of annotations and incomplete behavioral transparency keeps it at a baseline score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compensates by explaining both parameters: 'folder' is described as 'Folder name to scope the query,' and 'tsg_id' as 'Optional TSG ID or named alias. Defaults to SCM_TSG_ID.' This adds meaningful semantics beyond the bare schema. However, it doesn't detail allowed values, formats, or constraints (e.g., folder naming conventions), keeping it at a baseline level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 HTTP server profiles in a folder.' It specifies the verb ('List') and resource ('HTTP server profiles'), and adds context about their function ('define HTTP endpoints that receive log data from log forwarding profiles'). However, it doesn't explicitly differentiate from sibling tools like 'scm_get_http_server_profile' or 'scm_create_http_server_profile', 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.
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 the tool lists profiles 'in a folder,' implying a scoping context, but offers no explicit advice on when to use this tool versus alternatives (e.g., 'scm_get_http_server_profile' for a single profile or 'scm_create_http_server_profile' for creation). There's no mention of 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.
scm_list_jobsB
List recent SCM jobs.
Args: parent_id: Optional parent job UUID to filter child jobs. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| parent_id | No | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 context. It states this is a list operation (implying read-only) but doesn't disclose pagination behavior, rate limits, authentication requirements, what 'recent' means, or the format/structure of returned jobs. For a list 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear purpose statement followed by parameter explanations. The two-sentence structure is efficient, though the parameter section could be better integrated. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (list operation with filtering), no annotations, and an output schema (which handles return values), the description is minimally adequate. It covers the basic purpose and parameters but lacks behavioral context like pagination, ordering, or error handling. The presence of an output schema elevates it from a 2 to a 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate and does so effectively. It explains both parameters: 'parent_id' filters child jobs by parent UUID, and 'tsg_id' specifies a TSG ID with a default value. This adds crucial meaning beyond the schema's bare titles ('Parent Id', 'Tsg Id'), though it doesn't explain TSG ID format or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 recent SCM jobs' - a specific verb ('List') and resource ('SCM jobs'). It distinguishes itself from siblings like 'scm_get_job_status' (which retrieves status for a specific job) by focusing on listing multiple jobs. However, it doesn't explicitly differentiate from other list tools like 'scm_list_addresses' 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.
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 filtering by parent_id is appropriate, or how this differs from other job-related tools like 'scm_get_job_status'. The parameter descriptions imply filtering capabilities but offer no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_log_forwarding_profilesA
List log forwarding profiles in a folder.
Log forwarding profiles define where firewall logs (traffic, threat, etc.) are sent — e.g. to Panorama, syslog, or HTTP servers.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 authentication requirements, rate limits, pagination behavior, error conditions, or what happens if the folder doesn't exist. For a tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences: purpose statement, explanatory context, and parameter documentation. It's front-loaded with the core functionality and wastes no words, though the parameter section could be slightly more integrated with the main description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (list operation with 2 parameters), no annotations, and the presence of an output schema, the description is adequate but has gaps. It explains parameters well and states the purpose clearly, but lacks behavioral context about authentication, errors, or pagination that would be helpful despite the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder' is clearly described as 'Folder name to scope the query,' and 'tsg_id' is explained as 'Optional TSG ID or named alias' with default behavior. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List'), resource ('log forwarding profiles'), and scope ('in a folder'), with the second sentence providing helpful context about what log forwarding profiles are. It distinguishes from siblings like 'scm_get_log_forwarding_profile' (singular get) and 'scm_create_log_forwarding_profile' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the folder parameter requirement and the explanation of what log forwarding profiles are, suggesting this is for retrieving configuration data. However, it doesn't explicitly state when to use this versus alternatives like 'scm_get_log_forwarding_profile' (for a specific profile) or 'scm_search' (for broader queries).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_nat_rulesB
List NAT rules in a folder.
Args: folder: Folder name to scope the query. position: Rule position — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| position | No | pre | |
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 list operation, implying read-only behavior, but doesn't clarify if it's safe (non-destructive), requires authentication, has rate limits, or returns paginated results. The mention of 'scope the query' hints at filtering, but lacks depth on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 details. Each sentence adds value without redundancy. However, the 'Args:' section could be integrated more seamlessly, and it lacks a concluding note on output or behavior, slightly affecting structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations, but with an output schema), the description is partially complete. It covers parameters well but misses behavioral context (e.g., safety, permissions) and doesn't leverage the output schema to hint at return values. For a list tool in a security management context, more guidance on usage and constraints would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters: 'folder' is explained as scoping the query, 'position' clarifies it's for rule position with default and options, and 'tsg_id' notes it's optional with a default value. This goes beyond the schema's basic titles, providing practical usage insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('NAT rules in a folder'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_get_nat_rule' or 'scm_create_nat_rule', which would require mentioning it's a bulk listing operation versus single retrieval or creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 folder access), compare to other list tools (e.g., 'scm_list_security_rules'), or specify use cases (e.g., for auditing or configuration review). 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.
scm_list_pbf_rulesA
List policy-based forwarding (PBF) rules in a folder.
PBF rules override routing table decisions — useful for directing specific traffic through a different egress interface or next-hop.
Args: folder: Folder name to scope the query. rulebase: Which rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| rulebase | No | pre | |
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 indicates this is a read operation ('List'), but does not specify whether it requires authentication, has rate limits, returns paginated results, or what the output format is. The mention of PBF rules' purpose adds some context, but key behavioral traits are missing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and concise: it starts with the core purpose, adds context about PBF rules, and then details parameters in a clear 'Args' section. Every sentence earns its place, with no redundant or vague information, 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.
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 annotations, but has an output schema), the description is fairly complete. It covers purpose, parameter semantics, and some usage context. However, it lacks details on behavioral aspects like authentication or output structure, which are partially mitigated by the presence of an output schema but still leave gaps 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides an 'Args' section that explains each parameter's purpose and defaults ('folder: Folder name to scope the query.', 'rulebase: Which rulebase — 'pre' (default) or 'post'.', 'tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.'). Since schema description coverage is 0%, this adds significant value beyond the bare schema, clarifying semantics and usage, though it could include examples or format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 policy-based forwarding (PBF) rules in a folder.' It specifies the verb ('List'), resource ('PBF rules'), and scope ('in a folder'), but does not explicitly differentiate it from sibling tools like 'scm_get_pbf_rule' or 'scm_create_pbf_rule', which would require more specific context 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some implied usage context by explaining what PBF rules are ('override routing table decisions — useful for directing specific traffic through a different egress interface or next-hop'), which helps understand when this tool might be relevant. However, it lacks explicit guidance on when to use this tool versus alternatives like 'scm_get_pbf_rule' or 'scm_list_nat_rules', 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.
scm_list_qos_rulesA
List QoS policy rules in a folder.
QoS rules classify and mark traffic for bandwidth management and quality-of-service enforcement.
Args: folder: Folder name to scope the query. rulebase: Which rulebase — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| rulebase | No | pre | |
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 ('List') and explains what QoS rules are for, but doesn't disclose critical behavioral traits like pagination, rate limits, authentication requirements, error conditions, or what the output contains. The description adds some context but 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized: a clear purpose statement, explanatory context about QoS rules, and a parameter section. Every sentence adds value, with no redundant information. It could be slightly more front-loaded by moving the parameter details after the purpose, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations, but has an output schema), the description is partially complete. It covers the purpose and parameters well, but lacks behavioral context (e.g., how results are returned, error handling). The output schema existence means return values don't need explanation, but other operational aspects are missing, making 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.
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: explains 'folder' scopes the query, 'rulebase' options ('pre' or 'post') with a default, and 'tsg_id' as optional with a default. This adds substantial value 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.
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 QoS policy rules in a folder' with additional context about what QoS rules do. It specifies the verb ('List'), resource ('QoS policy rules'), and scope ('in a folder'), making it distinct from other list tools like scm_list_addresses. However, it doesn't explicitly differentiate from scm_get_qos_rule, which appears to fetch a single rule rather than list multiple.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the parameter documentation (folder scoping, rulebase selection), suggesting when to use certain arguments. However, it lacks explicit guidance on when to choose this tool over alternatives like scm_get_qos_rule or scm_search, and doesn't mention prerequisites or exclusions. The context is clear but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_resource_typesA
List all resource type names valid for use with scm_search.
Returns the complete list of searchable resource type names that can be passed as the resource_types argument to scm_search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It clearly indicates this is a read-only operation that returns a list, but doesn't mention potential limitations like rate limits, authentication requirements, or whether the list is static or dynamic. It adds useful context about the relationship to scm_search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place. The first sentence states the action, the second explains the purpose and relationship to scm_search. No wasted words, front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a simple read-only tool with 0 parameters, 100% schema coverage, and an output schema exists, the description provides complete context. It explains what the tool does, why it's useful, and how it relates to other tools without needing to explain return values or parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 correctly states there are no parameters needed ('List all resource type names') and focuses on explaining the tool's purpose rather than parameter details, which is appropriate for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 resource type names') and the resource ('valid for use with scm_search'), distinguishing it from siblings which are mostly CRUD operations on specific resource types. It precisely defines what the tool returns and its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: to get 'searchable resource type names that can be passed as the resource_types argument to scm_search.' It provides clear context for its usage in relation to the sibling scm_search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_schedulesC
List schedule objects in a folder.
Schedules define time windows for use in security policy — recurring (weekly) or non-recurring (one-time) time ranges.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 it's likely read-only and non-destructive, but doesn't confirm this or disclose other behavioral traits like authentication needs, rate limits, pagination, 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.
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 context on schedules and a parameter section. Every sentence adds value without redundancy. However, the parameter explanations could be more integrated, and minor structural improvements could elevate it to a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (list operation), 2 parameters, no annotations, and an output schema (which handles return values), the description is moderately complete. It covers purpose and parameters but lacks behavioral details and usage guidelines. For a simple tool, this is adequate but with clear gaps, aligning with a minimum viable score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'folder' scopes the query and 'tsg_id' is optional with a default, but doesn't detail format, constraints, or examples (e.g., what a valid folder name looks like). Since it partially clarifies the two parameters but leaves gaps, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 schedule objects in a folder.' It specifies the verb ('List') and resource ('schedule objects'), and distinguishes schedules as 'recurring (weekly) or non-recurring (one-time) time ranges' used in security policy. However, it doesn't explicitly differentiate from sibling tools like 'scm_get_schedule' or 'scm_create_schedule', 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.
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 that schedules are for 'security policy' but doesn't specify use cases, prerequisites, or comparisons to other list tools (e.g., 'scm_list_addresses'). Without explicit when/when-not instructions or named alternatives, it falls short of higher scores.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_security_rulesB
List security policy rules in a folder.
Args: folder: Folder name to scope the query (e.g. 'All', 'Texas'). rulebase: Which rulebase to query — 'pre' (default) or 'post'. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| rulebase | No | pre | |
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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'), which implies it's non-destructive, but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or what happens if the folder doesn't exist. For a tool with no annotations, this leaves significant gaps in understanding how it behaves 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.
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 bullet-point-like 'Args' section that efficiently details parameters. There's no wasted text, and information is front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations, but has an output schema), the description is partially complete. It covers the purpose and parameters well, but lacks behavioral context (e.g., error handling, performance). The presence of an output schema means return values are documented elsewhere, but for a list operation with no annotations, more guidance 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.
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 three parameters: 'folder' is explained with examples ('All', 'Texas'), 'rulebase' clarifies options ('pre' or 'post') and default, and 'tsg_id' notes it's optional with a default. This goes beyond the schema's basic titles and types, providing practical context that aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 security policy rules in a folder.' It specifies the verb ('List') and resource ('security policy rules'), and distinguishes it from siblings like 'scm_get_security_rule' (singular) or 'scm_create_security_rule'. However, it doesn't explicitly differentiate from other list tools (e.g., 'scm_list_addresses'), which keeps 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying a folder scope and rulebase options, but it doesn't provide explicit guidance on when to use this tool versus alternatives. For example, it doesn't mention when to prefer 'scm_search' or other list tools, nor does it outline prerequisites or exclusions. The guidance is limited to parameter context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_security_zonesC
List security zones in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 disclosure. It states this is a list operation (implied read-only), but doesn't describe authentication requirements, rate limits, pagination behavior, error conditions, or what 'security zones' represent in this context. The description adds only basic operational context without rich behavioral traits needed 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose first. The two-sentence structure is efficient with zero waste. The Args section provides necessary parameter context without redundancy. However, the formatting with separate 'Args:' section slightly disrupts flow compared to integrated prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations, but with an output schema present, the description is minimally adequate. It covers the basic operation and parameters but lacks behavioral context, error handling, and deeper semantic explanations. The output schema reduces the need to describe return values, but for a list tool with no annotations, more operational guidance would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 semantic meaning for both parameters: 'folder' scopes the query, and 'tsg_id' is optional with a default value. However, it doesn't explain parameter formats (e.g., folder naming conventions), what TSG ID represents, or provide examples. The description adds value beyond the bare schema but doesn't fully compensate for the 0% coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 security zones in a folder' - a specific verb ('List') and resource ('security zones') with scoping ('in a folder'). It distinguishes from siblings like 'scm_get_security_zone' (singular get) and 'scm_create_security_zone' (create), though not explicitly mentioned. However, it doesn't fully differentiate from other list tools like 'scm_list_addresses' 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.
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 folder parameter scopes the query, but offers no explicit when-to-use rules, alternatives, or exclusions. For example, it doesn't clarify when to use this vs. 'scm_get_security_zone' for single zones or 'scm_search' for broader queries. The guidance is limited to basic parameter context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_service_groupsC
List service group objects in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 any behavioral traits like pagination, rate limits, authentication requirements, or what happens if the folder 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear purpose statement followed by parameter explanations. The two-sentence structure is efficient with minimal waste. However, the Args section formatting could be more integrated with the main description rather than appearing as separate documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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) but zero annotation coverage and 0% schema description coverage, the description provides basic purpose and parameter information but lacks important context. For a list operation with folder scoping, it should mention more about the expected output format, error conditions, or relationship to other list tools. 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.
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's Args section adds meaningful semantics: it explains 'folder' scopes the query and 'tsg_id' is optional with a default value. However, it doesn't explain what format 'folder' should be (path? name?), what TSG_ID represents, or what happens with null tsg_id. The description compensates somewhat but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List service group objects in a folder' which provides a specific verb ('List') and resource ('service group objects') with scoping ('in a folder'). It distinguishes from sibling tools like 'scm_get_service_group' (singular get) and 'scm_create_service_group' (create), but doesn't explicitly differentiate from other list tools like 'scm_list_services' or 'scm_list_address_groups'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 folder access), when not to use it, or how it differs from similar list operations for other resource types. The Args section explains parameters but doesn't provide usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_servicesC
List service objects in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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, but doesn't disclose any behavioral traits like pagination, rate limits, authentication needs, or what 'service objects' entail. 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.
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 parameter details. There's minimal waste, though the structure could be slightly improved by integrating parameter explanations more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (list operation), 2 parameters, no annotations, and an output schema (which handles return values), the description is minimally adequate. However, it lacks behavioral context and doesn't fully address the 0% schema coverage, making it incomplete for optimal agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for both parameters (e.g., 'folder' scopes the query, 'tsg_id' is optional with a default), which is helpful but doesn't fully compensate for the coverage gap—it lacks details like format constraints or what 'TSG ID' means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('service objects in a folder'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling list tools (e.g., scm_list_service_groups) 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.
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, exclusions, or compare it to other list tools (e.g., scm_list_service_groups) or search tools (e.g., scm_search), 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.
scm_list_snippetsA
List all configuration snippets in Strata Cloud Manager.
Snippets are reusable configuration elements that can be associated with folders or devices. They allow shared config to be applied to a subset of firewalls without full folder inheritance.
Args: tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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'), which is safe, but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or what happens if no snippets exist. The description adds some context about snippets but lacks 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.
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 explanatory context about snippets, then parameter details. Every sentence adds value without redundancy, and the structure is clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 optional parameter) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, context, and parameter semantics adequately. However, without annotations, it could benefit from more behavioral transparency (e.g., pagination hints) for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'tsg_id' with its purpose (TSG ID or named alias) and default behavior (defaults to SCM_TSG_ID), adding meaningful semantics beyond the schema's bare title. However, it doesn't explain what TSG ID represents or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 configuration snippets in Strata Cloud Manager'), and provides a helpful explanation of what snippets are and their purpose. It distinguishes this tool from sibling tools like 'scm_get_snippet' (which retrieves a specific snippet) and 'scm_create_snippet' (which creates new snippets).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by explaining snippets are reusable configuration elements for folders or devices, suggesting this tool is for inventory/overview purposes. However, it doesn't explicitly state when to use this versus alternatives like 'scm_get_snippet' for specific snippets or 'scm_search' for filtered searches, 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.
scm_list_syslog_server_profilesC
List syslog server profiles in a folder.
Syslog server profiles define syslog endpoints for log forwarding.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 but doesn't disclose behavioral traits like whether it's paginated, what permissions are required, rate limits, or what happens if the folder doesn't exist. The second sentence explains what syslog server profiles are, which adds some context but not operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences: purpose statement, context about syslog profiles, and parameter documentation. It's front-loaded with the main purpose first. The Args section is clear but could be more integrated into the flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations, the description provides basic parameter documentation but lacks behavioral context. The output schema exists (per context signals), so return values needn't be explained. However, for a list operation with no annotations, more guidance on usage and behavior would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters (folder and tsg_id) with brief explanations, including that tsg_id is optional with a default. However, it doesn't explain parameter formats (e.g., folder naming conventions) or provide examples, leaving gaps despite covering both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'syslog server profiles in a folder', providing specific action and scope. It distinguishes from siblings like 'scm_get_syslog_server_profile' (singular get) and 'scm_create_syslog_server_profile' (create), but doesn't explicitly differentiate from other list tools like 'scm_list_log_forwarding_profiles'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention when to use this versus 'scm_get_syslog_server_profile' (for single profile details) or 'scm_list_log_forwarding_profiles' (for related profiles). The description only states what it 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.
scm_list_tagsC
List tags in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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), but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, error conditions, or what 'list' entails (e.g., format, sorting). This leaves 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose ('List tags in a folder.'). The Args section is structured but could be more integrated. There's no wasted text, though it lacks depth in behavioral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (list operation), no annotations, 0% schema coverage, but with an output schema (which handles return values), the description is minimally adequate. It covers the basic purpose and parameters superficially, but misses behavioral context and usage guidance, making it incomplete for optimal agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 minimal semantics: 'folder' is described as 'Folder name to scope the query' and 'tsg_id' as 'Optional TSG ID or named alias' with a default. However, it doesn't explain what 'TSG' stands for, valid folder formats, or the impact of these parameters, leaving key details undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('tags in a folder'), making the purpose specific and understandable. It distinguishes itself from siblings like 'scm_get_tag' (singular) and 'scm_create_tag' (write operation), but doesn't explicitly contrast with other list tools like 'scm_list_addresses' 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.
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 listing tags within a specific folder, it doesn't mention prerequisites (e.g., folder existence), exclusions, or compare it to other list tools (e.g., 'scm_list_resource_types' for broader queries).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_tsg_profilesA
List configured TSG profiles available to the server.
Returns names and env var aliases for all configured TSGs. Use the 'name' value as the tsg_id argument in any other SCM tool.
The 'default' profile is used when tsg_id is omitted or null.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 the return format ('names and env var aliases') and the existence of a 'default' profile, which adds useful context. However, it doesn't mention behavioral aspects like whether this is a read-only operation, potential rate limits, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste: first states purpose, second explains output and usage, third clarifies default behavior. Each sentence adds essential information, and the structure is front-loaded with the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters, 100% schema coverage, and an output schema exists (so return values needn't be explained), the description is mostly complete. It covers purpose, usage, and output context well, though lacks behavioral details like safety or performance considerations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 appropriately doesn't discuss parameters, focusing instead on the tool's purpose and output. This meets the baseline of 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('configured TSG profiles available to the server'), and distinguishes from siblings by specifying it returns 'names and env var aliases' for TSGs specifically, unlike other list tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool: to get TSG profile names for use as 'tsg_id' arguments in other SCM tools, and clarifies that the 'default' profile is used when tsg_id is omitted. This provides clear context for usage versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_url_access_profilesA
List URL access (filtering) profiles in a folder.
URL access profiles define what happens when users visit websites in specific URL categories — allow, block, alert, continue, or override.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates this is a read operation ('List') and explains what URL access profiles do, but doesn't disclose behavioral traits like pagination, rate limits, authentication requirements, or error handling. The description adds some context about the resource type but lacks 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement, explanatory paragraph, and parameter details in a labeled 'Args' section. It's appropriately sized with no redundant information, though the explanatory paragraph could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 2 parameters with 0% schema coverage, the description does a good job explaining purpose, parameters, and resource context. It could be more complete by mentioning behavioral aspects like pagination or error cases, but covers the essentials adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder' is explained as 'Folder name to scope the query', and 'tsg_id' is described with its optional nature and default value. This adds meaningful context beyond the bare schema, though it doesn't cover all possible parameter nuances.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List URL access profiles'), resource ('in a folder'), and provides a detailed explanation of what URL access profiles are ('define what happens when users visit websites...'). It distinguishes from siblings like 'scm_get_url_access_profile' (singular get) and 'scm_create_url_access_profile' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the 'folder' parameter to scope the query, but doesn't explicitly state when to use this tool versus alternatives like 'scm_get_url_access_profile' for individual profiles or 'scm_list_url_categories' for related resources. No explicit 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.
scm_list_url_categoriesC
List custom URL categories in a folder.
Custom URL categories group specific URLs or domains for use in URL filtering profiles and security policies.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 'List' operation, implying it's read-only and non-destructive, but doesn't explicitly confirm this. It doesn't describe any behavioral traits like pagination, rate limits, authentication requirements, error conditions, or what the output looks like. The description adds some context about URL categories but lacks crucial 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.
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, adds context about URL categories, then lists parameters clearly. There's no wasted text, and the information is front-loaded. A point is deducted because the parameter documentation could be more integrated with the main description rather than in a separate 'Args:' block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 handles return values), no annotations, and 2 parameters with 0% schema coverage, the description does an adequate job. It covers the purpose and parameters, but lacks behavioral context (e.g., read-only nature, error handling). For a simple list tool, this is minimally viable but has clear gaps in operational guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an 'Args:' section that documents both parameters (folder and tsg_id), adding meaning beyond the input schema which has 0% description coverage. It explains that 'folder' scopes the query and that 'tsg_id' is optional with a default. However, it doesn't provide details like valid folder formats, what TSG ID represents, or examples, leaving some semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 custom URL categories in a folder.' It specifies the verb ('List') and resource ('custom URL categories'), and the second sentence provides additional context about what URL categories are used for. However, it doesn't explicitly differentiate this tool from sibling 'list' tools (e.g., scm_list_url_access_profiles), 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.
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 the tool lists categories 'in a folder' and explains what URL categories are used for, but offers no explicit guidance on when to use this tool versus alternatives (e.g., scm_get_url_category for a single category, or other list tools). There's no mention of prerequisites, exclusions, or specific scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_vulnerability_profilesC
List vulnerability protection profiles in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 it's likely read-only, but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, error handling, or what 'list' entails (e.g., full details vs summaries). This leaves significant gaps for an agent to understand how to invoke it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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:' section adds parameter details without redundancy. While efficient, the lack of usage or behavioral context means some sentences might be missing rather than overly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations, the description provides basic purpose and parameter hints but lacks usage guidelines, behavioral details, and output explanation (though an output schema exists, so return values needn't be described). For a list tool with low schema support, 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.
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: 'folder' scopes the query, and 'tsg_id' is optional with a default. However, it doesn't explain parameter formats (e.g., folder naming conventions), what TSG ID represents, or how these affect the query, leaving the agent with incomplete guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('vulnerability protection profiles in a folder'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_get_vulnerability_profile' or 'scm_list_tsg_profiles', 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.
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., 'scm_get_vulnerability_profile' for individual profiles, 'scm_list_tsg_profiles' for TSG profiles), there's no indication of context, prerequisites, or exclusions for this list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_list_wildfire_profilesC
List WildFire antivirus profiles in a folder.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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'), implying it's non-destructive, but doesn't disclose behavioral traits such as pagination, rate limits, authentication needs, or what happens if the folder doesn't exist. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose in the first sentence, followed by parameter details. There's no wasted text, making it efficient, though it could be slightly more structured (e.g., bullet points for parameters).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 2 parameters), no annotations, and an output schema present (which likely covers return values), the description is minimally complete. It explains the purpose and parameters but lacks behavioral context and usage guidance, making it adequate but with clear gaps for an agent to rely on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for both parameters: 'folder' is explained as 'Folder name to scope the query', and 'tsg_id' as 'Optional TSG ID or named alias' with a default. This compensates partially but lacks 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.
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 ('WildFire antivirus profiles in a folder'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from similar list tools for other resource types (e.g., scm_list_addresses, scm_list_services) beyond mentioning the specific resource, which is adequate but not fully differentiated from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by specifying that the query is scoped to a folder, but it doesn't explain when to use this tool versus alternatives (e.g., other list tools for different resources or search tools), nor does it mention prerequisites or exclusions. This leaves the agent with little 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.
scm_list_zone_protection_profilesA
List zone protection profiles in a folder.
Zone protection profiles defend security zones against DoS/flood attacks, port scans, and other reconnaissance activity.
Args: folder: Folder name to scope the query. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| tsg_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 is a list operation, implying it's read-only and non-destructive, which is adequate but basic. It doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or error handling, leaving gaps for a tool with potential complexity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 explanatory context and parameter details. There's minimal waste, though the parameter section could be slightly more integrated into the flow for optimal structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters, no nested objects) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, context, and parameters adequately, though it could benefit from more behavioral details given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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: 'folder' is explained as 'Folder name to scope the query', and 'tsg_id' is clarified as 'Optional TSG ID or named alias' with a default. This goes beyond the schema's basic types, providing useful context for both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('zone protection profiles in a folder'), making the purpose specific and understandable. It also explains what zone protection profiles do, adding context. However, it doesn't explicitly differentiate from sibling tools like 'scm_get_zone_protection_profile' (singular vs. list), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying 'in a folder' and providing parameter details, suggesting it's for listing profiles within a specific scope. However, it lacks explicit guidance on when to use this versus alternatives (e.g., 'scm_get_zone_protection_profile' for a single profile or 'scm_list_tsg_profiles' for broader queries), leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_move_security_ruleB
Move a security rule to a different position in the rulebase.
Args: rule_id: UUID of the rule to move. destination: Where to move the rule — 'top', 'bottom', 'before', or 'after'. folder: Folder context for the move operation. destination_rule: UUID of the pivot rule (required when destination is 'before' or 'after'). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| destination | Yes | ||
| folder | Yes | ||
| destination_rule | No | ||
| tsg_id | No |
TDQS
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 ('move') but doesn't explain whether this requires specific permissions, if it's destructive or reversible, what happens to rule order, or any rate limits. For a mutation tool with zero annotation coverage, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: a clear purpose statement followed by a well-organized parameter list. Every sentence adds value, with no redundant information. The parameter explanations are front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters with 0% schema coverage and no output schema, the description does a decent job explaining parameters but lacks crucial context. It doesn't cover behavioral aspects like permissions, side effects, or return values. For a mutation tool with no annotations, this leaves the agent with incomplete information about how to use it safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explanations for all 5 parameters: rule_id as a UUID, destination with its four options, folder context, destination_rule's conditional requirement, and tsg_id's default. This adds substantial value beyond the bare schema, though it doesn't cover all edge cases like format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Move a security rule to a different position in the rulebase.' It specifies the verb ('move'), resource ('security rule'), and scope ('rulebase'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'scm_update_security_rule' or 'scm_create_security_rule', 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how this operation relates to other security rule management tools in the sibling list. 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.
scm_searchA
Search for objects and rules by name across all (or selected) SCM resource types.
Performs a case-insensitive substring search by default. Returns a dict keyed by resource type containing all matching objects.
Args: query: Name to search for (substring match by default). folder: Folder to search in (default 'All'). Ignored for folders/snippets which are always global. resource_types: Optional list of resource type names to limit the search. Omit to search all types. Valid values: folders, snippets, addresses, address_groups, services, service_groups, tags, log_forwarding_profiles, http_server_profiles, syslog_server_profiles, applications, application_groups, application_filters, schedules, external_dynamic_lists, security_rules, decryption_rules, authentication_rules, nat_rules, pbf_rules, qos_rules, security_zones, anti_spyware_profiles, wildfire_profiles, vulnerability_profiles, url_access_profiles, url_categories, dns_security_profiles, decryption_profiles, file_blocking_profiles, zone_protection_profiles. exact_match: If True, only return objects whose name exactly equals query (case-sensitive). Default False. include_rulebases: For rule types, which rulebases to search. Default ['pre', 'post']. Pass ['pre'] or ['post'] to limit. tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| folder | No | All | |
| resource_types | No | ||
| exact_match | No | ||
| include_rulebases | No | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behaviors: case-insensitive substring search by default, returns dict keyed by resource type, folder parameter ignored for certain resource types, and default values for multiple parameters. It doesn't mention error conditions, rate limits, or authentication requirements, but provides substantial 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by detailed parameter explanations. While comprehensive, it's appropriately sized for a complex search tool with 6 parameters. Some sentences could be more concise (e.g., the resource_types list is lengthy but necessary), but overall it's front-loaded with essential information and avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no annotations, no output schema), the description provides substantial context: clear purpose, parameter semantics, default behaviors, and return format. It lacks information about error handling, pagination, performance characteristics, and exact output structure details, but covers the essential operational aspects well for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 detailed semantics for all parameters: query (substring match behavior), folder (default and exceptions), resource_types (complete valid values list), exact_match (case-sensitivity implications), include_rulebases (default and options), and tsg_id (default value). Each parameter's purpose and behavior is clearly explained beyond basic schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('Search for objects and rules by name') and resources ('across all (or selected) SCM resource types'), distinguishing it from siblings that are mostly create/get/list/update/delete operations for specific resource types. It explicitly mentions searching across multiple resource types, which is unique among the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through parameter explanations (e.g., 'Omit to search all types', 'Default False', 'Defaults to SCM_TSG_ID'), but lacks explicit guidance on when to use this tool versus alternatives like specific list_* tools. It doesn't mention prerequisites, performance considerations, or clear when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_addressB
Update an existing address object.
Args: address_id: UUID of the address object to update. name: New name (optional). ip_netmask: New CIDR (optional). ip_range: New IP range (optional). ip_wildcard: New wildcard mask (optional). fqdn: New FQDN (optional). description: New description (optional). tag: New tag list (optional — replaces existing tags). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| address_id | Yes | ||
| name | No | ||
| ip_netmask | No | ||
| ip_range | No | ||
| ip_wildcard | No | ||
| fqdn | No | ||
| description | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but provides minimal behavioral context. It mentions that 'tag' parameter 'replaces existing tags', which is useful, but doesn't cover critical aspects like authentication requirements, rate limits, error conditions, or what happens to unspecified fields. For a mutation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement followed by parameter documentation. Each parameter explanation is brief and focused. While the parameter list is lengthy, each entry earns its place by providing necessary semantic context not available in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 9 parameters, no annotations, and no output schema, the description is incomplete. It covers parameter semantics well but lacks critical behavioral context about permissions, side effects, error handling, and response format. The agent would struggle 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.
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 explanations for all 9 parameters, including optionality notes and the important detail that 'tag' replaces existing tags. The default behavior for tsg_id is also documented. 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.
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 'address object', making the purpose specific. It distinguishes from sibling tools like scm_create_address and scm_delete_address by specifying 'existing address object', though it doesn't explicitly contrast with other update tools like scm_update_address_group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, dependencies, or when-not-to-use scenarios. It fails to differentiate from other update tools in the sibling list, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_address_groupB
Update an existing address group.
Args: group_id: UUID of the address group to update. name: New name (optional). static: New list of static addresses (optional). dynamic_filter: New dynamic filter expression (optional). description: New description (optional). tag: New tag list (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| name | No | ||
| static | No | ||
| dynamic_filter | No | ||
| description | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 'Update' implies a mutation operation, the description doesn't mention required permissions, whether changes are reversible, what happens to unspecified fields, or any rate limits. It provides basic parameter information but lacks crucial behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by parameter explanations. Each parameter explanation is brief but informative. The formatting with 'Args:' section helps readability, though some sentences could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 incomplete. It covers parameters adequately but lacks crucial information about permissions, side effects, error conditions, and what the tool returns. The agent would struggle to use this safely without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides valuable parameter semantics by explaining each parameter's purpose and optionality. It clarifies that group_id is required and other parameters are optional updates, and provides helpful context like 'UUID of the address group' and 'Defaults to SCM_TSG_ID' for tsg_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 address group', making the purpose unambiguous. It distinguishes from sibling tools like 'scm_create_address_group' by specifying it's for updates, but doesn't explicitly contrast with other update tools like 'scm_update_address'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 including other update operations (scm_update_address, scm_update_application, etc.), there's no indication of when this specific address group update is appropriate versus other update operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_applicationB
Update a custom application object.
Args: app_id: UUID of the application to update. name: New name (optional). description: New description (optional). risk: New risk level 1-5 (optional). ports: New port list (optional — replaces existing). tag: New tag list (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | ||
| name | No | ||
| description | No | ||
| risk | No | ||
| ports | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 a custom application object' which implies mutation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields (partial vs full update). The note about ports 'replaces existing' is helpful but 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The parameter explanations are organized in a clear list format. Every sentence adds value, though the structure could be slightly more polished (e.g., separating the tsg_id default note from the parameter list).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It covers parameter semantics well but lacks critical behavioral context (permissions, side effects, response format) and usage guidance. The agent would struggle to use this tool correctly without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 7 parameters: identifies app_id as UUID, explains optionality, clarifies that ports 'replaces existing', and gives context for risk level range (1-5) and tsg_id default. This adds substantial value beyond the bare schema, though some details like port format or tag structure remain unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'custom application object', which is specific and unambiguous. It distinguishes from sibling tools like 'scm_create_application' (create vs update) and 'scm_get_application' (read vs update), though it doesn't explicitly mention these distinctions in the description text itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 application), when not to use it, or refer to sibling tools like 'scm_create_application' for creation or 'scm_delete_application' for deletion. 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.
scm_update_application_groupB
Update an application group.
Args: group_id: UUID of the application group to update. name: New name (optional). members: New members list (optional — replaces existing). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| name | No | ||
| members | No | ||
| tsg_id | No |
TDQS
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 'Update an application group' implying a mutation, but lacks details on permissions needed, whether changes are reversible, rate limits, or what happens to unspecified fields. The note that members 'replaces existing' is helpful but 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.
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 section is structured clearly, though the note about members replacing existing could be integrated more smoothly. No wasted sentences, but minor improvements in flow are possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations, and no output schema, the description is incomplete. It covers parameters well but lacks behavioral context (e.g., side effects, error handling), usage guidelines, and output information, leaving gaps for an AI agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters: group_id (UUID to update), name (new name, optional), members (new list, optional, replaces existing), and tsg_id (optional TSG ID/alias with default). This adds significant value beyond the bare schema, though it could specify format details (e.g., UUID pattern).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'application group', specifying what the tool does. It distinguishes from siblings like 'scm_create_application_group' and 'scm_delete_application_group' by focusing on modification rather than creation or deletion, though it doesn't explicitly contrast with other update tools (e.g., scm_update_address_group).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., existing group_id), compare to other update tools in the sibling list, or specify use cases. The description only lists parameters without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_authentication_ruleB
Update an existing authentication rule.
Args: rule_id: UUID of the authentication rule to update. name: New name (optional). source_zone: New source zones (optional). destination_zone: New destination zones (optional). authentication_enforcement: New enforcement profile (optional). source: New source addresses (optional). destination: New destination addresses (optional). source_user: New source users/groups (optional). description: New description (optional). tag: New tag list (optional). disabled: New disabled state (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| name | No | ||
| source_zone | No | ||
| destination_zone | No | ||
| authentication_enforcement | No | ||
| source | No | ||
| destination | No | ||
| source_user | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| tsg_id | No |
TDQS
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 context. It states this is an update operation (implying mutation) but doesn't disclose critical traits like required permissions, whether changes are reversible, side effects (e.g., rule reordering), rate limits, or what happens to unspecified fields (partial vs. full updates). For a mutation tool with 12 parameters, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. The first sentence states the core purpose, followed by a clear 'Args:' section listing all parameters with concise explanations. There's no redundant information, though the parameter descriptions could be slightly more detailed given the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, mutation operation, no annotations, no output schema), the description is incomplete. It covers parameters but misses critical context: no behavioral transparency (permissions, side effects), no usage guidelines, no error handling information, and no explanation of what the update returns. For a security configuration tool, this 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant value beyond the schema, which has 0% description coverage. It provides brief explanations for all 12 parameters (e.g., 'UUID of the authentication rule to update', 'New name (optional)', 'Optional TSG ID or named alias'), clarifying their purpose and optionality. However, it lacks format details (e.g., UUID format, zone naming conventions) and doesn't explain interactions between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('an existing authentication rule'), making the purpose immediately understandable. It distinguishes from sibling tools like 'scm_create_authentication_rule' and 'scm_delete_authentication_rule' by specifying it's for updating existing rules, though it doesn't explicitly contrast with other update tools (e.g., 'scm_update_security_rule').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 rule ID), when not to use it (e.g., for creating new rules), or how it relates to sibling tools like 'scm_create_authentication_rule' or 'scm_get_authentication_rule'. 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.
scm_update_decryption_ruleB
Update an existing decryption rule.
Args: rule_id: UUID of the decryption rule to update. name: New name (optional). action: New action (optional). source_zone: New source zones (optional). destination_zone: New destination zones (optional). source: New source addresses (optional). destination: New destination addresses (optional). service: New services (optional). profile: New decryption profile (optional). description: New description (optional). tag: New tag list (optional). disabled: New disabled state (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| name | No | ||
| action | No | ||
| source_zone | No | ||
| destination_zone | No | ||
| source | No | ||
| destination | No | ||
| service | No | ||
| profile | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| tsg_id | No |
TDQS
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 describe what happens if the rule doesn't exist, whether changes are reversible, what permissions are required, or any side effects. For a mutation tool with 13 parameters and no annotation coverage, 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.
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 parameter list. Every sentence (and parameter line) earns its place by providing essential information. It could be slightly more concise by integrating parameter details more fluidly, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (13 parameters, mutation operation, no annotations, no output schema), the description is incomplete. It covers parameters superficially but lacks behavioral context, error handling, return values, and usage guidelines. For a tool that modifies security rules, this is inadequate 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.
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 13 parameters with brief explanations (e.g., 'New name (optional)', 'New action (optional)'), adding meaning beyond the bare schema. However, it doesn't explain parameter interactions, valid values (e.g., what 'action' can be), or format details, preventing a perfect score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 decryption rule.' It specifies the verb ('update') and resource ('decryption rule'), making the action unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'scm_create_decryption_rule' or 'scm_delete_decryption_rule' beyond the 'update' verb, 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.
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 rule), exclusions, or compare it to sibling tools like 'scm_create_decryption_rule' or 'scm_delete_decryption_rule'. The only implied usage is updating rules, but this is too vague for effective decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_external_dynamic_listC
Update an existing external dynamic list.
Args: edl_id: UUID of the EDL to update. name: New name (optional). list_type: New type/source configuration dict (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| edl_id | Yes | ||
| name | No | ||
| list_type | No | ||
| tsg_id | No |
TDQS
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 updates an EDL, implying a mutation, but doesn't describe permissions required, whether changes are reversible, rate limits, or what happens to unspecified fields. This leaves significant gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose followed by parameter details in a structured 'Args:' section. Each sentence adds value without redundancy, though the parameter explanations could be more detailed to improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of updating an EDL, no annotations, no output schema, and low schema description coverage, the description is incomplete. It doesn't cover behavioral aspects like error handling, response format, or system impacts, making it inadequate for safe and effective tool invocation by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 brief explanations for each parameter (e.g., 'UUID of the EDL to update', 'New name (optional)'), adding some meaning beyond the schema. However, it lacks details on formats (e.g., what a 'list_type' dict contains) or constraints, only partially compensating for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'existing external dynamic list', making the purpose specific and understandable. It distinguishes from sibling tools like 'scm_create_external_dynamic_list' by focusing on updates rather than creation, though it doesn't explicitly contrast with other update tools (e.g., 'scm_update_address').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, such as needing an existing EDL, or compare it to other update tools in the sibling list. Usage is implied through the tool name and description but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_folderA
Update an existing folder.
Fetch the folder first, modify the returned object, then pass it to this tool. At least one of name or description must be provided.
Args: folder_id: UUID of the folder to update. name: New name for the folder (optional). description: New description (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_id | Yes | ||
| name | No | ||
| description | No | ||
| tsg_id | No |
TDQS
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 mutation tool ('update'), specifies a workflow requirement (fetch-modify-pass), and notes a constraint (at least one optional field must be provided). However, it lacks details on permissions, error conditions, or what happens to unspecified fields during update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and concise. It starts with the core purpose, provides usage steps, states a constraint, and lists parameters with brief explanations. Every sentence adds value without redundancy, and it is front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 4 parameters, the description is moderately complete. It covers purpose, usage steps, constraints, and parameter semantics, but lacks behavioral details like error handling or response format. For a mutation tool with no structured safety hints, more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all four parameters: folder_id (UUID of folder to update), name (new name, optional), description (new description, optional), and tsg_id (optional TSG ID with default). This adds meaningful context beyond the schema's basic titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 folder.' It specifies the verb ('update') and resource ('folder'), but does not differentiate it from sibling update tools like scm_update_address or scm_update_security_rule, which have similar naming patterns but target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use this tool: 'Fetch the folder first, modify the returned object, then pass it to this tool.' It also specifies a prerequisite: 'At least one of name or description must be provided.' However, it does not explicitly mention when not to use it or name alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_nat_ruleB
Update an existing NAT rule.
Args: rule_id: UUID of the NAT rule to update. name: New name (optional). source_zone: New source zones (optional). destination_zone: New destination zones (optional). source: New source addresses (optional). destination: New destination addresses (optional). service: New service (optional). source_translation: New source translation config (optional). destination_translation: New destination translation config (optional). description: New description (optional). tag: New tag list (optional). disabled: New disabled state (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| name | No | ||
| source_zone | No | ||
| destination_zone | No | ||
| source | No | ||
| destination | No | ||
| service | No | ||
| source_translation | No | ||
| destination_translation | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| tsg_id | No |
TDQS
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 describe what happens on success/failure, whether changes are immediate or require a commit, permission requirements, or error conditions. This leaves significant gaps for a mutation tool with 13 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by a parameter list. It's appropriately sized for a tool with many parameters, though the parameter explanations are brief and could be more informative. No unnecessary information is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (13 parameters, mutation operation), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like side effects, authentication needs, or response format. While it documents parameters well, it misses critical context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides a comprehensive parameter list with brief explanations (e.g., 'UUID of the NAT rule to update', 'New name (optional)'), adding meaningful context beyond the schema's 0% description coverage. It clarifies optionality and default values (e.g., 'Defaults to SCM_TSG_ID'), though it doesn't explain parameter formats or constraints in detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 NAT rule'), making the purpose unambiguous. It distinguishes this from sibling tools like 'scm_create_nat_rule' and 'scm_delete_nat_rule' by specifying it's for updates, though it doesn't explicitly contrast with other update tools like 'scm_update_security_rule'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 modifying existing NAT rules, it doesn't mention prerequisites (e.g., needing the rule_id), constraints, or when to choose creation or deletion tools instead. The sibling list includes many update tools, but no differentiation is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_pbf_ruleB
Update an existing PBF rule.
Args: rule_id: UUID of the PBF rule to update. name: New name (optional). source_zone: New source zones (optional). action: New forwarding action dict (optional). source: New source addresses (optional). destination: New destination addresses (optional). application: New applications (optional). service: New services (optional). description: New description (optional). tag: New tag list (optional). disabled: New disabled state (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| name | No | ||
| source_zone | No | ||
| action | No | ||
| source | No | ||
| destination | No | ||
| application | No | ||
| service | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| tsg_id | No |
TDQS
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 updates a rule, implying mutation, but doesn't disclose behavioral traits such as required permissions, whether changes are reversible, error handling, 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.
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 a structured list of parameters. Each parameter entry is brief and relevant, with no wasted sentences. Minor improvements could include grouping related parameters for better readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, mutation tool), lack of annotations, and no output schema, the description is incomplete. It covers parameters but misses critical context: behavioral transparency, usage guidelines, and output details. For a tool with this many parameters and no structured support, more comprehensive guidance is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists all 12 parameters with brief explanations (e.g., 'New name (optional)'), adding meaning beyond the input schema, which has 0% description coverage. It clarifies optionality and provides a default for 'tsg_id'. However, it doesn't explain parameter interactions or constraints, leaving some semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 PBF rule.' It specifies the verb ('Update') and resource ('PBF rule'), making the action explicit. However, it doesn't distinguish this from sibling tools like 'scm_update_nat_rule' or 'scm_update_security_rule' beyond the resource name, missing explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., rule existence), exclusions, or comparisons to sibling tools like 'scm_create_pbf_rule' or 'scm_delete_pbf_rule'. 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.
scm_update_qos_ruleB
Update an existing QoS rule.
Args: rule_id: UUID of the QoS rule to update. name: New name (optional). action: New QoS action dict (optional). source_zone: New source zones (optional). destination_zone: New destination zones (optional). source: New source addresses (optional). destination: New destination addresses (optional). application: New applications (optional). service: New services (optional). description: New description (optional). tag: New tag list (optional). disabled: New disabled state (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| name | No | ||
| action | No | ||
| source_zone | No | ||
| destination_zone | No | ||
| source | No | ||
| destination | No | ||
| application | No | ||
| service | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| tsg_id | No |
TDQS
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 updates an existing rule, implying a mutation, but fails to mention critical aspects like required permissions, whether updates are atomic or partial, error handling, or system impact. This leaves significant gaps for an agent to understand the tool's behavior safely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by a parameter list, making it easy to scan. It avoids unnecessary fluff, but the parameter explanations are somewhat repetitive (e.g., 'New ... (optional)'), slightly reducing efficiency without harming clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 13 parameters, no annotations, and no output schema, the description is incomplete. It covers parameters well but lacks behavioral context (e.g., side effects, error responses), usage guidelines, and output details, leaving the agent under-informed about critical operational aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given the schema description coverage is 0%, the description compensates fully by listing all 13 parameters with brief explanations (e.g., 'New name (optional)', 'UUID of the QoS rule to update'). It clarifies optionality and provides a default for 'tsg_id', adding substantial meaning beyond the bare schema, which only shows types and titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'Update an existing QoS rule' with a specific verb ('Update') and resource ('QoS rule'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'scm_create_qos_rule' or 'scm_get_qos_rule' beyond the 'update' action, 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.
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 'scm_create_qos_rule' for creation or 'scm_get_qos_rule' for retrieval. It mentions a default for 'tsg_id' but lacks context on prerequisites, error conditions, or typical use cases, 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.
scm_update_scheduleB
Update an existing schedule object.
Args: schedule_id: UUID of the schedule to update. name: New name (optional). schedule_type: New schedule definition dict (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes | ||
| name | No | ||
| schedule_type | No | ||
| tsg_id | No |
TDQS
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 describe what happens on success/failure, whether changes are reversible, permission requirements, rate limits, or response format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear purpose statement followed by a structured parameter explanation. The 'Args' section is well-organized, though the title 'null' is wasted space. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers parameters adequately but lacks critical behavioral context like error conditions, side effects, or what the tool returns. Given the complexity of updating a schedule object, more guidance is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explaining all 4 parameters in the 'Args' section: it clarifies that 'schedule_id' is a required UUID, 'name' and 'schedule_type' are optional fields for updates, and 'tsg_id' has a default value. 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.
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 ('an existing schedule object'), making the purpose specific and understandable. It distinguishes from sibling tools like 'scm_create_schedule' by specifying 'existing', but doesn't explicitly differentiate from other update tools like 'scm_update_address' 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.
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 schedule), exclusions, or compare with related tools like 'scm_get_schedule' for checking current values or 'scm_delete_schedule' for removal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_security_ruleB
Update an existing security rule.
Args: rule_id: UUID of the security rule to update. name: New name (optional). action: New action — 'allow' or 'deny' (optional). source_zone: New source zones (optional). destination_zone: New destination zones (optional). source: New source addresses (optional). destination: New destination addresses (optional). application: New applications (optional). service: New services (optional). profile_setting: New profile setting dict (optional). log_setting: New log forwarding profile (optional). description: New description (optional). tag: New tag list (optional). disabled: New disabled state (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | ||
| name | No | ||
| action | No | ||
| source_zone | No | ||
| destination_zone | No | ||
| source | No | ||
| destination | No | ||
| application | No | ||
| service | No | ||
| profile_setting | No | ||
| log_setting | No | ||
| description | No | ||
| tag | No | ||
| disabled | No | ||
| tsg_id | No |
TDQS
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 context. It states this is an update operation (implying mutation) but doesn't disclose permission requirements, whether changes are reversible, rate limits, error conditions, or what happens to unspecified fields (partial vs. full updates). For a mutation tool with 15 parameters, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by a comprehensive parameter list. Every sentence earns its place, though the parameter section is lengthy (necessary given the parameter count). It could be slightly more front-loaded with critical behavioral information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (15 parameters, mutation operation, no annotations, no output schema), the description is partially complete. It excels at parameter semantics but lacks critical behavioral context for a mutation tool. The absence of output schema means the description should ideally mention what the tool returns, but it doesn't.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing clear semantic explanations for all 15 parameters. Each parameter is listed with brief but meaningful context (e.g., 'New action — "allow" or "deny"', 'New source zones', 'Optional TSG ID or named alias'), adding substantial value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 security rule', making the purpose specific and understandable. It distinguishes itself from creation tools (e.g., scm_create_security_rule) by focusing on modification, but doesn't explicitly differentiate from other update tools like scm_update_address or scm_update_nat_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 rule_id from scm_get_security_rule), when not to use it (e.g., for bulk updates), or how it differs from similar update tools for other resource types 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.
scm_update_security_zoneB
Update an existing security zone.
Args: zone_id: UUID of the security zone to update. name: New name (optional). enable_user_id: New User-ID enabled state (optional). dos_profile: New DoS protection profile name (optional). network_layer3: New list of Layer 3 interfaces (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | ||
| name | No | ||
| enable_user_id | No | ||
| dos_profile | No | ||
| network_layer3 | No | ||
| tsg_id | No |
TDQS
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 states it's an update operation (implying mutation) but doesn't disclose critical traits like required permissions, whether changes are reversible, potential side effects, error conditions, or response format. The default value hint for tsg_id is useful but 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a brief purpose statement followed by a parameter list. Every sentence adds value, and there's no redundant information. However, the parameter explanations could be slightly more integrated rather than listed as bullet points, but overall it's appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It covers parameters well but lacks behavioral context (e.g., what happens on success/failure, authentication needs, rate limits). The agent would struggle to use this tool safely without additional documentation or trial-and-error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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—and it does by explaining all 6 parameters with clear semantics (e.g., 'UUID of the security zone to update', 'New name (optional)', 'Defaults to SCM_TSG_ID'). This adds substantial value beyond the bare schema, though it doesn't provide format examples or constraints beyond what's implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 security zone', making the purpose unambiguous. It distinguishes from sibling tools like 'scm_create_security_zone' by specifying it updates existing zones rather than creating new ones. However, it doesn't explicitly contrast with other update tools (e.g., scm_update_address) 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.
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 zone_id), conditions for use, or compare with similar update tools in the sibling list. The agent must infer usage from the tool name and parameter descriptions alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_serviceA
Update a service object's name, description, or tags.
To change the protocol or port, delete and recreate the service.
Args: service_id: UUID of the service object to update. name: New name (optional). description: New description (optional). tag: New tag list (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | Yes | ||
| name | No | ||
| description | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 this is an update operation (implying mutation) and mentions a constraint about protocol/port changes. However, it doesn't cover critical behavioral aspects like required permissions, whether changes are reversible, error conditions, or response format. 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.
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 usage guidance, then parameter details in a clear 'Args:' section. It's appropriately sized with no wasted sentences, though the parameter section is slightly verbose given the schema exists, keeping it from a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is incomplete. It covers purpose, usage constraints, and parameters, but lacks behavioral details (e.g., permissions, error handling) and output information. This is adequate but has 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.
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: it lists all 5 parameters, explains their purposes (e.g., 'UUID of the service object to update'), indicates optionality, and provides default info for 'tsg_id'. This goes well beyond the schema, but doesn't cover format details (e.g., UUID format, tag list structure), preventing a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 service object's name, description, or tags.' It specifies the verb ('update') and the resource ('service object'), and lists the fields that can be modified. However, it doesn't explicitly differentiate from sibling tools like 'scm_update_service_group' or 'scm_create_service', 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage guidance: 'To change the protocol or port, delete and recreate the service.' This indicates when NOT to use this tool and suggests an alternative action (delete and recreate). However, it doesn't mention when to use this tool versus other update tools (e.g., 'scm_update_service_group') or prerequisites, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_service_groupB
Update a service group.
Args: group_id: UUID of the service group to update. name: New name (optional). members: New members list (optional — replaces existing members). tag: New tag list (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| name | No | ||
| members | No | ||
| tag | No | ||
| tsg_id | No |
TDQS
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 notes that 'members' parameter 'replaces existing members', which is useful behavioral context. However, it lacks critical details like required permissions, whether changes are reversible, error conditions, or what happens to unspecified fields. 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.
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. Every sentence adds value: the first establishes the action, and the parameter descriptions provide necessary semantic context without redundancy. The formatting with 'Args:' section enhances readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations, and no output schema, the description is incomplete. While it covers parameter semantics well, it lacks crucial behavioral context (permissions, side effects, error handling) and provides no information about return values or system state changes after execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate fully. It successfully explains all 5 parameters: identifies 'group_id' as UUID, clarifies optionality for 'name', 'members', 'tag', and 'tsg_id', specifies that 'members' replaces existing members, and provides default context for 'tsg_id'. 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.
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 ('service group'), making the purpose specific and understandable. It distinguishes from siblings like 'scm_create_service_group' (creation) and 'scm_delete_service_group' (deletion), though it doesn't explicitly differentiate from other 'scm_update_*' tools that modify 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.
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., existing service group), when not to use it, or compare it to similar update tools for other resources. 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.
scm_update_snippetB
Update an existing snippet's metadata.
Args: snippet_id: UUID of the snippet to update. name: New name (optional). description: New description (optional). labels: New label list (optional — replaces existing labels). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| snippet_id | Yes | ||
| name | No | ||
| description | No | ||
| labels | No | ||
| tsg_id | No |
TDQS
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 but doesn't cover critical aspects like required permissions, whether changes are reversible, error handling, or response format. The mention that 'labels' replaces existing labels is useful 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.
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 parameter list. Each sentence earns its place, though the parameter explanations could be slightly more concise (e.g., combining optional notes).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 partially complete. It covers parameters well but lacks behavioral context (e.g., side effects, auth needs) and output details. Given the complexity, 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.
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 documenting all 5 parameters with clear semantics: 'snippet_id' as UUID, optional fields for 'name', 'description', and 'labels' (with the crucial note that it replaces existing labels), and 'tsg_id' with its default. 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.
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 ('an existing snippet's metadata'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'scm_update_tag' or 'scm_update_address', 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.
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., snippet must exist), exclusions, or comparisons to tools like 'scm_create_snippet' or 'scm_delete_snippet', leaving usage context implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_update_tagC
Update an existing tag.
Args: tag_id: UUID of the tag to update. name: New name (optional). color: New color (optional). comments: New comments (optional). tsg_id: Optional TSG ID or named alias. Defaults to SCM_TSG_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | ||
| name | No | ||
| color | No | ||
| comments | No | ||
| tsg_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden but only states the action without disclosing behavioral traits like permissions required, whether updates are reversible, rate limits, or error handling. It mentions a default for 'tsg_id', but this is minimal context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose, followed by a structured Args section. It is appropriately sized with no redundant sentences, though the parameter explanations 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with 5 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It covers parameters superficially but misses critical behavioral and usage context, 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.
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 notes (e.g., 'optional', 'defaults to SCM_TSG_ID'), adding basic semantics beyond the schema. However, it lacks details on formats (e.g., UUID format, color codes) or constraints, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'an existing tag', making the purpose specific. However, it does not differentiate from sibling tools like 'scm_create_tag' or 'scm_delete_tag' beyond the action, missing explicit contrast in scope or use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'scm_create_tag' for new tags or 'scm_delete_tag' for removal. The description lacks context on prerequisites, dependencies, or typical scenarios for updating tags.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Every tool has a clearly distinct purpose with no ambiguity. The tools follow a consistent pattern of resource type + action (e.g., create_address, get_address, list_addresses), making it easy to distinguish between different operations on different configuration objects. Even with 151 tools, each serves a specific function in the SCM domain.
All tools follow a perfect scm_verb_noun pattern with snake_case throughout. The naming is exceptionally consistent: scm_create_address, scm_get_address, scm_list_addresses, scm_update_address, scm_delete_address, and this pattern repeats across all resource types. There are no deviations in naming conventions.
With 151 tools, this is an extremely large tool surface that will overwhelm agents and cause selection challenges. While the SCM domain is complex, this many tools represents an excessive granularity that exceeds typical agent-friendly scopes (3-15 tools). The count feels heavy and unmanageable despite the comprehensive coverage.
The tool surface provides complete CRUD/lifecycle coverage for the SCM domain across all major resource types. Every configuration object has create, get, list, update, and delete operations where applicable, plus specialized tools like commit, search, move, and associate/disassociate. There are no obvious gaps in the coverage for firewall configuration management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Google GKE MCP server is a managed Model Context Protocol server that provides AI applications with tools to manage Google Kubernetes Engine (GKE) clusters and Kubernetes resources. It exposes a structured, discoverable interface that allows AI agents to interact with GKE and Kubernetes APIs, enabling them to inspect cluster configurations, retrieve Kubernetes resource YAMLs, monitor operations like cluster upgrades, diagnose issues, and optimize costs—all without needing to parse text output or use complex kubectl commands.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ReverseThrottle/scm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server