cisco-secure-access-mcp
This server provides an MCP interface to the Cisco Secure Access REST API, enabling AI clients to manage security infrastructure, policies, and deployments across five categories: Admin, Deployments, Policies, Investigate, and Reports.
Administration
API Keys: List, get, create, refresh (rotate), and delete Secure Access API keys
Alert Rules: List, get, create, and delete alert rules
Tenants: List tenants for multi-org/MSSP environments
Deployments
Network Tunnel Groups: List, get, create, and delete; list available regions
Sites: List, get, create, and delete organizational sites
Networks: List, get, create (by CIDR), and delete networks
Roaming Computers: List (with filters), get, and delete endpoint devices
Policies
Destination Lists: List, get, create, and delete allow/block lists (domains, URLs, IPs, CIDRs, apps)
Destinations: List entries, add, and remove destinations within a list
Access Rules: List, get, create, update, and delete access rules
Application Lists: List, get, create, and delete application lists
Authentication is handled via OAuth 2.0 client credentials with automatic token refresh, and multi-organization support is available via SECURE_ACCESS_ORG_ID.
Provides tools for interacting with Cisco Secure Access REST API, enabling management of admin resources, deployments, investigations, policies, and reports in a Cisco Secure Access environment.
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., "@cisco-secure-access-mcpshow recent security alerts"
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.
cisco-secure-access-mcp
A community Model Context Protocol (MCP) server for Cisco Secure Access.
It exposes the Secure Access REST API to MCP-compatible AI clients (Cursor, Claude Desktop, VS Code GitHub Copilot, etc.) as a curated catalog of tools grouped by Cisco's own resource categories: Admin, Deployments, Investigate, Policies, and Reports.
Status: v1.1 + composites batches 1 & 2 — 5 categories / 44 modules / 185 tools. See
install.mdfor the build journal and per-phase progress.
Why a community DevNet server
This repo is structured to be hosted as a Cisco DevNet community MCP server, following
the CiscoDevNet/devnet-template
layout. The standard template files (AGENTS.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md,
LICENSE, README.md, SECURITY.md) are present and conform to that template.
In addition, install.md is a working journal that captures every step
taken to build the server, troubleshooting notes, and any tools we add as enhancements.
It is intentionally kept in-tree so future contributors can see the reasoning trail.
Related MCP server: Enterprise MCP Gateway and Tool Registry
Quick start
# 1. Clone and install (using uv)
git clone https://github.com/sdntechforum/Secure_Access.git
cd Secure_Access
uv sync
# 2. Provide your Cisco Secure Access API credentials via environment variables
# (Admin > API Keys in the Secure Access dashboard)
export SECURE_ACCESS_API_KEY=...
export SECURE_ACCESS_API_SECRET=...
# 3. Run the server (stdio transport, default)
uv run cisco-secure-access-mcpFor client configuration (Cursor / Claude Desktop / VS Code), Docker usage, the full
list of tools, and the list of supported environment variables, see
AGENTS.md.
Authentication at a glance
OAuth 2.0 Client Credentials Flow against
POST https://api.sse.cisco.com/auth/v2/token.Bearer token cached in memory and refreshed shortly before its 1-hour expiry.
Credentials read from environment variables only — never from CLI flags or committed files.
Multi-org / MSSP supported via
SECURE_ACCESS_ORG_ID(sent asX-Umbrella-OrgId).A separate, optional Key Admin credential pair gates the small set of tools that manage other API keys.
See Cisco Secure Access — API Authentication for how to mint API keys.
Tool catalog
The full catalog of every MCP tool exposed by this server — grouped by Cisco's category taxonomy (Admin / Deployments / Investigate / Policies / Reports), with API path, signature, one-line description, and live verification status for each module — lives in TOOLS.md.
At a glance: 185 tools across 5 categories / 44 modules. 0 prompts, 0 resources — this is a tools-only MCP server.
To regenerate the catalog directly from the registered code (no hand-maintained list to drift):
python scripts/dump_catalog.py # human-readable text
python scripts/dump_catalog.py --json # machine-readable JSONTo re-run the live verification (requires a Cisco Secure Access API key
secret):
pytest -m integration tests/integration/test_list_coverage.py -vStatus note for community evaluators: as of 2026-05-04 a coverage sweep against a real Secure Access tenant found that ~32 of 47 reachable list endpoints return
404 no Route matched, indicating the v1.1API_BASEpaths in many tool modules don't match the live Cisco surface. The auth + client + retry layers are bulletproof (every 2xx exercised them end-to-end), and Admin/Deployments/ Investigate/Policies/Reports each have at least one verified working module. Seeinstall.mdPhase 9 (2026-05-04 follow-up) andTOOLS.mdfor which modules are verified vs. need a path fix. Contributions welcome.
Repo layout
.
├── AGENTS.md # Install + tool catalog + env vars (read this first if you're an AI agent)
├── CODE_OF_CONDUCT.md # Cisco DevNet template (unchanged)
├── CONTRIBUTING.md # Cisco DevNet template (project name filled in)
├── LICENSE # Apache-2.0 (Cisco DevNet template)
├── README.md # this file
├── SECURITY.md # Cisco DevNet template (project name filled in)
├── TOOLS.md # Full tool catalog (185 tools, per-module verification status)
├── install.md # Build journal — phases, troubleshooting, enhancements
├── pyproject.toml # Package metadata + entry point
├── Dockerfile # Optional secondary distribution
├── .env.example # Documented env vars; NEVER real secrets
├── scripts/
│ └── dump_catalog.py # Generates TOOLS.md content from the live registry
├── src/cisco_secure_access_mcp/
│ ├── server.py # FastMCP entrypoint (stdio default)
│ ├── auth.py # OAuth2 client-credentials + token cache
│ ├── client.py # httpx-based REST client (TLS-only, retry-aware)
│ ├── config.py # Env-var loading + validation
│ ├── errors.py # SDK / HTTP errors → MCP errors
│ ├── logging.py # Structured JSON logs with secret redaction
│ ├── registry.py # Discovers and registers tools from each category
│ └── tools/
│ ├── admin/ # admin_* — Admin Resources
│ ├── deployments/ # deploy_* — Deployments Resources
│ ├── investigate/ # investigate_* — Investigate Resources (v1.1)
│ ├── policies/ # policy_* — Policies Resources
│ └── reports/ # report_* — Reports Resources (v1.1)
└── tests/
├── unit/ # Offline; mock HTTP and clock
└── integration/ # Opt-in; requires real DevNet sandbox credentialsRunning the tests
# Unit tests only — fast, fully offline (default)
uv run pytest
# Live smoke tests against a real Secure Access tenant — opt-in only
export SECURE_ACCESS_API_KEY=...
export SECURE_ACCESS_API_SECRET=...
# optional: SECURE_ACCESS_ORG_ID, SECURE_ACCESS_BASE_URL
uv run pytest -m integration tests/integrationThe smoke tests are read-only by design: they exercise list/get endpoints
across each category (and one Investigate domain-categorization call against
cisco.com) and never mutate the org. Override the test domain with
SECURE_ACCESS_INTEGRATION_TEST_DOMAIN=example.com if needed.
Security
This repo follows the security rules in .cursor (parameterization, no hardcoded
credentials, structured logging with redaction, TLS 1.2+ enforcement, distroless-style
container hardening, etc.). To report a vulnerability, see SECURITY.md.
License
Apache License 2.0 — see LICENSE.
Available Tools
42 toolsadmin_create_alert_ruleA
Create an alert rule. definition is a free-form JSON object whose exact schema depends on the alert type — see the Cisco Alerting API reference for the supported triggers and notification channels.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| definition | Yes | Cisco-specific alert rule body. Pass the JSON exactly as documented for the rule type you are creating. | |
| description | No | ||
| enabled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description bears the full burden. It warns that the definition parameter is type-dependent and references external documentation, providing partial transparency. However, it omits response structure, error conditions, and permission 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?
Two sentences, front-loaded with the action, no superfluous words. Every part contributes: purpose first, then critical detail with a pointer to further 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 no annotations, no output schema, and 50% schema coverage, the description adequately covers the core action and tricky parameter but lacks return value, error handling, and permission context. It is sufficient but not 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 50% (name and definition have descriptions; description and enabled lack them). The description adds value by emphasizing the complexity of the definition parameter and directing users to external API docs, but does not elaborate on the other two 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 'Create an alert rule,' which is a specific verb-resource combination. Among sibling tools, only this one creates alert rules; others delete, get, or list, making it distinct.
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. It does not mention exclusions, prerequisites, or context for choosing this over other create tools like admin_create_api_key.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_create_api_keyA
Create a Secure Access API key. The secret value is returned ONCE; store it immediately. Requires Key Admin credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| scopes | Yes | List of OAuth 2.0 scope strings, e.g. 'admin:read', 'deployments:write'. See the Cisco OAuth 2.0 Scopes documentation for the canonical list. | |
| scope_mode | No | Scope mode for the key. Cisco accepts read-only or read-write. | read-only |
| description | No | ||
| expiry_date | No | ISO-8601 date or datetime when the key should expire. Omit for 'never expires'. | |
| network_restrictions | No | Up to 10 IPv4/IPv6 addresses or CIDR blocks. The key will only authenticate requests from these networks. |
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 the one-time secret return and credential requirement, but omits other behavioral traits such as rate limits, idempotency, error scenarios, or whether the secret is returned in the response body or header.
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 extremely concise with three short sentences. It leads with the purpose, then immediately states the critical security warning, and ends with the authentication requirement. No extraneous 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 has 6 parameters (2 required) and no output schema, the description is incomplete. It does not explain what the return value contains beyond the secret (e.g., key ID, creation time), nor does it mention any constraints like uniqueness of name or scope validation.
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 high (83%), with 5 of 6 parameters documented in the schema. The description does not add any additional meaning beyond the schema, so a baseline score of 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 'Create a Secure Access API key,' which is a specific verb and resource. It also provides critical context about the one-time return of the secret. The tool is well-differentiated from siblings like admin_delete_api_key, admin_get_api_key, and admin_refresh_api_key.
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 mentions 'Requires Key Admin credentials' and the one-time secret return, which provides some usage guidance. However, it does not specify when to use this tool versus alternatives (e.g., admin_refresh_api_key for key rotation), nor does it give explicit when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_delete_alert_ruleB
Delete an alert rule by id.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must convey behavioral traits. It only states 'Delete', implying a destructive action, but does not disclose side effects, required permissions, or whether deletion cascades. This is insufficient for an agent to understand the tool's impact.
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 a single sentence with 8 words, conveying the essential purpose without extraneous information. Every word earns its place.
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?
The description is adequate for a simple delete operation with a single parameter and no output schema. However, details on output (e.g., success indication) or error conditions are missing, leaving some 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?
The input schema provides full coverage with a description for the only parameter (rule_id). The description adds no additional meaning beyond what the schema already states, meeting the baseline for high schema coverage.
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'), the resource ('alert rule'), and the identifier method ('by id'). It effectively distinguishes from sibling tools like admin_create_alert_rule and admin_list_alert_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?
No guidance on when to use this tool vs alternatives, such as preconditions (e.g., ensure rule exists) or consequences (e.g., irreversible). The description lacks context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_delete_api_keyB
Delete a Secure Access API key. Requires Key Admin credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that the operation is destructive (delete) and requires credentials, but does not mention consequences like irreversibility, dependencies, or safety nets. For a deletion tool, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, no redundant information, and front-loaded with the action.
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?
The description is adequate for a simple one-parameter deletion tool, but lacks completeness regarding the irreversibility of deletion and any confirmation or success/failure indications. No output schema exists to fill 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 coverage is 100% and describes the parameter as an opaque identifier. The tool description adds no additional meaning or context for the parameter beyond what the 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 'Delete a Secure Access API key', specifying the verb and resource. It distinguishes from sibling tools like create, get, list, and refresh API keys.
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 for deleting an API key and mentions credential requirement ('Requires Key Admin credentials'), but lacks explicit guidance on when to use versus alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_get_alert_ruleB
Get a single alert rule by id.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states 'Get a single alert rule by id' without disclosing that this is a read-only, idempotent operation with no side effects. More detail on behavior is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. While it is concise, it could be slightly more informative without becoming verbose. Still, it earns a high score for 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?
The tool has no output schema, and the description does not explain the return value or format. For a retrieval tool, knowing the output structure is important. The description lacks completeness despite the simple parameter set.
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 input schema has 100% coverage with a description for the only parameter. The tool description adds no extra meaning beyond what the schema already provides, so a baseline score of 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 uses a specific verb 'Get', identifies the resource 'alert rule', and specifies the retrieval method 'by id'. This clearly distinguishes it from sibling tools like 'admin_list_alert_rules' (list) and 'admin_create_alert_rule' (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 does not provide explicit context on when to use this tool versus alternatives. The name implies single retrieval, but no when-not-to-use or prerequisite guidance is given. It receives an adequate score for its implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_get_api_keyB
Get a single Secure Access API key by id (Key Admin credentials).
| Name | Required | Description | Default |
|---|---|---|---|
| api_key_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only mentions credential needs, omitting other important traits like side effects, rate limits, or read-only 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 a single, efficient sentence that is front-loaded with the action and resource, containing no unnecessary words.
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?
With no output schema and no description of return values, the description fails to inform the agent about what the tool returns, which is incomplete for a simple retrieval 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?
The schema provides a comprehensive description for the single parameter, and the tool description adds the credential requirement but no further parameter semantics. Schema coverage is 100%, warranting a baseline of 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 uses the specific verb 'Get' and identifies the resource as a 'single Secure Access API key by id', clearly distinguishing it from sibling tools like admin_list_api_keys. The inclusion of 'Key Admin credentials' adds necessary 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 when a specific API key ID is known and mentions credential requirements, but it does not explicitly state when not to use this tool or suggest alternatives such as admin_list_api_keys for listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_list_alert_rulesB
List the alert rules configured for the organization.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states a generic list action. It does not disclose pagination defaults, rate limits, or any side effects. Since annotations are absent, the description fails to provide essential 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 a single, clear sentence with no wasted words. It is appropriately front-loaded and 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 pagination parameters, the description should mention pagination behavior (e.g., defaults, max results). It omits this critical context, making it incomplete for effective 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?
Input schema has 100% coverage (page and limit descriptions). The description adds no additional meaning beyond the schema, so baseline score of 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 action (list), the resource (alert rules), and the scope (for the organization). It distinguishes from sibling tools like admin_create_alert_rule and admin_get_alert_rule by implying a collection 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?
No guidance is provided on when to use this tool versus alternatives, nor any mention of pagination or filtering behavior. The agent receives no contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_list_api_keysA
List Secure Access API keys in the organization. Requires Key Admin credentials (SECURE_ACCESS_KEY_ADMIN_KEY/SECRET).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions credential requirements but does not disclose other behaviors (e.g., authorization failures, rate limits, or list format). Schema handles pagination, but behavioral details are minimal.
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?
Two sentences, front-loaded with purpose, no redundant information. Every word earns its place.
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 output schema, the description could mention what is returned (e.g., list of API keys). As it stands, it is adequate but lacks that detail. Schema covers parameters well.
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 100% (page and limit have descriptions). The tool description adds no additional parameter meaning beyond what the schema already provides, so 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 'List Secure Access API keys in the organization', which is a specific verb+resource. It distinguishes from sibling tools like admin_create_api_key and admin_delete_api_key.
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 specifies required credentials ('Requires Key Admin credentials'), guiding when to use. It does not explicitly state when not to use or mention alternatives, but the credential requirement provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_list_tenantsA
List the tenants visible to the authenticated parent / provider organization. Use the returned id as SECURE_ACCESS_ORG_ID to scope subsequent calls to a child tenant via X-Umbrella-OrgId.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It omits behavioral traits such as authentication requirements, rate limits, pagination behavior (e.g., total count), or whether results are ordered. Only hints at the output's use via the `id` field.
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?
Two sentences, front-loaded with the main action and followed by usage guidance. No redundant words or filler.
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?
While it explains the utility of the returned `id`, it does not describe the output structure (e.g., fields returned, whether it's a list of objects). Given the lack of output schema, more detail on the return value 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?
Input schema covers both parameters (page, limit) with descriptions. Schema coverage is 100%, so baseline is 3. The description does not add any extra meaning beyond what the schema provides for 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 it lists tenants visible to the authenticated parent/provider organization. It uses a specific verb and resource, and is easily distinguishable from sibling tools which are mostly CRUD operations on different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on using the returned `id` to scope subsequent calls to a child tenant via X-Umbrella-OrgId. No alternative tools exist for this purpose, so no exclusions needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_refresh_api_keyA
Refresh a Secure Access API key (rotates its secret). The new secret is returned ONCE; store it immediately. Requires Key Admin credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It warns that the new secret is returned once and must be stored immediately, and requires Key Admin credentials. This is critical behavioral info 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?
Two sentences, no fluff. First sentence states action, second adds vital warning and credential requirement. Every word earns its place.
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 simple scope (single param, no output schema, no annotations), the description covers purpose, critical behavior (one-time secret return), and prerequisites. Lacks details on response format or side effects, but adequate for the tool's simplicity.
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 single parameter is well-described in the schema. The description adds no additional meaning beyond the schema, which has 100% coverage. 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 refreshes/rotates an API key's secret, distinguishing it from sibling tools like create, delete, list, or get. The verb 'refresh' and resource 'API key' are specific.
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 for rotating secrets and notes credential requirements. While it doesn't explicitly state when not to use it, the context of siblings and purpose makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_create_networkB
Create a Network identified by a CIDR. Both ip_address and prefix_length (or alternatively a cidr string) are validated as syntactically correct before being sent to Cisco.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| cidr | Yes | IPv4 or IPv6 CIDR, e.g. '192.0.2.0/24' or '2001:db8::/32'. | |
| is_verified | No | Whether the network is pre-verified by your team. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions client-side validation ('validated as syntactically correct') but does not disclose idempotency, side effects, permissions, or what happens on duplicate CIDR.
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?
Single sentence with precise wording. 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 3 parameters and full schema coverage, description adequately states core purpose but lacks context on return values (no output schema) or post-creation behavior. Sufficient for a straightforward creation tool but could be improved.
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 coverage is 100% with clear parameter descriptions. However, tool description ambiguously references separate 'ip_address' and 'prefix_length' despite schema having only a single 'cidr' string, potentially confusing the agent. Adds minimal value beyond 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?
Description clearly states action ('Create') and resource ('Network') identified by CIDR. Distinguishes from sibling tools like deploy_delete_network and deploy_get_network.
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 such as deploy_create_site or deploy_create_network_tunnel_group. Missing context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_create_network_tunnel_groupB
Create a Network Tunnel Group. Specify the Cisco Secure Access region name (use deploy_list_regions to enumerate).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| region | Yes | Region name from /deployments/v2/networktunnelgroups/regions. | |
| passphrase | Yes | Tunnel pre-shared key. Use a strong, randomly generated value and rotate it on a schedule; the Secure Access API echoes it on creation only. Do not pass shared/static secrets. | |
| device_type | No | Tunnel device type (e.g. 'asa', 'ftd', 'ios', 'other'). | other |
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 only states 'Create' without disclosing any behavioral traits such as side effects, authentication needs, or limitations. The schema's passphrase description includes security notes, but the tool description does not.
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?
Two sentences, front-loaded with the primary action. No unnecessary words, every sentence earns its place.
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 creates a resource with 4 parameters and no output schema, the description lacks context about what a network tunnel group is, return value, prerequisites, or why/when to use it. Only a region hint is provided.
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?
All 4 parameters are described in the schema (100% coverage), so baseline is 3. The description adds a hint about using deploy_list_regions for region, but this is already in the schema. No additional meaning beyond schema for other 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 'Create a Network Tunnel Group,' which is a specific verb and resource. It distinguishes from sibling tools like deploy_list_network_tunnel_groups or deploy_delete_network_tunnel_group by the action.
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 a hint to use deploy_list_regions for the region name, but does not explain when to use this tool over alternatives or any prerequisites. No when-to-use or when-not-to guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_create_siteC
Create a Site.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description gives no behavioral details beyond creation. No mention of prerequisites, side effects, or safety implications.
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 a single sentence, which is concise but extremely minimal; it could be improved by adding contextual information without becoming verbose.
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 tool with one parameter, the description lacks context about what a 'Site' is, what happens upon creation, or any related considerations. It does not fully inform 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 coverage is 100%, providing a description for the only parameter 'name'. The tool description adds no additional meaning beyond 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 'Create a Site' clearly states the action and resource, but does not differentiate from sibling tools like deploy_get_site or deploy_delete_site.
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 such as deploy_get_site or deploy_list_sites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_delete_networkA
Delete a Network by id.
| Name | Required | Description | Default |
|---|---|---|---|
| network_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It indicates a destructive action but does not mention permanence, dependencies, or recovery. For a simple deletion, this is minimally adequate 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 a single sentence with no extraneous words. It is front-loaded with the action, 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 simplicity (one required parameter, no output schema), the description is mostly complete. However, it could mention that the network must exist or provide error scenarios 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 100%, so the schema already documents the network_id parameter. The tool's description adds no additional meaning beyond 'by id', which is redundant. Baseline of 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 action 'Delete' and the resource 'Network', with the method 'by id'. It effectively distinguishes from sibling tools like deploy_create_network or deploy_get_network.
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 deploy_delete_network_tunnel_group. There are no prerequisites or conditions mentioned, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_delete_network_tunnel_groupB
Delete a Network Tunnel Group by id.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to disclose behavioral traits such as irreversibility, required permissions, or effects on associated resources.
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?
A single sentence that is concise and front-loaded, but could be slightly more informative without adding length.
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?
While the tool is simple, the description lacks behavioral details and usage context, making it minimally adequate but not fully 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 coverage is 100%, and the schema already describes the parameter. The description adds no extra meaning beyond 'by 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 action 'Delete' and the resource 'Network Tunnel Group', distinguishing it from siblings like create, get, or 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?
No guidance on when to use this tool versus alternatives, such as prerequisites or consequences of deletion. The description only states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_delete_roaming_computerA
Delete a Roaming Computer (removes the device from Secure Access; the user will need to re-enroll if they reconnect).
| Name | Required | Description | Default |
|---|---|---|---|
| device_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the full burden of disclosure. It states the destructive action and the consequence of removal. However, it does not mention required permissions or rate limits, but for a simple delete operation, the transparency is adequate.
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 a single sentence that communicates the purpose, action, and consequence without any unnecessary words or repetition.
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 simplicity of the tool (one required parameter, no output schema, no nested objects), the description provides sufficient context about what the tool does and its effect. It meets all functional information needs.
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 input schema covers 100% of the parameter with a description ('Opaque resource identifier returned by Cisco Secure Access'). The description adds no further parameter information beyond the schema. Baseline of 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 action 'Delete' and the resource 'Roaming Computer', and explains the consequence (removes from Secure Access, requiring re-enrollment). This distinguishes it from sibling tools like deploy_get_roaming_computer or deploy_list_roaming_computers.
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 when to use the tool (to remove a roaming computer) and explains the effect on the user (must re-enroll). It does not explicitly state when not to use it or suggest alternatives, making it clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_delete_siteC
Delete a Site by id.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only says 'Delete', implying mutation, but does not state that deletion is permanent, irreversible, or whether it has side effects (e.g., cascading deletions). No mention of authentication requirements or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no extraneous information. It is front-loaded with the action and resource. However, it could benefit from a bit more detail 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?
Given the simplicity (one required parameter, no output schema) and lack of annotations, the description is minimally complete. It conveys the core action but omits context about permanence, failure scenarios, or relationship to other site operations.
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 coverage is 100% with a single parameter fully described in the schema itself (opaque identifier). The description adds no additional meaning beyond the schema, meeting the baseline of 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 it deletes a site by ID, using a specific verb and resource. It distinguishes from sibling tools like deploy_delete_network (different resource) and deploy_get_site (different action). However, it could be more precise about the permanence of deletion.
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 vs alternatives. There is no mention of prerequisites (e.g., site must exist) or when deletion is appropriate compared to other actions like deactivating or archiving. Sibling tools exist for other resources but no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_get_networkA
Get a single Network by id.
| Name | Required | Description | Default |
|---|---|---|---|
| network_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
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 the basic operation but omits details like auth requirements, error handling, or rate limits. For a simple get-by-id, this may be adequate but not exemplary.
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?
A single, clear sentence with no superfluous content. It is perfectly concise 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?
Given the tool's simplicity, the description is mostly complete. However, it lacks any mention of return values or behavior when the ID is invalid. With no output schema, a brief note on the response 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 coverage is 100%, so the schema already documents the parameter. The description adds no new meaning beyond restating 'by id'. Baseline score of 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 action ('Get') and the resource ('a single Network') and the method ('by id'). It effectively distinguishes from sibling tools like deploy_list_networks and deploy_create_network.
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 does not provide explicit guidance on when to use this tool vs alternatives. While the name and simple purpose imply its use case, no direct comparisons or contexts are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_get_network_tunnel_groupB
Get a single Network Tunnel Group by id.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose read-only nature, latency, or any side effects. Minimal behavioral information 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?
Extremely concise one-sentence description with no filler. Lacks structured formatting but efficient for its simplicity.
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?
Missing return value details, usage context (e.g., need group ID from list_), and any prerequisites. For a simple tool with no output schema, more context is needed for smooth 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 has 100% coverage for the single parameter with a description of the value format, but tool description adds no extra meaning. Baseline 3 applies since schema already documents the 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?
Description clearly states the tool retrieves a single resource by identifier, using specific verb and resource name. Differentiates from sibling list_ tool for getting all tunnel 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?
No guidance on when to use this tool vs siblings (e.g., list_ for multiple), prerequisites, or typical workflow. Agent must infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_get_roaming_computerB
Get a single Roaming Computer by id.
| Name | Required | Description | Default |
|---|---|---|---|
| device_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
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's a read operation ('Get'). It does not disclose authentication needs, rate limits, idempotency, or any side effects, which is insufficient for full 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 extremely concise—one sentence of six words—which is efficient but lacks structural detail. It is not verbose, but could benefit from more context without becoming lengthy.
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 (one parameter, no output schema), the description is largely complete. However, it does not mention the return format or any error conditions, which would be helpful for 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 coverage is 100% with the device_id parameter described as 'Opaque resource identifier returned by Cisco Secure Access.' The description adds no additional meaning beyond the schema, meeting the baseline for a single 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 'Get a single Roaming Computer by id.' It uses a specific verb and resource, and the method (by id) distinguishes it from sibling tools like deploy_list_roaming_computers and deploy_delete_roaming_computer.
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 does not mention when to prefer this over deploy_list_roaming_computers or deploy_delete_roaming_computer, nor does it specify any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_get_siteC
Get a single Site by id.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, idempotency, authorization needs, or side effects. The tool is essentially opaque.
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 very short and front-loaded, but it is under-specified. While concise, it sacrifices useful information that could be included without 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?
Given the absence of an output schema and the simple one-parameter input, the description should at least hint at the return value or any constraints. It fails to provide enough context for an agent to fully understand the tool's 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?
The input schema covers 100% of parameters with descriptions. The tool description adds no additional meaning beyond 'by id', so it meets the baseline but provides no extra 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 retrieves a single Site by ID, distinguishing it from list operations. However, it lacks additional context and is minimal.
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 deploy_list_sites. There is no exclusion criteria or context for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_list_networksC
List Networks in the organization.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states 'List Networks' without disclosing pagination, authentication needs, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (4 words), no filler. Cannot be shorter. Front-loaded with purpose.
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?
No output schema, no annotations, and description omits what the response contains (e.g., list of network objects). Incomplete 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 covers both parameters (page, limit) with clear descriptions. Description does not add further meaning beyond the schema, 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?
Description uses clear verb 'List' and resource 'Networks' with scope 'in the organization'. It distinguishes from sibling 'deploy_get_network' (single) and 'deploy_create_network' (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?
No explicit guidance on when to use this vs alternatives like 'deploy_get_network'. Context implies it, but description lacks direct usage cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_list_network_tunnel_groupsB
List the Network Tunnel Groups in the organization.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description only states 'list' with no behavioral details such as return format, pagination behavior, or permissions.
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?
Single sentence with no unnecessary words; front-loaded with verb and resource.
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?
Adequate for a simple list tool with well-described parameters, but lacks context about the resource or return format. Could mention that it returns a list of tunnel groups.
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 already fully describes page and limit parameters (100% coverage). Description adds no extra meaning beyond 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?
Clear verb ('List') and resource ('Network Tunnel Groups'), but does not differentiate from sibling tools like deploy_get_network_tunnel_group or deploy_list_networks.
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 (e.g., when to use list vs. get), or any contextual prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_list_regionsB
List Cisco Secure Access regions available for Network Tunnel Group placement.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. | |
| name_filter | 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 only states the basic function and does not mention pagination behavior, rate limits, idempotency, or what happens with empty results. The schema implies pagination via page and limit parameters, but the description adds no value beyond that.
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 a single sentence that is concise and front-loaded with the key action and resource. No extraneous 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?
The tool has no output schema and no annotations. The description does not explain what the return value contains (e.g., region IDs, names, status), which is essential for the agent to process the response. Given the simplicity of a list operation, the description 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 67% (2 of 3 parameters have descriptions), which is moderate. The description does not mention any parameters or add meaning beyond what the schema provides. The name_filter parameter lacks a description in the schema, and the description does not compensate for this 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 'List' and the resource 'Cisco Secure Access regions' with a specific context 'available for Network Tunnel Group placement'. This distinguishes it from sibling tools like deploy_list_networks and deploy_list_network_tunnel_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 implies usage for listing regions but provides no explicit guidance on when to use this tool vs alternatives, nor any when-not-to-use scenarios. The context is clear from the resource name but lacks exclusionary criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_list_roaming_computersA
List Roaming Computers in the organization, optionally filtered by device name or DNS-layer / SWG status.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. | |
| name | No | ||
| status | No | DNS-layer security status filter. | |
| swg_status | No | Internet security (SWG) status filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description does not disclose any behavioral traits beyond basic listing and filtering. No annotations to compensate; lacks details on pagination, read-only nature, or result format.
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?
Single sentence, concise, and front-loaded with the main action. No wasted words; every part serves a purpose.
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 output schema and no annotations, the description covers the essential purpose and filters. Lacks mention of pagination details or response format, but the schema handles pagination parameters 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 covers 80% of parameters with descriptions. Description adds value by clarifying that 'name' means device name and grouping 'status' and 'swg_status' as DNS-layer/SWG filters, but does not significantly extend schema info.
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?
Clearly states the tool lists roaming computers, with optional filtering by device name or DNS-layer/SWG status. Distinguishes from siblings like deploy_get_roaming_computer (single) and deploy_delete_roaming_computer.
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?
Implies usage for listing with optional filters but provides no explicit when-to-use or alternatives compared to sibling tools. Could mention when to use this vs deploy_get_roaming_computer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_list_sitesB
List the Sites in the organization.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description fails to disclose any behavioral traits such as pagination behavior, authentication requirements, or rate limits. It adds no value beyond the input schema.
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?
Single sentence with no extraneous information. Efficient and to the point.
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 list tool with well-documented parameters, the description is minimally adequate. However, it lacks details about return format and pagination handling, especially given no output schema and 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 coverage is 100%, so the schema already documents page and limit. The description adds no additional meaning. Baseline score of 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 verb 'List', the resource 'Sites', and the scope 'in the organization'. It is unambiguous and distinguishes the tool from siblings that create, delete, or get single sites.
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 vs alternatives like deploy_list_networks, deploy_get_site, etc. The agent receives no context on when listing sites is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_add_destinationsB
Add one or more destinations to a Destination List. Each entry is a dict with at least destination and optional comment.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | Opaque resource identifier returned by Cisco Secure Access. | |
| destinations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavior disclosure. It only reiterates parameter structure, omitting critical details like idempotency, duplicate handling, validation rules, authentication requirements, or rate limits. No explanation of side effects or failure modes.
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 two sentences, front-loaded with the primary action, and each sentence provides essential information without extraneous detail. No wasted words.
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 output schema, the description fails to explain return values, success/failure indicators, or side effects. It does not address the lifecycle (e.g., that the list must exist) or error conditions, leaving significant gaps for an agent to understand the tool's full 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?
The input schema already provides descriptions for both parameters (list_id and destinations' items), achieving 50% coverage. The description adds no new semantic meaning beyond what is in the schema, so 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 action ('Add one or more destinations') and the target resource ('Destination List'), distinguishing it from sibling tools like policy_create_destination_list (creates the list) and policy_remove_destinations (removes destinations).
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 the need for a pre-existing destination list (created by policy_create_destination_list) or when to use policy_remove_destinations instead. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_create_access_ruleC
Create an Access Rule. The definition dict is sent as-is to the Cisco API — see the Access Rules reference for the supported keys (identities, destinations, applications, profiles, schedule, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| definition | Yes | Cisco-specific access rule body. Validate against the Access Rules OpenAPI schema before passing it here. | |
| description | No | ||
| enabled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description only mentions that the definition is passed as-is to the API. It does not disclose mutability, error handling, rate limits, or effects on existing rules.
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?
Two sentences that are concise and front-loaded with the main action. Could benefit from structured formatting 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 of the 'definition' nested object and no output schema or annotations, the description lacks completeness. It fails to describe return values, error conditions, or validation details beyond a reference.
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 50%. The description adds minimal context beyond what is in the schema, primarily directing to external reference for the 'definition' parameter without explaining its 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 'Create an Access Rule' with a specific verb and resource. It distinguishes from sibling tools like policy_update_access_rule and policy_list_access_rules by focusing on 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?
No guidance on when to use this tool over alternatives, such as update or delete. No prerequisites or context for usage beyond the basic creation action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_create_application_listA
Create an Application List. application_ids are Cisco-published internet application identifiers — discover them with policy_list_application_categories (v1.1) or via the Cisco UI.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| application_ids | Yes | List of Cisco internet application ids to include. | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavior. It only says 'Create' but does not mention idempotency, error conditions, permissions, or what happens if the name already exists. This lack of detail limits transparency 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 two sentences, front-loaded with the action, and contains no superfluous words. Every sentence earns its place by clarifying the tool's purpose and a key 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 output schema or annotations, the description covers the basics: what it does and where to get the critical parameter. However, it lacks details about the return value on success, validation rules (e.g., must use valid Cisco IDs), and any post-condition behavior, leaving gaps 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?
Schema description coverage is 67% (name and application_ids have descriptions; description parameter has none). The tool's description adds value by explaining that application_ids are Cisco-published and how to find them, but it does not clarify the description parameter or add constraints beyond 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 'Create an Application List' with a specific verb and resource. It explains that application_ids are Cisco-published identifiers, distinguishing it from sibling tools like list, get, and delete.
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 tells users how to discover application_ids via policy_list_application_categories or the Cisco UI, providing essential guidance for the required parameter. However, it does not explicitly compare when to use this tool versus siblings like creating access rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_create_destination_listA
Create a Destination List. The list access (allow/block) and destination_type are recorded at creation; entries are added separately via policy_add_destinations or in the same call by passing initial_destinations.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| access | Yes | Default action applied to entries in the list. | |
| destination_type | No | What kind of values this list holds. | domain |
| is_global | No | Whether the list is shared org-wide (vs. per-policy). | |
| initial_destinations | No | Optional initial entries to add at creation time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains that access and destination_type are recorded at creation and that entries can be added later or via initial_destinations. Although no annotations are present, it adequately covers creation behavior, though it could mention creation reversibility.
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?
Two sentences, front-loaded with the purpose, and every sentence provides essential information. No fluff or repetition.
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?
The description covers creation and entry addition methods but does not mention the return value (e.g., ID of created list). Given the tool's complexity and lack of output schema, this omission reduces 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 100% schema description coverage, the baseline is 3. The description adds value by explaining the relationship between access, destination_type, and the two ways to add entries, which enriches the schema-provided 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 explicitly states 'Create a Destination List', providing a specific verb and resource. It distinguishes from sibling tools like policy_create_application_list by focusing on destination lists and mentioning entry addition via policy_add_destinations.
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 clearly indicates when to use this tool (to create a list) and mentions alternative tools (policy_add_destinations) for adding entries, guiding the agent on when not to use this tool for that purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_delete_access_ruleB
Delete an Access Rule by id.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a destructive operation but does not explain consequences, required permissions, or irreversibility. With no annotations, 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?
A single, efficient sentence with no unnecessary words. It is perfectly concise for the information it conveys.
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 simplicity of the tool (one parameter, no output schema), the description is minimally adequate. However, missing behavioral details lower 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?
The schema provides a description for the 'rule_id' parameter, achieving 100% coverage. The description adds no extra meaning beyond 'by id', which is already 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 'Delete' and the resource 'Access Rule', specifying deletion by ID. This distinguishes it from sibling tools like create, get, list, and update.
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, no prerequisites or side effects mentioned. The description provides no 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.
policy_delete_application_listB
Delete an Application List by id.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only indicates a destructive operation. Without annotations, it fails to disclose effects like permanence, cascading deletes, or required permissions.
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 extremely concise with a single sentence that conveys the essential information with no wasted words.
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 simplicity of the tool and lack of output schema, the description still lacks important context such as deletion consequences or input validation details, making it 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?
The schema has 100% description coverage for the single parameter. The description adds no additional meaning beyond the schema, so 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 action 'Delete' and the resource 'Application List', and specifies the identifier 'by id'. It distinguishes itself from sibling tools like policy_create_application_list and policy_get_application_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?
No guidance is provided on when to use this tool versus others. It does not mention prerequisites, exclusions, or alternatives such as policy_delete_destination_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_delete_destination_listA
Delete a Destination List by id.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It only states 'Delete' without explaining consequences (e.g., irreversible removal, required permissions, or error conditions). This is insufficient for an AI agent to understand the tool's side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. It effectively communicates the core function without 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?
For a simple delete operation with one parameter and no output schema, the description covers the essential purpose. However, it lacks behavioral context (e.g., confirmation, failure modes) that would make it fully 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?
The input schema has 100% description coverage for the single parameter list_id, which is well-described. The description adds no additional meaning beyond the schema, so a baseline score of 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 'Delete a Destination List by id.' clearly states the action (delete), the resource (Destination List), and the identifier (id). This distinguishes it from sibling tools like policy_create_destination_list or policy_get_destination_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 no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. For a straightforward delete operation, the context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_get_access_ruleA
Get a single Access Rule by id.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite the lack of annotations, the description clearly indicates a read-only retrieval operation through the verb 'Get'. It specifies the key parameter (rule_id), implying the tool returns the rule object. However, it does not mention error handling for missing or invalid ids.
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 a single, efficient sentence that immediately conveys the core purpose. It is front-loaded and contains no extraneous 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 simple one-parameter retrieval tool without an output schema, the description is adequate but not fully complete. It does not describe the structure of the returned Access Rule or mention potential prerequisites like needing an id from 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?
The input schema already has 100% coverage with a detailed description of rule_id as an opaque identifier. The description only reiterates 'by id' without adding new semantic value, so 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 verb 'Get' and the resource 'Access Rule', specifying retrieval by id. It effectively distinguishes from sibling tools like policy_list_access_rules, which retrieves multiple rules, and mutating tools like policy_create_access_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 does not provide any guidance on when to use this tool versus alternatives, such as policy_list_access_rules for retrieving multiple rules or for listing before selecting. There is no mention of prerequisites or context for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_get_application_listA
Get a single Application List by id.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read operation ('Get') but fails to disclose any behavioral traits such as error handling on missing ID, authentication requirements, or rate limits. The minimal description provides insufficient transparency for a safe agent invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous information. It is concise and directly to the point.
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 (single required param, no output schema), the description is somewhat complete. However, it lacks information about the return value or typical behavior (e.g., success/error conditions). A more complete description would mention what the response contains or assume a standard get response.
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 coverage is 100%, and the parameter 'list_id' is described as 'Opaque resource identifier returned by Cisco Secure Access.' This adds some context about the parameter's source beyond the schema's basic type and constraints, but the description does not delve into format or usage details. 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 'Get a single Application List by id.' clearly states the verb (Get), the resource (Application List), and the identifier (by id). It distinguishes this tool from sibling tools like policy_list_application_lists (which retrieves multiple) and policy_create_application_list (which 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 implies usage for retrieving a specific application list by ID, but it does not explicitly state when to use this tool versus alternatives (e.g., list for all, create for new). No when-not or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_get_destination_listA
Get a single Destination List by id.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | Opaque resource identifier returned by Cisco Secure Access. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden for behavioral disclosure. It only states a read operation (get) but omits details like authentication needs, rate limits, or what happens if the ID does not exist. The minimal description leaves significant gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence: 'Get a single Destination List by id.' It is front-loaded and contains no superfluous words, earning its place efficiently.
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 one-parameter get tool with no output schema, the description is mostly complete: it clarifies the action and resource, and the schema documents the parameter. However, it could briefly mention the return value (e.g., 'returns the destination list details') to be fully self-contained.
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 coverage is 100%, with the parameter 'list_id' described as an 'Opaque resource identifier returned by Cisco Secure Access.' The tool description adds no additional parameter meaning beyond what is already in the schema, so a baseline score of 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 'Get a single Destination List by id.' uses a specific verb (get) and resource (Destination List), clearly distinguishing it from sibling tools like policy_list_destination_lists (list all) and policy_create/delete/update (mutations).
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 use for retrieving one list by ID but provides no explicit guidance on when to use it versus alternatives (e.g., policy_list_destination_lists to find IDs, or policy_get_application_list for applications). No when-to-use or when-not-to-use context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_list_access_rulesA
List Access Rules in the organization (paginated).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the burden. It mentions pagination, which is a key behavior, but does not state that it is a read-only operation or disclose any potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the purpose and key behavior (paginated). No extraneous 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 simple list tool, the description is minimally adequate. However, it does not specify that the output contains access rule objects, and lacks details on default ordering or filtering.
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 coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for page and limit 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 lists access rules and specifies pagination, distinguishing it from sibling tools that create, update, or delete access 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?
No explicit guidance on when to use this tool versus alternatives like policy_list_destination_lists or policy_list_application_lists. It is implied for listing access rules, but no when-not-to-use or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_list_application_listsC
List Application Lists in the organization.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description does not disclose that this is a read-only operation or any behavioral traits like pagination details or ordering. For a list tool, minimal transparency is given.
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?
Single sentence, no redundancy. Could be slightly expanded to include behavioral context but remains appropriately concise for a simple list tool.
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 and no output schema, the description fails to mention return format, pagination defaults, or any caveats. Incomplete for a tool with two parameters requiring 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?
Input schema has 100% coverage with descriptions for page and limit parameters. The description adds no additional meaning beyond the schema, so baseline score applies.
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 the resource 'Application Lists' with scope 'in the organization'. It differentiates from siblings like policy_list_destination_lists by naming a distinct 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?
No guidance on when to use this tool versus siblings (e.g., for listing destination lists). The description lacks context on prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_list_destination_listsB
List Destination Lists in the organization.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
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 only states 'List Destination Lists' without disclosing behavior such as read-only nature, permission requirements, pagination handling, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is front-loaded and efficiently conveys the tool's purpose.
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?
The description lacks details about return format, pagination, ordering, or any behavioral context. Given no output schema, this is insufficient for an agent to fully understand the tool's response.
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?
Input schema covers both parameters (page, limit) with descriptions. The tool description adds no extra parameter information, but schema coverage is 100%, so 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?
Description clearly states the tool lists Destination Lists in the organization, which is a specific verb and resource. It is distinct from sibling tools like policy_list_access_rules or policy_list_destinations.
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. Does not mention prerequisites, conditions, or why one would choose this over siblings like policy_get_destination_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_list_destinationsC
List the destinations (entries) in a Destination List.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | Opaque resource identifier returned by Cisco Secure Access. | |
| page | No | Page number (1-based). | |
| limit | No | Page size; many Cisco endpoints cap this at 100 or 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits like read-only nature, required permissions, or response details. It adds no value beyond the schema.
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 a single, clear sentence with no unnecessary words. However, it is very brief and could include more context 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 no output schema and no annotations, the description is insufficient. It does not explain what the response contains, how pagination works, or what constitutes a 'destination' entry. More detail is needed for an agent to fully understand the tool's 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 100%, so the parameters are already well-documented. The description does not add additional meaning or context beyond what the 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 action (list) and the resource (destinations in a Destination List). It distinguishes itself from sibling tools like policy_list_destination_lists, which lists entire destination lists, by focusing on entries within a 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?
No guidance on when to use this tool versus alternatives such as policy_add_destinations or policy_remove_destinations. The description lacks context on 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.
policy_remove_destinationsA
Remove one or more destinations (by their ids) from a Destination List.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | Opaque resource identifier returned by Cisco Secure Access. | |
| destination_ids | Yes | Cisco-assigned destination ids to delete. |
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 only states the basic action without any behavioral context such as side effects (e.g., what happens if a destination ID doesn't exist), permissions required, or confirmation of success. This 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 a single, efficient sentence that conveys the essential information without any wasted words. It is appropriately sized for a simple tool with two 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 low complexity (two parameters, no output schema, no nested objects), the description is adequate for understanding what the tool does. However, it lacks behavioral transparency and usage guidelines, which are needed for 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?
Schema description coverage is 100%, so the schema already documents both parameters. The description does not add additional meaning beyond what the parameter descriptions provide (e.g., 'by their ids' is already implied by the schema). Thus, the description adds minimal value over 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 action (remove), the resource (destinations from a Destination List), and the method (by their ids). It is distinct from siblings like policy_add_destinations or policy_delete_destination_list, which either add destinations or delete entire lists.
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 you need to remove specific destinations from a list, but it does not explicitly state when to use this tool versus alternatives (e.g., policy_delete_destination_list for deleting the entire list, or policy_add_destinations for adding). No exclusion criteria 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.
policy_update_access_ruleA
Update an Access Rule by id with a partial set of fields. Only the keys supplied in patch are sent to Cisco.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | Opaque resource identifier returned by Cisco Secure Access. | |
| patch | Yes | Partial rule body — only changed keys. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses that it is a partial update and only sends supplied keys to Cisco, providing adequate transparency for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second adds critical detail. No wasted words.
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 well-described params, no output schema), the description provides enough context for an agent to use it, though it could mention prerequisites like rule existence.
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 input schema covers both parameters with descriptions (100% coverage). The description adds the context of partial update but does not significantly enhance parameter meaning beyond 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 specifies the action 'Update' on the resource 'Access Rule by id' with a partial set of fields, distinguishing it from sibling tools like create or delete.
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?
It explains that only changed keys are sent, implying partial update semantics, but does not explicitly state when to use versus alternatives like get or delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are cleanly separated by prefixes (admin_, deploy_, policy_) and within each group verbs like list, get, create, delete, update clearly distinguish their purposes. No two tools overlap in functionality.
All tools follow a consistent domain_verb_noun pattern in snake_case (e.g., admin_list_api_keys, deploy_delete_site). No mixing of conventions or ambiguous verb choices.
42 tools is on the higher side but justified given the three distinct domains (admin, deploy, policy) and the breadth of Cisco Secure Access. Each domain has a reasonable number of tools for its scope, though some could be consolidated.
The tool set covers CRUD for most resources but notably lacks update operations for deploy resources (networks, tunnel groups, sites, roaming computers) and for policy destination/application lists. This forces agents to delete and recreate to modify, which is a significant gap.
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
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for AI access to Swagger by SmartBear.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAn MCP server that exposes a 60+ tool security and threat-intel stack to AI agents, enabling secret scanning, Sigma rule generation, ransomware lookup, OSINT, and deep research.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for Cisco Catalyst SD-WAN Manager (vManage) that exposes REST API as tools for AI assistants to query and manage SD-WAN fabric, including device management, monitoring, templates, and policies.8
- FlicenseNot gradedqualityDmaintenanceProduction-grade MCP server that exposes the complete HPE Aruba Networking Central REST API as 90 tools across 19 categories, enabling AI assistants to manage Aruba Central networks.
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/sdntechforum/mcp-secure-access-community'
If you have feedback or need assistance with the MCP directory API, please join our Discord server